Interface
GtkBuildable
Description [src]
interface Gtk.Buildable : GObject.Object
GtkBuildable
allows objects to extend and customize their deserialization
from ui files.
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
XML format or run any extra routines at deserialization time.
Prerequisite
In order to implement Buildable, your type must inherit fromGObject
.
Implementations
- GtkAboutDialog
- GtkActionBar
- GtkAnyFilter
- GtkAppChooserButton
- GtkAppChooserDialog
- GtkAppChooserWidget
- GtkApplicationWindow
- GtkAspectFrame
- GtkAssistant
- GtkBox
- GtkButton
- GtkCalendar
- GtkCellArea
- GtkCellAreaBox
- GtkCellView
- GtkCenterBox
- GtkCheckButton
- GtkColorButton
- GtkColorChooserDialog
- GtkColorChooserWidget
- GtkColorDialogButton
- GtkColumnView
- GtkComboBox
- GtkComboBoxText
- GtkConstraintLayout
- GtkDialog
- GtkDragIcon
- GtkDrawingArea
- GtkDropDown
- GtkEditableLabel
- GtkEmojiChooser
- GtkEntry
- GtkEntryCompletion
- GtkEveryFilter
- GtkExpander
- GtkFileChooserDialog
- GtkFileChooserWidget
- GtkFileFilter
- GtkFixed
- GtkFlowBox
- GtkFlowBoxChild
- GtkFontButton
- GtkFontChooserDialog
- GtkFontChooserWidget
- GtkFontDialogButton
- GtkFrame
- GtkGLArea
- GtkGraphicsOffload
- GtkGrid
- GtkGridView
- GtkHeaderBar
- GtkIconView
- GtkImage
- GtkInfoBar
- GtkInscription
- GtkLabel
- GtkLevelBar
- GtkLinkButton
- GtkListBase
- GtkListBox
- GtkListBoxRow
- GtkListStore
- GtkListView
- GtkLockButton
- GtkMediaControls
- GtkMenuButton
- GtkMessageDialog
- GtkMultiFilter
- GtkMultiSorter
- GtkNotebook
- GtkOverlay
- GtkPageSetupUnixDialog
- GtkPaned
- GtkPasswordEntry
- GtkPicture
- GtkPopover
- GtkPopoverMenu
- GtkPopoverMenuBar
- GtkPrintUnixDialog
- GtkProgressBar
- GtkRange
- GtkRevealer
- GtkScale
- GtkScaleButton
- GtkScrollbar
- GtkScrolledWindow
- GtkSearchBar
- GtkSearchEntry
- GtkSeparator
- GtkShortcutController
- GtkShortcutLabel
- GtkShortcutsGroup
- GtkShortcutsSection
- GtkShortcutsShortcut
- GtkShortcutsWindow
- GtkSizeGroup
- GtkSpinButton
- GtkSpinner
- GtkStack
- GtkStackSidebar
- GtkStackSwitcher
- GtkStatusbar
- GtkStringList
- GtkSwitch
- GtkText
- GtkTextTagTable
- GtkTextView
- GtkToggleButton
- GtkTreeExpander
- GtkTreeStore
- GtkTreeView
- GtkTreeViewColumn
- GtkVideo
- GtkViewport
- GtkVolumeButton
- GtkWidget
- GtkWindow
- GtkWindowControls
- GtkWindowHandle
Interface structure
struct GtkBuildableIface {
GTypeInterface g_iface;
void (* set_id) (
GtkBuildable* buildable,
const char* id
);
const char* (* get_id) (
GtkBuildable* buildable
);
void (* add_child) (
GtkBuildable* buildable,
GtkBuilder* builder,
GObject* child,
const char* type
);
void (* set_buildable_property) (
GtkBuildable* buildable,
GtkBuilder* builder,
const char* name,
const GValue* value
);
GObject* (* construct_child) (
GtkBuildable* buildable,
GtkBuilder* builder,
const char* name
);
gboolean (* custom_tag_start) (
GtkBuildable* buildable,
GtkBuilder* builder,
GObject* child,
const char* tagname,
GtkBuildableParser* parser,
gpointer* data
);
void (* custom_tag_end) (
GtkBuildable* buildable,
GtkBuilder* builder,
GObject* child,
const char* tagname,
gpointer data
);
void (* custom_finished) (
GtkBuildable* buildable,
GtkBuilder* builder,
GObject* child,
const char* tagname,
gpointer data
);
void (* parser_finished) (
GtkBuildable* buildable,
GtkBuilder* builder
);
GObject* (* get_internal_child) (
GtkBuildable* buildable,
GtkBuilder* builder,
const char* childname
);
}
The GtkBuildableIface
interface contains methods that are
necessary to allow GtkBuilder
to construct an object from
a GtkBuilder
UI definition.
Interface members
g_iface |
|
The parent class. |
|
set_id |
|
Stores the id attribute given in the |
|
get_id |
|
The getter corresponding to |
|
add_child |
|
Adds a child. The |
|
set_buildable_property |
|
Sets a property of a buildable object.
It is normally not necessary to implement this, |
|
construct_child |
|
Constructs a child of a buildable that has been
specified as “constructor” in the UI definition. This can be used to
reference a widget created in a |
|
custom_tag_start |
|
Implement this if the buildable needs to parse
content below |
|
custom_tag_end |
|
Called for the end tag of each custom element that is
handled by the buildable (see |
|
custom_finished |
|
Called for each custom tag handled by the buildable
when the builder finishes parsing (see |
|
parser_finished |
|
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. |
|
get_internal_child |
|
Returns an internal child of a buildable.
|
Virtual methods
Gtk.Buildable.add_child
Adds a child to buildable
. type
is an optional string
describing how the child should be added.
Gtk.Buildable.construct_child
Constructs a child of a buildable that has been
specified as “constructor” in the UI definition. This can be used to
reference 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.
Gtk.Buildable.custom_finished
Similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
Gtk.Buildable.get_internal_child
Retrieves the internal child called childname
of the buildable
object.
Gtk.Buildable.parser_finished
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 GtkWidget:visible
property here.
Gtk.Buildable.set_buildable_property
Sets a property of a buildable object.
It is normally not necessary to implement this, g_object_set_property()
is used by default. GtkWindow
implements this to delay showing itself
(i.e. setting the GtkWidget:visible
property) until the whole
interface is created.
Gtk.Buildable.set_id
Stores the id attribute given in the GtkBuilder
UI definition.
GtkWidget
stores the name as object data. Implement this method if your
object has some notion of “ID” and it makes sense to map the XML id
attribute to it.