GtkBuildable
GtkBuildable — Интерфейс для объектов, которые могут быть построены с помощью GtkBuilder
Функции
| 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 () |
Типы и значения
| GtkBuildable | |
| struct | GtkBuildableIface |
Иерархия объектов
GInterface ╰── GtkBuildable
Предварительные требования
GtkBuildable требует GObject.
Известные реализации
GtkBuildable реализован в 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,
Включения
#include <gtk/gtk.h>
Описание
GtkBuildable позволяет объектам расширять и настраивать их десериализацию из описаний пользовательского интерфейса GtkBuilder. Интерфейс включает методы для задания имён и свойств объектов, парсинга пользовательских тегов и создания дочерних объектов.
Интерфейс GtkBuildable реализуется всеми виджетами и многими не-виджетными объектами, предоставляемыми GTK+. Основным пользователем этого интерфейса является GtkBuilder. Приложениям практически не потребуется вызывать какие-либо из этих функций напрямую.
Объекту необходимо реализовать этот интерфейс только в том случае, если он нуждается в расширении формата GtkBuilder или выполнении дополнительных процедур во время десериализации.
Функции
gtk_buildable_set_name ()
void gtk_buildable_set_name (GtkBuildable *buildable,const gchar *name);
Устанавливает имя объекта buildable.
Параметры
buildable | объект GtkBuildable | |
name | имя для установки |
С момента: 2.12
gtk_buildable_get_name ()
const gchar *
gtk_buildable_get_name (GtkBuildable *buildable); Возвращает имя объекта buildable.
GtkBuilder устанавливает имя на основе определения GtkBuilder UI, используемого для построения объекта buildable.
Параметры
buildable | объект GtkBuildable |
Возвращает
установленное с помощью gtk_buildable_set_name() имя.
С момента: 2.12
gtk_buildable_add_child ()
void gtk_buildable_add_child (GtkBuildable *buildable,GtkBuilder *builder,GObject *child,const gchar *type);
Добавляет дочерний элемент к buildable. type - необязательная строка, описывающая, как добавить дочерний элемент.
Параметры
buildable | объект GtkBuildable | |
builder | объект GtkBuilder | |
child | дочерний элемент для добавления | |
type | тип дочернего элемента или | [allow-none] |
С момента: 2.12
gtk_buildable_set_buildable_property ()
void gtk_buildable_set_buildable_property (GtkBuildable *buildable,GtkBuilder *builder,const gchar *name,const GValue *value);
Устанавливает свойство name объекта buildable со значением value.
Параметры
buildable | объект GtkBuildable | |
builder | объект GtkBuilder | |
name | имя свойства | |
value | значение свойства |
С момента: 2.12
gtk_buildable_construct_child ()
GObject * gtk_buildable_construct_child (GtkBuildable *buildable,GtkBuilder *builder,const gchar *name);
Создаёт дочерний элемент buildable с именем name.
GtkBuilder вызывает эту функцию, если в определении интерфейса указан «конструктор».
Параметры
buildable | Объект GtkBuildable | |
builder | GtkBuilder используемый для построения объекта | |
name | имя дочернего элемента для создания |
Возвращает
созданный дочерний элемент.
[transfer full]
С момента: 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);
Вызывается для каждого неизвестного элемента под <child>.
Параметры
buildable | объект GtkBuildable | |
builder | GtkBuilder используемый для построения объекта | |
child | дочерний объект или | [allow-none] |
tagname | имя тега | |
parser | GMarkupParser для заполнения. | [out] |
data | место для данных пользователя, которые будут переданы в функции парсера. | [out] |
С момента: 2.12
gtk_buildable_custom_tag_end ()
void gtk_buildable_custom_tag_end (GtkBuildable *buildable,GtkBuilder *builder,GObject *child,const gchar *tagname,gpointer *data);
Вызывается в конце каждого пользовательского элемента, обработанного объектом buildable.
Параметры
buildable | Объект GtkBuildable | |
builder | GtkBuilder используемый для построения объекта | |
child | дочерний объект или | [allow-none] |
tagname | имя тега | |
data | данные пользователя, передаваемые в функции парсера. | [type gpointer] |
С момента: 2.12
gtk_buildable_custom_finished ()
void gtk_buildable_custom_finished (GtkBuildable *buildable,GtkBuilder *builder,GObject *child,const gchar *tagname,gpointer data);
Это аналогично gtk_buildable_parser_finished(), но вызывается один раз для каждого обработанного пользовательского тега buildable.
Параметры
buildable | объект GtkBuildable | |
builder | объект GtkBuilder | |
child | объект дочернего элемента или | [allow-none] |
tagname | имя тега | |
data | данные пользователя, созданные в custom_tag_start |
С версии: 2.12
gtk_buildable_parser_finished ()
void gtk_buildable_parser_finished (GtkBuildable *buildable,GtkBuilder *builder);
Вызывается при завершении анализа определения пользовательского интерфейса GtkBuilder. Обратите внимание, что это будет вызвано один раз для каждого вызова gtk_builder_add_from_file() или gtk_builder_add_from_string() на объекте билдера.
Параметры
buildable | объект GtkBuildable | |
builder | объект GtkBuilder |
С версии: 2.12
gtk_buildable_get_internal_child ()
GObject * gtk_buildable_get_internal_child (GtkBuildable *buildable,GtkBuilder *builder,const gchar *childname);
Получить внутренний дочерний элемент, называемый childname, объекта buildable.
Параметры
buildable | объект GtkBuildable | |
builder | объект GtkBuilder | |
childname | имя дочернего элемента |
Возвращаемое значение
внутренний дочерний элемент объекта buildable.
[transfer none]
С версии: 2.12
Типы и значения
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);
};
Интерфейс GtkBuildableIface содержит методы, необходимые для того, чтобы GtkBuilder мог создать объект из определения пользовательского интерфейса GtkBuilder.
Члены
| Хранит атрибут имени, заданный в определении пользовательского интерфейса GtkBuilder. GtkWidget хранит имя как данные объекта. Реализуйте этот метод, если ваш объект имеет понятие «имя», и имеет смысл сопоставлять атрибут имени XML с ним. | |
| Метод-получатель, соответствующий | |
| Добавляет дочерний элемент. Параметр | |
| Устанавливает свойство объекта buildable. Обычно нет необходимости реализовывать это, | |
| Создает дочерний элемент buildable, указанный как «конструктор» в определении пользовательского интерфейса. GtkUIManager реализует это для ссылки на виджет, созданный в теге <ui>, который находится за пределами обычной иерархии определения пользовательского интерфейса GtkBuilder. Ссылка на созданный объект возвращается и становится собственностью вызывающей стороны. | |
| Реализуйте это, если buildable необходимо разобрать содержимое ниже <child>. Для обработки элемента реализация должна заполнить | |
| Вызывается для закрывающего тега каждого пользовательского элемента, обработанного buildable (см. | |
| Вызывается для каждого пользовательского тега, обработанного buildable, когда билдер завершает разбор (см. | |
| Вызывается, когда билдер завершает разбор определения пользовательского интерфейса. Обычно нет необходимости реализовывать это, если не требуются специальные действия по очистке. GtkWindow устанавливает свойство “visible” здесь. | |
| Возвращает внутренний дочерний элемент buildable. GtkDialog реализует это для доступа к своему |
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkBuildable.html