## GladePropertyClass

GladePropertyClass — Property Class-wide metadata.

## Functions

GladePropertyClass * | glade_property_class_new ()
GladePropertyClass * | glade_property_class_new_from_spec ()
GladePropertyClass * | glade_property_class_clone ()
void | glade_property_class_free ()
gboolean | glade_property_class_is_visible ()
gboolean | glade_property_class_is_object ()
GValue * | glade_property_class_make_gvalue_from_string ()
gchar * | glade_property_class_make_string_from_gvalue ()
GValue * | glade_property_class_make_gvalue_from_vl ()
void | glade_property_class_set_vl_from_gvalue ()
GValue * | glade_property_class_make_gvalue ()
void | glade_property_class_get_from_gvalue ()
gboolean | glade_property_class_update_from_node ()
GtkAdjustment * | glade_property_class_make_adjustment ()
gboolean | glade_property_class_match ()
gboolean | glade_property_class_void_value ()

## Types and Values

#define | GPC_OBJECT_DELIMITER
#define | GPC_PROPERTY_NAMELEN
| GladePropertyClass

## Description

GladePropertyClass is a structure based on a GParamSpec and parameters from the Glade catalog files and describes how properties are to be handled in Glade; it also provides an interface to convert GValue to strings and va_lists etc (back and forth).

## Functions

### glade_property_class_new ()

    GladePropertyClass *
    glade_property_class_new (GladeWidgetAdaptor *adaptor,
                              const gchar *id);

#### Parameters

adaptor | The GladeWidgetAdaptor to create this property for |
id | the id for the new property class |

#### Returns

a new GladePropertyClass

### glade_property_class_new_from_spec ()

    GladePropertyClass *
    glade_property_class_new_from_spec (GladeWidgetAdaptor *adaptor,
                                        GParamSpec *spec);

#### Parameters

adaptor | A generic pointer (i.e. a GladeWidgetClass) |
spec | A GParamSpec |

#### Returns

a newly created GladePropertyClass based on `spec` or `NULL` if its unsupported.

### glade_property_class_clone ()

    GladePropertyClass *
    glade_property_class_clone (GladePropertyClass *property_class,
                                gboolean reset_version);

#### Parameters

property_class | a GladePropertyClass |
reset_version | whether the introduction version should be reset in the clone |

#### Returns

a new GladePropertyClass cloned from `property_class`

### glade_property_class_free ()

    void
    glade_property_class_free (GladePropertyClass *property_class);

Frees `klass` and its associated memory.

#### Parameters

property_class | a GladePropertyClass |

### glade_property_class_is_visible ()

    gboolean
    glade_property_class_is_visible (GladePropertyClass *property_class);

#### Parameters

property_class | A GladePropertyClass |

#### Returns

whether or not to show this property in the editor

### glade_property_class_is_object ()

    gboolean
    glade_property_class_is_object (GladePropertyClass *property_class);

#### Parameters

property_class | A GladePropertyClass |

#### Returns

whether or not this is an object property that refers to another object in this project.

### glade_property_class_make_gvalue_from_string ()

    GValue *
    glade_property_class_make_gvalue_from_string
                                   (GladePropertyClass *property_class,
                                    const gchar *string,
                                    GladeProject *project);

#### Parameters

property_class | A GladePropertyClass |
string | a string representation of this property |
project | the GladeProject that the property should be resolved for |

#### Returns

A GValue created based on the `property_class` and `string` criteria.

### glade_property_class_make_string_from_gvalue ()

    gchar *
    glade_property_class_make_string_from_gvalue
                                   (GladePropertyClass *property_class,
                                    const GValue *value);

#### Parameters

property_class | A GladePropertyClass |
value | A GValue |

#### Returns

A newly allocated string representation of `value`

### glade_property_class_make_gvalue_from_vl ()

    GValue *
    glade_property_class_make_gvalue_from_vl
                                   (GladePropertyClass *property_class,
                                    va_list vl);

#### Parameters

property_class | A GladePropertyClass |
vl | a va_list holding one argument of the correct type specified by `property_class` |

#### Returns

A GValue created based on the `property_class` and a `vl` arg of the correct type.

### glade_property_class_set_vl_from_gvalue ()

    void
    glade_property_class_set_vl_from_gvalue
                                   (GladePropertyClass *klass,
                                    GValue *value,
                                    va_list vl);

Sets `vl` from `value` based on `klass` criteria.

#### Parameters

klass | A GladePropertyClass |
value | A GValue to set |
vl | a va_list holding one argument of the correct type specified by `klass` |

### glade_property_class_make_gvalue ()

    GValue *
    glade_property_class_make_gvalue (GladePropertyClass *klass,
                                      ...);

#### Parameters

klass | A GladePropertyClass |
... | an argument of the correct type specified by `property_class` |

#### Returns

A GValue created based on the `property_class` and the provided argument.

### glade_property_class_get_from_gvalue ()

    void
    glade_property_class_get_from_gvalue (GladePropertyClass *klass,
                                          GValue *value,
                                          ...);

Assignes the provided return location to `value`

#### Parameters

klass | A GladePropertyClass |
value | A GValue to set |
... | a return location of the correct type |

### glade_property_class_update_from_node ()

    gboolean
    glade_property_class_update_from_node (GladeXmlNode *node,
                                           GType object_type,
                                           GladePropertyClass **property_class,
                                           const gchar *domain);

Updates the `property_class` with the contents of the node in the xml file. Only the values found in the xml file are overridden.

#### Parameters

node | the property node |
object_type | the GType of the owning object |
property_class | a pointer to the property class |
domain | the domain to translate catalog strings from |

#### Returns

`TRUE` on success. `property_class` is set to NULL if the property has Disabled="TRUE".

### glade_property_class_make_adjustment ()

    GtkAdjustment *
    glade_property_class_make_adjustment (GladePropertyClass *property_class);

Creates and appropriate GtkAdjustment for use in the editor

#### Parameters

property_class | a pointer to the property class |

#### Returns

An appropriate GtkAdjustment for use in the Property editor

### glade_property_class_match ()

    gboolean
    glade_property_class_match (GladePropertyClass *klass,
                                GladePropertyClass *comp);

#### Parameters

klass | a GladePropertyClass |
comp | a GladePropertyClass |

#### Returns

whether `klass` and `comp` are a match or not (properties in seperate decendant heirarchies that have the same name are not matches).

### glade_property_class_void_value ()

    gboolean
    glade_property_class_void_value (GladePropertyClass *klass,
                                     GValue *value);

#### Parameters

klass | a GladePropertyClass |

#### Returns

Whether `value` for this `klass` is voided; a voided value can be a `NULL` value for boxed or object type param specs.

## Types and Values

### GPC_OBJECT_DELIMITER

    #define GPC_OBJECT_DELIMITER ", "

### GPC_PROPERTY_NAMELEN

    #define GPC_PROPERTY_NAMELEN 512  /* Enough space for a property name I think */

### GladePropertyClass

    typedef struct _GladePropertyClass GladePropertyClass;