Spec-Zone.ru › GTK 3.24

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
структура 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,

Кнопка регулировки громкости, GtkWidget и GtkWindow.

Файлы заголовков

#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, использованного для построения объекта 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

тип дочернего элемента или NULL.

[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

объект дочернего элемента или NULL для тегов, не являющихся дочерними.

[allow-none]

tagname

имя тега

parser

объект GMarkupParser.

[out]

data

место для хранения пользовательских данных, которые будут переданы функциям анализатора.

[out]

Возвращает

TRUE если у объекта есть собственная реализация, FALSE если нет.

С версии: 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

объект дочернего элемента или NULL для тегов, не являющихся дочерними.

[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

a GtkBuildable

builder

a GtkBuilder

child

объект дочернего элемента или NULL для тегов, не являющихся дочерними.

[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

a GtkBuildable

builder

a GtkBuilder

С: 2.12

gtk_buildable_get_internal_child ()

GObject *
gtk_buildable_get_internal_child (GtkBuildable *buildable,
                                  GtkBuilder *builder,
                                  const gchar *childname);

Получить внутренний дочерний элемент, называемый childname объекта buildable.

Параметры

buildable

a GtkBuildable

builder

a 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.

Члены

set_name ()

Сохраняет атрибут имени, заданный в определении пользовательского интерфейса GtkBuilder. GtkWidget сохраняет имя как данные объекта. Реализуйте этот метод, если ваш объект имеет понятие «имя», и имеет смысл сопоставить атрибут имени XML с ним.

get_name ()

Метод-получатель, соответствующий set_name. Реализуйте этот метод, если реализовали set_name.

add_child ()

Добавляет дочерний элемент. Параметр type может использоваться для различения типа дочернего элемента. GtkContainer реализует это для добавления дочернего виджета в контейнер, GtkNotebook использует type для различения меток страниц (типа "page-label") и обычных дочерних элементов.

set_buildable_property ()

Устанавливает свойство объекта buildable. Обычно реализовывать его не нужно, g_object_set_property() используется по умолчанию. GtkWindow реализует это, чтобы отложить показ (т.е. установку свойства “visible”) до создания всего интерфейса.

construct_child ()

Создает дочерний элемент buildable, указанный как «конструктор» в определении пользовательского интерфейса. GtkUIManager реализует это для ссылки на виджет, созданный в теге <ui>, который находится вне обычной иерархии определения пользовательского интерфейса GtkBuilder. Ссылка на созданный объект возвращается и становится собственностью вызывающего.

custom_tag_start ()

Реализуйте это, если buildable нужно разобрать содержимое под <child>. Для обработки элемента реализация должна заполнить parser и user_data и вернуть TRUE. GtkWidget реализует это для разбора сочетаний клавиш, указанных в элементах <accelerator>. GtkContainer реализует его для сопоставления свойств, определенных через элементы <packing>, с свойствами дочерних элементов. Обратите внимание, что user_data должен быть освобожден в custom_tag_end или custom_finished.

custom_tag_end ()

Вызывается для закрывающего тега каждого пользовательского элемента, который обрабатывается buildable (см. custom_tag_start).

custom_finished ()

Вызывается для каждого обработанного пользовательского тега buildable, когда билдер завершает парсинг (см. custom_tag_start).

parser_finished ()

Вызывается, когда билдер завершает парсинг определения UI. Обычно реализовывать его не нужно, если не требуется специальная очистка. GtkWindow устанавливает здесь свойство “visible”.

get_internal_child ()

Возвращает внутренний дочерний элемент buildable. GtkDialog реализует это для доступа к его vbox, что позволяет добавить дочерние элементы в vbox в определении UI. Реализуйте это, если buildable имеет внутренние дочерние элементы, к которым может потребоваться доступ из определения UI.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API