Glade User Interface Designer Reference Manual | ||||
---|---|---|---|---|
Top | Description |
#define GPC_OBJECT_DELIMITER #define GPC_PROPERTY_NAMELEN GladePropertyClass; GladePropertyClass * glade_property_class_new (gpointer handle
); GladePropertyClass * glade_property_class_new_from_spec (gpointer handle
,GParamSpec *spec
); 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
,GladeProjectFormat fmt
); GValue * glade_property_class_make_gvalue_from_string (GladePropertyClass *property_class
,const gchar *string
,GladeProject *project
,GladeWidget *widget
); gchar * glade_property_class_make_string_from_gvalue (GladePropertyClass *property_class
,const GValue *value
,GladeProjectFormat fmt
); 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
); 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
);
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).
#define GPC_PROPERTY_NAMELEN 512 /* Enough space for a property name I think */
typedef struct { gpointer handle; /* The GladeWidgetAdaptor that this property class * was created for. */ guint16 version_since_major; /* Version in which this property was */ guint16 version_since_minor; /* introduced. */ guint16 builder_since_major; /* Version in which this property became */ guint16 builder_since_minor; /* available in GtkBuilder format */ GParamSpec *pspec; /* The Parameter Specification for this property. */ gchar *id; /* The id of the property. Like "label" or "xpad" * this is a non-translatable string */ gchar *name; /* The name of the property. Like "Label" or "X Pad" * this is a translatable string */ gchar *tooltip; /* The default tooltip for the property editor rows. */ GValue *def; /* The default value for this property (this will exist * as a copy of orig_def if not specified by the catalog) */ GValue *orig_def; /* The real default value obtained through introspection. * (used to decide whether we should write to the * glade file or not, or to restore the loaded property * correctly); all property classes have and orig_def. */ GList *parameters; /* list of GladeParameter objects. This list * provides with an extra set of key-value * pairs to specify aspects of this property. * * This is unused by glade and only maintained * to be of possible use in plugin code. */ gint visible_lines; /* When this pspec calls for a text editor, how many * lines should be visible in the editor. */ /* For catalogs that support libglade: */ guint libglade_only : 1; /* Mark special libglade virtual properties */ guint libglade_unsupported : 1;/* Mark properties that are not available in libglade */ guint virt : 1; /* Whether this is a virtual property with its pspec supplied * via the catalog (or hard code-paths); or FALSE if its a real * GObject introspected property */ guint optional : 1; /* Some properties are optional by nature like * default width. It can be set or not set. A * default property has a check box in the * left that enables/disables the input */ guint optional_default : 1; /* For optional values, what the default is */ guint construct_only : 1; /* Whether this property is G_PARAM_CONSTRUCT_ONLY or not */ guint common : 1; /* Common properties go in the common tab */ guint atk : 1; /* Atk properties go in the atk tab */ guint packing : 1; /* Packing properties go in the packing tab */ guint query : 1; /* Whether we should explicitly ask the user about this property * when instantiating a widget with this property (through a popup * dialog). */ guint translatable : 1; /* The property should be translatable, which * means that it needs extra parameters in the * UI. */ /* These three are the master switches for the glade-file output, * property editor availability & live object updates in the glade environment. */ guint save : 1; /* Whether we should save to the glade file or not * (mostly just for virtual internal glade properties, * also used for properties with generic pspecs that * are saved in custom ways by the plugin) */ guint save_always : 1; /* Used to make a special case exception and always * save this property regardless of what the default * value is (used for some special cases like properties * that are assigned initial values in composite widgets * or derived widget code). */ guint visible : 1; /* Whether or not to show this property in the editor & * reset dialog. */ guint custom_layout : 1; /* Properties marked as custom_layout will not be included * in a base #GladeEditorTable implementation (use this * for properties you want to layout in custom ways in * a #GladeEditable widget */ guint ignore : 1; /* When true, we will not sync the object when the property * changes, or load values from the object. */ guint needs_sync : 1; /* Virtual properties need to be synchronized after object * creation, some properties that are not virtual also need * handling from the backend, if "needs-sync" is true then * this property will by synced with virtual properties. */ guint is_modified : 1; /* If true, this property_class has been "modified" from the * the standard property by a xml file. */ guint themed_icon : 1; /* Some GParamSpecString properties reffer to icon names * in the icon theme... these need to be specified in the * property class definition if proper editing tools are to * be used. */ guint stock_icon : 1; /* String properties can also denote stock icons, including * icons from icon factories... */ guint stock : 1; /* ... or a narrower list of "items" from gtk builtin stock items. */ guint transfer_on_paste : 1; /* If this is a packing prop, * wether we should transfer it on paste. */ guint parentless_widget : 1; /* True if this property should point to a parentless widget * in the project */ gdouble weight; /* This will determine the position of this property in * the editor. */ gchar *create_type; /* If this is an object property and you want the option to create * one from the object selection dialog, then set the name of the * concrete type here. */ } GladePropertyClass;
GladePropertyClass * glade_property_class_new (gpointer handle
);
|
A generic pointer (i.e. a GladeWidgetClass) |
Returns : |
a new GladePropertyClass |
GladePropertyClass * glade_property_class_new_from_spec (gpointer handle
,GParamSpec *spec
);
|
A generic pointer (i.e. a GladeWidgetClass) |
|
A GParamSpec |
Returns : |
a newly created GladePropertyClass based on spec
or NULL if its unsupported.
|
GladePropertyClass * glade_property_class_clone (GladePropertyClass *property_class
);
|
a GladePropertyClass |
Returns : |
a new GladePropertyClass cloned from property_class
|
void glade_property_class_free (GladePropertyClass *property_class
);
Frees klass
and its associated memory.
|
a GladePropertyClass |
gboolean glade_property_class_is_visible (GladePropertyClass *property_class
);
|
A GladePropertyClass |
Returns : |
whether or not to show this property in the editor |
gboolean glade_property_class_is_object (GladePropertyClass *property_class
,GladeProjectFormat fmt
);
|
A GladePropertyClass |
|
the GladeProjectFormat |
Returns : |
whether or not this is an object property that refers to another object in this project. |
GValue * glade_property_class_make_gvalue_from_string (GladePropertyClass *property_class
,const gchar *string
,GladeProject *project
,GladeWidget *widget
);
|
A GladePropertyClass |
|
a string representation of this property |
|
the GladeWidget that the associated property belongs to. |
Returns : |
A GValue created based on the property_class
and string criteria.
|
gchar * glade_property_class_make_string_from_gvalue (GladePropertyClass *property_class
,const GValue *value
,GladeProjectFormat fmt
);
|
A GladePropertyClass |
|
A GValue |
|
The GladeProjectFormat the string should conform to |
Returns : |
A newly allocated string representation of value
|
GValue * glade_property_class_make_gvalue_from_vl (GladePropertyClass *property_class
,va_list vl
);
|
A GladePropertyClass |
|
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.
|
void glade_property_class_set_vl_from_gvalue (GladePropertyClass *klass
,GValue *value
,va_list vl
);
Sets vl
from value
based on klass
criteria.
|
A GladePropertyClass |
|
A GValue to set |
|
a va_list holding one argument of the correct type
specified by klass
|
GValue * glade_property_class_make_gvalue (GladePropertyClass *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.
|
void glade_property_class_get_from_gvalue (GladePropertyClass *klass
,GValue *value
,...
);
Assignes the provided return location to value
|
A GladePropertyClass |
|
A GValue to set |
|
a return location of the correct type |
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.
|
the property node |
|
a GModule to lookup symbols from the plugin |
|
the GType of the owning object |
|
a pointer to the property class |
|
the domain to translate catalog strings from |
Returns : |
TRUE on success. property_class is set to NULL if the property
has Disabled="TRUE".
|
GtkAdjustment * glade_property_class_make_adjustment
(GladePropertyClass *property_class
);
Creates and appropriate GtkAdjustment for use in the editor
|
a pointer to the property class |
Returns : |
An appropriate GtkAdjustment for use in the Property editor |
gboolean glade_property_class_match (GladePropertyClass *klass
,GladePropertyClass *comp
);
|
a GladePropertyClass |
|
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).
|
gboolean glade_property_class_void_value (GladePropertyClass *klass
,GValue *value
);
|
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.
|