## GladePropertyClass

GladePropertyClass — Property Class-wide metadata.

## Synopsis

    #define             GPC_OBJECT_DELIMITER
    #define             GPC_PROPERTY_NAMELEN
    enum                GPCType;
    GladePropertyClass* glade_property_class_new            (gpointer handle);
    GladePropertyClass* glade_property_class_new_from_spec  (gpointer handle,
                                                             GParamSpec *spec);
    GList*              glade_property_class_list_atk_relations
                                                            (gpointer handle,
                                                             GType owner_type);
    GladePropertyClass* glade_property_class_accel_property (gpointer handle,
                                                             GType owner_type);
    GladePropertyClass* glade_property_class_clone          (GladePropertyClass *property_class);
    void                glade_property_class_free           (GladePropertyClass *property_class);
    gboolean            glade_property_class_is_visible     (GladePropertyClass *property_class);
    gboolean            glade_property_class_is_object      (GladePropertyClass *property_class);
    GValue*             glade_property_class_make_gvalue_from_string
                                                            (GladePropertyClass *property_class,
                                                             const gchar *string,
                                                             GladeProject *project);
    gchar*              glade_property_class_make_string_from_gvalue
                                                            (GladePropertyClass *property_class,
                                                             const GValue *value);
    GValue*             glade_property_class_make_gvalue_from_vl
                                                            (GladePropertyClass *property_class,
                                                             va_list vl);
    void                glade_property_class_set_vl_from_gvalue
                                                            (GladePropertyClass *klass,
                                                             GValue *value,
                                                             va_list vl);
    GValue*             glade_property_class_make_gvalue    (GladePropertyClass *klass,
                                                             ...);
    void                glade_property_class_get_from_gvalue
                                                            (GladePropertyClass *klass,
                                                             GValue *value,
                                                             ...);
    gboolean            glade_property_class_update_from_node
                                                            (GladeXmlNode *node,
                                                             GModule *module,
                                                             GType object_type,
                                                             GladePropertyClass **property_class,
                                                             const gchar *domain);
    const gchar*        glade_property_class_get_displayable_value
                                                            (GladePropertyClass *klass,
                                                             gint value);
    GtkAdjustment*      glade_property_class_make_adjustment
                                                            (GladePropertyClass *property_class);
    gboolean            glade_property_class_match          (GladePropertyClass *klass,
                                                             GladePropertyClass *comp);
    gboolean            glade_property_class_void_value     (GladePropertyClass *klass,
                                                             GValue *value);
    const gchar*        glade_property_class_atk_realname   (const gchar *atk_name);

## 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).

## Details

### GPC_OBJECT_DELIMITER

    #define GPC_OBJECT_DELIMITER ", "

### GPC_PROPERTY_NAMELEN

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

### enum GPCType

    typedef enum {
    	GPC_NORMAL,
    	GPC_ATK_PROPERTY,
    	GPC_ATK_RELATION,
    	GPC_ATK_ACTION,
    	GPC_ACCEL_PROPERTY
    } GPCType;

`GPC_NORMAL` | is not an atk property
`GPC_ATK_PROPERTY` | is a property of an AtkImplementor object
`GPC_ATK_RELATION` | is an atk relation set property
`GPC_ATK_ACTION` | is an atk action property
`GPC_ACCEL_PROPERTY` | is an accelerator key property

### glade_property_class_new ()

    GladePropertyClass* glade_property_class_new            (gpointer handle);

`handle` : | A generic pointer (i.e. a GladeWidgetClass)
Returns : | a new GladePropertyClass

### glade_property_class_new_from_spec ()

    GladePropertyClass* glade_property_class_new_from_spec  (gpointer handle,
                                                             GParamSpec *spec);

`handle` : | 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_list_atk_relations ()

    GList*              glade_property_class_list_atk_relations
                                                            (gpointer handle,
                                                             GType owner_type);

`handle` : | A generic pointer (i.e. a GladeWidgetClass)
`owner_type` : | The GType of the owning widget class.
Returns : | a GList of newly created atk relation GladePropertyClass.

### glade_property_class_accel_property ()

    GladePropertyClass* glade_property_class_accel_property (gpointer handle,
                                                             GType owner_type);

`handle` : | A generic pointer (i.e. a GladeWidgetClass)
`owner_type` : | The GType of the owning widget class.
Returns : | a newly created GladePropertyClass for accelerators of the prescribed `owner_type`.

### glade_property_class_clone ()

    GladePropertyClass* glade_property_class_clone          (GladePropertyClass *property_class);

`property_class` : | a GladePropertyClass
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.

`property_class` : | a GladePropertyClass

### glade_property_class_is_visible ()

    gboolean            glade_property_class_is_visible     (GladePropertyClass *property_class);

`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);

`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);

`property_class` : | A GladePropertyClass
`string` : | a string representation of this property
`project` : | the glade project that the associated property belongs to.
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);

`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);

`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.

`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,
                                                             ...);

`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`

`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,
                                                             GModule *module,
                                                             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.

`node` : | the property node
`module` : | a GModule to lookup symbols from the plugin
`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_get_displayable_value ()

    const gchar*        glade_property_class_get_displayable_value
                                                            (GladePropertyClass *klass,
                                                             gint value);

Search a displayable values for `value` in this property class.

`klass` : | the property class to search in
`value` : | the value to search
Returns : | a (gchar *) if a diplayable value was found, otherwise NULL.

### glade_property_class_make_adjustment ()

    GtkAdjustment*      glade_property_class_make_adjustment
                                                            (GladePropertyClass *property_class);

Creates and appropriate GtkAdjustment for use in the editor

`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);

`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);

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

### glade_property_class_atk_realname ()

    const gchar*        glade_property_class_atk_realname   (const gchar *atk_name);

Translates a GladePropertyClass->id to the name that should be saved into the glade file.

`atk_name` : | The id of the atk property
Returns : | a pointer to a constant string.