Spec-Zone.ru › GTK 3.20

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,

GtkVolumeButton, 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 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

тип дочернего элемента или 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 ()

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

get_internal_child ()

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

© 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

Spec-Zone.ru

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