![]() |
![]() |
![]() |
Glade UI Builder Reference Manual | ![]() |
---|
Container ObjectsContainers — How to add support for hierarchic widget relationships |
GtkContainer objects which parent GtkWidget objects have built-in detection in the glade core; but other container relationships may be constructed; if for example you wished to treat a GtkMenuBar --> GtkMenuItem relationship specially in the plugin; Any GObject can parent any GObject. The default GtkContainer --> GtkWidget relationship can also be modified for a GtkContainer derived object.
Child support definitions are identified by the GType of supported child class and are embedded into a glade-widget-class block like so:
<glade-widget-class name="Foo"> <children> <child> <type>Bar</type> ... 'Foo --> Bar' container relationship parameters go here <properties> ... packing property definition for this container relationship </properties> </child> ... more child definitions here ... </children> </glade-widget-class>
Note that you can access and modify and even add virtual packing properties in exactly the same way as previously described with normal object properties.
add-child-function |
A GladeAddChildFunc used to add child objects from parent objects. |
remove-child-function |
A GladeRemoveChildFunc used to remove child objects from parent objects. |
replace-child-function |
A GladeReplaceChildFunc Used to swap placholders with project widgets. |
get-children-function |
A GladeGetChildrenFunc to return a list of children for this container. If you have any anarchist internal children; they should be listed here along with normal children. |
child-set-property-function |
A GladeChildSetPropertyFunc to set a packing property on this child. |
child-get-property-function |
A GladeChildGetPropertyFunc to get a packing property on this child. |
special-child-type |
A special type identifier that will indicate whether this is an alternate child type; such as a notebook tab label or a frame label. The value of special-child-type is the name of the added packing property for this child type; you must then use the type to add children to the "correct port" at load time. Currently this isnt very neatly done; you must do: g_object_set_data (child, "special-child-type", type); when creating special child types and handle it on replace-child; look at glade-gtk.c for examples. |