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 со значением value для объекта buildable.
Параметры
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 | ||
builder | ||
child | объект дочернего элемента или | [allow-none] |
tagname | имя тега | |
data | данные пользователя, созданные в custom_tag_start |
С: 2.12
gtk_buildable_parser_finished ()
void gtk_buildable_parser_finished (GtkBuildable *buildable,GtkBuilder *builder);
Вызывается, когда сборщик завершает разбор определения пользовательского интерфейса GtkBuilder UI definition. Обратите внимание, что это будет вызвано один раз для каждого вызова gtk_builder_add_from_file() или gtk_builder_add_from_string() для сборщика.
Параметры
buildable | ||
builder |
С: 2.12
gtk_buildable_get_internal_child ()
GObject * gtk_buildable_get_internal_child (GtkBuildable *buildable,GtkBuilder *builder,const gchar *childname);
Получить внутренний дочерний элемент, называемый childname объекта buildable.
Параметры
buildable | ||
builder | ||
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.20/GtkBuildable.html