![]() |
![]() |
![]() |
GTK+ Reference Manual | ![]() |
---|---|---|---|---|
#include <gtk/gtk.h> GtkBuildable; GtkBuildableIface; void gtk_buildable_set_name (GtkBuildable *buildable, const gchar *name); const gchar* gtk_buildable_get_name (GtkBuildable *buildable); void gtk_buildable_add_child (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *type); void gtk_buildable_set_buildable_property (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name, const GValue *value); GObject* gtk_buildable_construct_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name); gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, GMarkupParser *parser, gpointer *data); void gtk_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer *data); void gtk_buildable_custom_finished (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer data); void gtk_buildable_parser_finished (GtkBuildable *buildable, GtkBuilder *builder); GObject* gtk_buildable_get_internal_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *childname);
GtkBuildable is implemented by GtkListItem, GtkBin, GtkTreeView, GtkButtonBox, GtkPaned, GtkColorSelectionDialog, GtkVButtonBox, GtkTearoffMenuItem, GtkEntry, GtkOptionMenu, GtkImage, GtkCalendar, GtkFixed, GtkLinkButton, GtkHButtonBox, GtkInputDialog, GtkRadioButton, GtkVRuler, GtkVSeparator, GtkVBox, GtkCurve, GtkRadioToolButton, GtkHRuler, GtkToggleButton, GtkSeparatorMenuItem, GtkHScale, GtkTable, GtkTreeViewColumn, GtkImageMenuItem, GtkFileChooserButton, GtkCheckButton, GtkRadioMenuItem, GtkMenuShell, GtkStatusbar, GtkDrawingArea, GtkButton, GtkIconView, GtkNotebook, GtkUIManager, GtkTree, GtkSocket, GtkVScale, GtkProgress, GtkGammaCurve, GtkText, GtkCList, GtkAlignment, GtkMenuToolButton, GtkMenuItem, GtkPageSetupUnixDialog, GtkRecentChooserMenu, GtkToolItem, GtkHSeparator, GtkProgressBar, GtkCTree, GtkActionGroup, GtkRange, GtkAssistant, GtkFileSelection, GtkToolbar, GtkTreeItem, GtkAccelLabel, GtkPreview, GtkRecentChooserDialog, GtkExpander, GtkScale, GtkTreeStore, GtkMessageDialog, GtkSeparator, GtkLayout, GtkFontSelection, GtkCellView, GtkInvisible, GtkWindow, GtkSeparatorToolItem, GtkFileChooserWidget, GtkCheckMenuItem, GtkToolButton, GtkMisc, GtkEventBox, GtkFontButton, GtkEntryCompletion, GtkDialog, GtkHBox, GtkCombo, GtkOldEditable, GtkAspectFrame, GtkAboutDialog, GtkHScrollbar, GtkListStore, GtkScaleButton, GtkRecentChooserWidget, GtkToggleToolButton, GtkComboBox, GtkVScrollbar, GtkFrame, GtkSpinButton, GtkList, GtkLabel, GtkFontSelectionDialog, GtkTipsQuery, GtkColorSelection, GtkItem, GtkWidget, GtkRecentAction, GtkVolumeButton, GtkMenuBar, GtkTextView, GtkArrow, GtkToggleAction, GtkRadioAction, GtkPlug, GtkHPaned, GtkBox, GtkMenu, GtkAction, GtkPrintUnixDialog, GtkComboBoxEntry, GtkColorButton, GtkPixmap, GtkFileChooserDialog, GtkRuler, GtkVPaned, GtkHandleBox, GtkScrollbar, GtkContainer, GtkSizeGroup, GtkViewport and GtkScrolledWindow.
typedef struct { GTypeInterface g_iface; /* virtual table */ void (* set_name) (GtkBuildable *buildable, const gchar *name); const gchar * (* get_name) (GtkBuildable *buildable); void (* add_child) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *type); void (* set_buildable_property) (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name, const GValue *value); GObject * (* construct_child) (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name); gboolean (* custom_tag_start) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, GMarkupParser *parser, gpointer *data); void (* custom_tag_end) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer *data); void (* custom_finished) (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer data); void (* parser_finished) (GtkBuildable *buildable, GtkBuilder *builder); GObject * (* get_internal_child) (GtkBuildable *buildable, GtkBuilder *builder, const gchar *childname); } GtkBuildableIface;
void gtk_buildable_set_name (GtkBuildable *buildable, const gchar *name);
Sets the name of the buildable object, it's used to synchronize the name if the object already has it's own concept of name.
GtkWidget implements this to map the buildable name to the widget name
buildable : |
a GtkBuildable |
name : |
name to set |
Since 2.12
const gchar* gtk_buildable_get_name (GtkBuildable *buildable);
Returns the buildable name. GtkBuilder sets the name based on the
the GtkBuilder UI definition used
to construct the buildable
.
GtkWidget implements this to map the buildable name to the widget name
buildable : |
a GtkBuildable |
Returns : | the name set with gtk_buildable_set_name()
|
Since 2.12
void gtk_buildable_add_child (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *type);
Add a child to a buildable. type is an optional string describing how the child should be added.
GtkContainer implements this to be able to add a child widget
to the container. GtkNotebook uses the type
to distinguish between
page labels (type
= "page-label") and normal children.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder |
child : |
child to add |
type : |
kind of child or NULL
|
Since 2.12
void gtk_buildable_set_buildable_property (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name, const GValue *value);
Sets the property name name
to value
on the buildable object buildable
which is created by the builder
.
This is optional to implement and is normally not needed.
g_object_set_property()
is used as a fallback.
GtkWindow implements this to delay showing (::visible) itself until the whole interface is fully created.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder |
name : |
name of property |
value : |
value of property |
Since 2.12
GObject* gtk_buildable_construct_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name);
Construct a child of buildable
with the name name
.
GtkUIManager implements this to reference to a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy.
buildable : |
A GtkBuildable |
builder : |
GtkBuilder used to construct this object |
name : |
name of child to construct |
Returns : | the child with name name
|
Since 2.12
gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, GMarkupParser *parser, gpointer *data);
This is called when an unknown tag under <child> tag is found.
Called when an unknown tag is present under a <child> tag.
If the buildable implementation wishes to handle the tag it should
return TRUE
and fill in the parser
structure. Remember to either
implement custom_tag_end or custom_tag_finish to free
the user data allocated here.
GtkWidget implements this and parsers all <accelerator> tags to keyboard accelerators. GtkContainer implements this to map properties defined under <packing> tag to child properties.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder used to construct this object |
child : |
child object or NULL for non-child tags
|
tagname : |
name of tag |
parser : |
a GMarkupParser structure |
data : |
user data that will be passed in to parser functions |
Returns : | TRUE if a object has a custom implementation, FALSE
if it doesn't.
|
Since 2.12
void gtk_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer *data);
This is called for each custom tag handled by the buildable. It will be called when the end of the tag is reached.
buildable : |
A GtkBuildable |
builder : |
GtkBuilder used to construct this object |
child : |
child object or NULL for non-child tags
|
tagname : |
name of tag |
data : |
user data that will be passed in to parser functions |
Since 2.12
void gtk_buildable_custom_finished (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer data);
This is similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder |
child : |
child object or NULL for non-child tags
|
tagname : |
the name of the tag |
data : |
user data created in custom_tag_start |
Since 2.12
void gtk_buildable_parser_finished (GtkBuildable *buildable, GtkBuilder *builder);
Finish the parsing of a GtkBuilder UI definition snippet. Note that this will be called once for each time gtk_builder_add_from_file or gtk_builder_add_from_string is called on a builder.
GtkWindow implements this to delay showing (::visible) itself until the whole interface is fully created.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder |
Since 2.12
GObject* gtk_buildable_get_internal_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *childname);
Get the internal child called childname
of the buildable
object.
buildable : |
a GtkBuildable |
builder : |
a GtkBuilder |
childname : |
name of child |
Returns : | the internal child of the buildable object |
Since 2.12