GtkBuildable
GtkBuildable — Interface for objects that can be built by GtkBuilder
Functions
void | gtk_buildable_set_name () |
const gchar * | gtk_buildable_get_name () |
void | gtk_buildable_add_child () |
void | gtk_buildable_set_buildable_property () |
GObject * | gtk_buildable_construct_child () |
gboolean | gtk_buildable_custom_tag_start () |
void | gtk_buildable_custom_tag_end () |
void | gtk_buildable_custom_finished () |
void | gtk_buildable_parser_finished () |
GObject * | gtk_buildable_get_internal_child () |
Types and Values
GtkBuildable | |
struct | GtkBuildableIface |
Object Hierarchy
GInterface ╰── GtkBuildable
Prerequisites
GtkBuildable requires GObject.
Known Implementations
GtkBuildable is implemented by GtkAboutDialog, GtkAccelLabel, GtkAction, GtkActionBar, GtkActionGroup, GtkAlignment, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkArrow, GtkAspectFrame, GtkAssistant, GtkBin, GtkBox, GtkButton, GtkButtonBox, GtkCalendar, GtkCellArea, GtkCellAreaBox, GtkCellView, GtkCheckButton, GtkCheckMenuItem, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColorSelection, GtkColorSelectionDialog, GtkComboBox, GtkComboBoxText, GtkContainer, GtkDialog, GtkDrawingArea, GtkEntry, GtkEntryCompletion, GtkEventBox, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileFilter, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFontSelection, GtkFontSelectionDialog, GtkFrame, GtkGLArea, GtkGrid, GtkHBox, GtkHButtonBox, GtkHPaned, GtkHSV, GtkHScale, GtkHScrollbar, GtkHSeparator, GtkHandleBox, GtkHeaderBar, GtkIconFactory, GtkIconView, GtkImage, GtkImageMenuItem, GtkInfoBar, GtkInvisible, GtkLabel, GtkLayout, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListStore, GtkLockButton, GtkMenu, GtkMenuBar, GtkMenuButton, GtkMenuItem, GtkMenuShell, GtkMenuToolButton, GtkMessageDialog, GtkMisc, GtkModelButton, GtkNotebook, GtkOffscreenWindow, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPlacesSidebar, GtkPlug, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkProgressBar, GtkRadioAction, GtkRadioButton, GtkRadioMenuItem, GtkRadioToolButton, GtkRange, GtkRecentAction, GtkRecentChooserDialog, GtkRecentChooserMenu, GtkRecentChooserWidget, GtkRecentFilter, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkSeparatorMenuItem, GtkSeparatorToolItem, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSizeGroup, GtkSocket, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkTable, GtkTearoffMenuItem, GtkTextTagTable, GtkTextView, GtkToggleAction, GtkToggleButton, GtkToggleToolButton, GtkToolButton, GtkToolItem, GtkToolItemGroup, GtkToolPalette, GtkToolbar, GtkTreeStore, GtkTreeView, GtkTreeViewColumn, GtkUIManager, GtkVBox, GtkVButtonBox, GtkVPaned, GtkVScale, GtkVScrollbar, GtkVSeparator, GtkViewport, GtkVolumeButton, GtkWidget and GtkWindow.
Includes
#include <gtk/gtk.h>
Description
GtkBuildable allows objects to extend and customize their deserialization from GtkBuilder UI descriptions. The interface includes methods for setting names and properties of objects, parsing custom tags and constructing child objects.
The GtkBuildable interface is implemented by all widgets and many of the non-widget objects that are provided by GTK+. The main user of this interface is GtkBuilder. There should be very little need for applications to call any of these functions directly.
An object only needs to implement this interface if it needs to extend the GtkBuilder format or run any extra routines at deserialization time.
Functions
gtk_buildable_set_name ()
void gtk_buildable_set_name (GtkBuildable *buildable
,const gchar *name
);
Sets the name of the buildable
object.
Parameters
buildable | ||
name | name to set |
Since: 2.12
gtk_buildable_get_name ()
const gchar *
gtk_buildable_get_name (GtkBuildable *buildable
);
Gets the name of the buildable
object.
GtkBuilder sets the name based on the GtkBuilder UI definition used to construct the buildable
.
Parameters
buildable |
Returns
the name set with gtk_buildable_set_name()
Since: 2.12
gtk_buildable_add_child ()
void gtk_buildable_add_child (GtkBuildable *buildable
,GtkBuilder *builder
,GObject *child
,const gchar *type
);
Adds a child to buildable
. type
is an optional string describing how the child should be added.
Parameters
buildable | ||
builder | ||
child | child to add | |
type | kind of child or | [allow-none] |
Since: 2.12
gtk_buildable_set_buildable_property ()
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.
Parameters
buildable | ||
builder | ||
name | name of property | |
value | value of property |
Since: 2.12
gtk_buildable_construct_child ()
GObject * gtk_buildable_construct_child (GtkBuildable *buildable
,GtkBuilder *builder
,const gchar *name
);
Constructs a child of buildable
with the name name
.
GtkBuilder calls this function if a “constructor” has been specified in the UI definition.
Parameters
buildable | ||
builder | GtkBuilder used to construct this object | |
name | name of child to construct |
Returns
the constructed child.
[transfer full]
Since: 2.12
gtk_buildable_custom_tag_start ()
gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable
,GtkBuilder *builder
,GObject *child
,const gchar *tagname
,GMarkupParser *parser
,gpointer *data
);
This is called for each unknown element under <child>.
Parameters
buildable | ||
builder | a GtkBuilder used to construct this object | |
child | child object or | [allow-none] |
tagname | name of tag | |
parser | a GMarkupParser to fill in. | [out] |
data | return location for user data that will be passed in to parser functions. | [out] |
Returns
TRUE
if a object has a custom implementation, FALSE
if it doesn't.
Since: 2.12
gtk_buildable_custom_tag_end ()
void gtk_buildable_custom_tag_end (GtkBuildable *buildable
,GtkBuilder *builder
,GObject *child
,const gchar *tagname
,gpointer *data
);
This is called at the end of each custom element handled by the buildable.
Parameters
buildable | ||
builder | GtkBuilder used to construct this object | |
child | child object or | [allow-none] |
tagname | name of tag | |
data | user data that will be passed in to parser functions. | [type gpointer] |
Since: 2.12
gtk_buildable_custom_finished ()
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
.
Parameters
buildable | ||
builder | ||
child | child object or | [allow-none] |
tagname | the name of the tag | |
data | user data created in custom_tag_start |
Since: 2.12
gtk_buildable_parser_finished ()
void gtk_buildable_parser_finished (GtkBuildable *buildable
,GtkBuilder *builder
);
Called when the builder finishes the parsing of a GtkBuilder UI definition. 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.
Parameters
buildable | ||
builder |
Since: 2.12
gtk_buildable_get_internal_child ()
GObject * gtk_buildable_get_internal_child (GtkBuildable *buildable
,GtkBuilder *builder
,const gchar *childname
);
Get the internal child called childname
of the buildable
object.
Parameters
buildable | ||
builder | ||
childname | name of child |
Returns
the internal child of the buildable object.
[transfer none]
Since: 2.12
Types and Values
GtkBuildable
typedef struct _GtkBuildable GtkBuildable;
struct GtkBuildableIface
struct GtkBuildableIface { 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); };
The GtkBuildableIface interface contains method that are necessary to allow GtkBuilder to construct an object from a GtkBuilder UI definition.
Members
| Stores the name attribute given in the GtkBuilder UI definition. GtkWidget stores the name as object data. Implement this method if your object has some notion of “name” and it makes sense to map the XML name attribute to it. | |
| The getter corresponding to | |
| Adds a child. The | |
| Sets a property of a buildable object. It is normally not necessary to implement this, | |
| Constructs a child of a buildable that has been specified as “constructor” in the UI definition. GtkUIManager implements this to reference to a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy. A reference to the constructed object is returned and becomes owned by the caller. | |
| Implement this if the buildable needs to parse content below <child>. To handle an element, the implementation must fill in the | |
| Called for the end tag of each custom element that is handled by the buildable (see | |
| Called for each custom tag handled by the buildable when the builder finishes parsing (see | |
| Called when a builder finishes the parsing of a UI definition. It is normally not necessary to implement this, unless you need to perform special cleanup actions. GtkWindow sets the “visible” property here. | |
| Returns an internal child of a buildable. GtkDialog implements this to give access to its |
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkBuildable.html