Spec-Zone.ru › GTK 4.0

GtkNotebook

GtkNotebook — Контейнер с вкладками

Функции

GtkWidget * gtk_notebook_new ()
GtkNotebookPage * gtk_notebook_get_page ()
GListModel * gtk_notebook_get_pages ()
GtkWidget * gtk_notebook_page_get_child ()
int gtk_notebook_append_page ()
int gtk_notebook_append_page_menu ()
int gtk_notebook_prepend_page ()
int gtk_notebook_prepend_page_menu ()
int gtk_notebook_insert_page ()
int gtk_notebook_insert_page_menu ()
void gtk_notebook_remove_page ()
void gtk_notebook_detach_tab ()
int gtk_notebook_page_num ()
void gtk_notebook_next_page ()
void gtk_notebook_prev_page ()
void gtk_notebook_reorder_child ()
void gtk_notebook_set_tab_pos ()
void gtk_notebook_set_show_tabs ()
void gtk_notebook_set_show_border ()
void gtk_notebook_set_scrollable ()
void gtk_notebook_popup_enable ()
void gtk_notebook_popup_disable ()
int gtk_notebook_get_current_page ()
GtkWidget * gtk_notebook_get_menu_label ()
GtkWidget * gtk_notebook_get_nth_page ()
int gtk_notebook_get_n_pages ()
GtkWidget * gtk_notebook_get_tab_label ()
void gtk_notebook_set_menu_label ()
void gtk_notebook_set_menu_label_text ()
void gtk_notebook_set_tab_label ()
void gtk_notebook_set_tab_label_text ()
void gtk_notebook_set_tab_reorderable ()
void gtk_notebook_set_tab_detachable ()
const char * gtk_notebook_get_menu_label_text ()
gboolean gtk_notebook_get_scrollable ()
gboolean gtk_notebook_get_show_border ()
gboolean gtk_notebook_get_show_tabs ()
const char * gtk_notebook_get_tab_label_text ()
GtkPositionType gtk_notebook_get_tab_pos ()
gboolean gtk_notebook_get_tab_reorderable ()
gboolean gtk_notebook_get_tab_detachable ()
void gtk_notebook_set_current_page ()
void gtk_notebook_set_group_name ()
const char * gtk_notebook_get_group_name ()
void gtk_notebook_set_action_widget ()
GtkWidget * gtk_notebook_get_action_widget ()

Свойства

gboolean enable-popup Чтение / Запись
char * group-name Чтение / Запись
int page Чтение / Запись
GListModel * pages Чтение
gboolean scrollable Чтение / Запись
gboolean show-border Чтение / Запись
gboolean show-tabs Чтение / Запись
GtkPositionType tab-pos Чтение / Запись
GtkWidget * child Чтение / Запись / Только для создания
gboolean detachable Чтение / Запись
GtkWidget * menu Чтение / Запись / Только для создания
char * menu-label Чтение / Запись
int position Чтение / Запись
gboolean reorderable Чтение / Запись
GtkWidget * tab Чтение / Запись / Только для создания
gboolean tab-expand Чтение / Запись
gboolean tab-fill Чтение / Запись
char * tab-label Чтение / Запись

Сигналы

gboolean change-current-page Действие
GtkNotebook* create-window Выполнить последним
gboolean focus-tab Действие
void move-focus-out Действие
void page-added Выполнить последним
void page-removed Выполнить последним
void page-reordered Выполнить последним
gboolean reorder-tab Действие
gboolean select-page Действие
void switch-page Выполнить последним

Действия

menu.popup

Типы и значения

GtkNotebook
GtkNotebookPage
перечисление GtkNotebookTab

Иерархия объектов

    GObject
    ├── GInitiallyUnowned
    │   ╰── GtkWidget
    │       ╰── GtkNotebook
    ╰── GtkNotebookPage

Реализованные интерфейсы

GtkNotebook реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

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

#include <gtk/gtk.h>

Описание

Виджет GtkNotebook — это контейнер для компоновки, содержащий страницы, которые можно переключать с помощью ярлыков вкладок вдоль одного края.

Для GtkNotebook доступно множество настроек. В частности, вы можете выбрать, с какой стороны будут отображаться вкладки (см. gtk_notebook_set_tab_pos()), нужно ли делать виджет больше, если вкладок слишком много, или добавить стрелки прокрутки (см. gtk_notebook_set_scrollable()), и будет ли всплывающее меню, позволяющее пользователям переключать страницы. (см. gtk_notebook_popup_enable(), gtk_notebook_popup_disable())

GtkNotebook как GtkBuildable

Реализация GtkNotebook интерфейса GtkBuildable поддерживает размещение элементов на вкладках, задавая атрибут “type” элемента <child> как “tab”. Обратите внимание, что содержимое вкладки должно быть создано перед тем, как вкладка может быть заполнена. Элемент вкладки может быть указан без указания атрибута типа <child>.

Чтобы добавить элемент виджета в область действий блокнота, укажите "action-start" или “action-end” в качестве атрибута “type” элемента <child>.

Пример фрагмента определения пользовательского интерфейса с GtkNotebook:

CSS узлы

GtkNotebook имеет основной CSS узел с именем notebook, подразумевающий узел с именем header и под ним узел с именем tabs, содержащий по одному узлу на вкладку с именем tab.

Если присутствуют виджеты действий, их CSS узлы размещаются рядом с узлом tabs. Если блокнот имеет возможность прокрутки, CSS узлы с именем arrow помещаются в качестве первого и последнего ребенка узла tabs.

Главный узел получает класс стиля .frame когда блокнот имеет рамку (см. gtk_notebook_set_show_border()).

Узел заголовка получает один из классов стиля .top, .bottom, .left или .right, в зависимости от того, где размещены вкладки. Для переупорядочиваемых страниц узел вкладки получает класс .reorderable-page.

Узел tab получает класс стиля .dnd во время перемещения с помощью перетаскивания.

Узлы всегда упорядочиваются слева направо, независимо от направления текста.

Доступность

GtkNotebook использует следующие роли:

  • GTK_ACCESSIBLE_ROLE_GROUP для виджета блокнота

  • GTK_ACCESSIBLE_ROLE_TAB_LIST для списка вкладок

  • GTK_ACCESSIBLE_ROLE_TAB роль для каждой вкладки

  • GTK_ACCESSIBLE_ROLE_TAB_PANEL для каждой страницы

Функции

gtk_notebook_new ()

GtkWidget *
gtk_notebook_new (void);

Создаёт новый виджет GtkNotebook без страниц.

Возвращает

новый созданный виджет GtkNotebook

gtk_notebook_get_page ()

GtkNotebookPage *
gtk_notebook_get_page (GtkNotebook *notebook,
                       GtkWidget *child);

Возвращает GtkNotebookPage для child.

Параметры

notebook

виджет GtkNotebook

child

дочерний элемент notebook

Возвращает

GtkNotebookPage для child.

[transfer none]

gtk_notebook_get_pages ()

GListModel *
gtk_notebook_get_pages (GtkNotebook *notebook);

Возвращает GListModel, содержащий страницы виджета, что позволяет поддерживать актуальный вид.

Параметры

notebook

виджет GtkNotebook

Возвращает

GListModel для дочерних элементов виджета.

[transfer full][attributes element-type=GtkNotebookPage]

gtk_notebook_page_get_child ()

GtkWidget *
gtk_notebook_page_get_child (GtkNotebookPage *page);

Возвращает дочерний элемент виджета, которому принадлежит page.

Параметры

page

GtkNotebookPage

Возвращает

дочерний элемент, которому принадлежит page.

[transfer none]

gtk_notebook_append_page ()

int
gtk_notebook_append_page (GtkNotebook *notebook,
                          GtkWidget *child,
                          GtkWidget *tab_label);

Добавляет страницу к notebook.

Параметры

notebook

виджет GtkNotebook

child

GtkWidget для содержимого страницы

tab_label

GtkWidget в качестве метки страницы, или NULL для использования метки по умолчанию, «страница N».

[allow-none]

Возвращает

индекс (начиная с 0) добавленной страницы в виджете, или -1 при ошибке

gtk_notebook_append_page_menu ()

int
gtk_notebook_append_page_menu (GtkNotebook *notebook,
                               GtkWidget *child,
                               GtkWidget *tab_label,
                               GtkWidget *menu_label);

Добавляет страницу к notebook, указывая виджет для использования в контекстном меню.

Параметры

notebook

виджет GtkNotebook

child

GtkWidget для содержимого страницы

tab_label

GtkWidget для метки страницы, или NULL для использования метки по умолчанию, «страница N».

[allow-none]

menu_label

виджет в качестве метки для контекстного меню переключения страниц, если оно включено. Если NULL, и tab_label это GtkLabel или NULL, то метка меню будет вновь созданным меткой с тем же текстом, что и в tab_label; если tab_label не является GtkLabel, menu_label необходимо указать, если требуется контекстное меню переключения страниц.

[allow-none]

Возвращает

индекс (начиная с 0) добавленной страницы в виджете, или -1 при ошибке

gtk_notebook_prepend_page ()

int
gtk_notebook_prepend_page (GtkNotebook *notebook,
                           GtkWidget *child,
                           GtkWidget *tab_label);

Вставляет страницу в начало notebook.

Параметры

notebook

виджет GtkNotebook

child

GtkWidget для содержимого страницы

tab_label

GtkWidget в качестве метки страницы, или NULL для использования метки по умолчанию, «страница N».

[allow-none]

Возвращает

индекс (начиная с 0) вставленной страницы в виджет, или -1 при ошибке

gtk_notebook_prepend_page_menu ()

int
gtk_notebook_prepend_page_menu (GtkNotebook *notebook,
                                GtkWidget *child,
                                GtkWidget *tab_label,
                                GtkWidget *menu_label);

Вставляет страницу в начало notebook, указывая виджет для использования в контекстном меню.

Параметры

notebook

виджет GtkNotebook

child

GtkWidget для содержимого страницы

tab_label

GtkWidget для метки страницы, или NULL для использования метки по умолчанию, «страница N».

[allow-none]

menu_label

виджет в качестве метки для контекстного меню переключения страниц, если оно включено. Если NULL, и tab_label это GtkLabel или NULL, то метка меню будет вновь созданным меткой с тем же текстом, что и в tab_label; если tab_label не является GtkLabel, menu_label необходимо указать, если требуется контекстное меню переключения страниц.

[allow-none]

Возвращает

индекс (начиная с 0) вставленной страницы в виджет, или -1 при ошибке

gtk_notebook_insert_page ()

int
gtk_notebook_insert_page (GtkNotebook *notebook,
                          GtkWidget *child,
                          GtkWidget *tab_label,
                          int position);

Вставить страницу в notebook в заданной позиции.

Параметры

notebook

a GtkNotebook

child

the GtkWidget для использования в качестве содержимого страницы

tab_label

the GtkWidget для использования в качестве метки страницы, или NULL для использования метки по умолчанию, «страница N».

[allow-none]

position

индекс (начиная с 0), в который следует вставить страницу, или -1 для добавления страницы после всех других страниц

Возвращаемое значение

индекс (начиная с 0) вставленной страницы в блокноте, или -1, если функция завершилась ошибкой

gtk_notebook_insert_page_menu ()

int
gtk_notebook_insert_page_menu (GtkNotebook *notebook,
                               GtkWidget *child,
                               GtkWidget *tab_label,
                               GtkWidget *menu_label,
                               int position);

Вставляет страницу в notebook в заданной позиции, указывая виджет для использования в качестве метки в всплывающем меню.

Параметры

notebook

a GtkNotebook

child

the GtkWidget to use as the contents of the page

tab_label

the GtkWidget for use as the label for the page, or NULL to use the default label, “page N”.

[allow-none]

menu_label

the widget to use as a label for the page-switch menu, if that is enabled. If NULL, and tab_label is a GtkLabel or NULL, then the menu label will be a newly created label with the same text as tab_label ; if tab_label is not a GtkLabel, menu_label must be specified if the page-switch menu is to be used.

[allow-none]

position

index (starting at 0) for inserting the page, or -1 to append the page after other pages.

Возвращаемое значение

индекс (начиная с 0) вставленной страницы в блокноте.

gtk_notebook_remove_page ()

void
gtk_notebook_remove_page (GtkNotebook *notebook,
                          int page_num);

Удаляет страницу из блокнота по заданному индексу в блокноте.

Параметры

notebook

a GtkNotebook

page_num

индекс страницы блокнота, начиная с 0. Если -1, будет удалена последняя страница.

gtk_notebook_detach_tab ()

void
gtk_notebook_detach_tab (GtkNotebook *notebook,
                         GtkWidget *child);

Удаляет дочерний элемент из блокнота.

Эта функция очень похожа на gtk_notebook_remove_page(), но дополнительно сообщает блокноту, что удаление происходит в рамках операции перетаскивания вкладки, которая не должна отменяться.

Параметры

notebook

a GtkNotebook

child

дочерний элемент

gtk_notebook_page_num ()

int
gtk_notebook_page_num (GtkNotebook *notebook,
                       GtkWidget *child);

Определяет индекс страницы, содержащей данный виджет дочернего элемента.

Параметры

notebook

a GtkNotebook

child

a GtkWidget

Возвращаемое значение

индекс страницы, содержащей child, или -1, если child не находится в блокноте.

gtk_notebook_next_page ()

void
gtk_notebook_next_page (GtkNotebook *notebook);

Переключается на следующую страницу. Ничего не происходит, если текущая страница — последняя.

Параметры

notebook

a GtkNotebook

gtk_notebook_prev_page ()

void
gtk_notebook_prev_page (GtkNotebook *notebook);

Переключается на предыдущую страницу. Ничего не происходит, если текущая страница — первая.

Параметры

notebook

a GtkNotebook

gtk_notebook_reorder_child ()

void
gtk_notebook_reorder_child (GtkNotebook *notebook,
                            GtkWidget *child,
                            int position);

Изменяет порядок страницы, содержащей child, так, чтобы она отображалась в позиции position. Если position больше или равно количеству дочерних элементов в списке или отрицательно, child будет перемещена в конец списка.

Параметры

notebook

a GtkNotebook

child

перемещаемый дочерний элемент

position

новая позиция, или -1 для перемещения в конец

gtk_notebook_set_tab_pos ()

void
gtk_notebook_set_tab_pos (GtkNotebook *notebook,
                          GtkPositionType pos);

Устанавливает край, на котором отображаются вкладки для переключения страниц в блокноте.

Параметры

notebook

a GtkNotebook.

pos

край для отображения вкладок

gtk_notebook_set_show_tabs ()

void
gtk_notebook_set_show_tabs (GtkNotebook *notebook,
                            gboolean show_tabs);

Устанавливает, показывать ли вкладки в блокноте.

Параметры

notebook

a GtkNotebook

show_tabs

TRUE если вкладки должны быть показаны

gtk_notebook_set_show_border ()

void
gtk_notebook_set_show_border (GtkNotebook *notebook,
                              gboolean show_border);

Устанавливает, будет ли отрисовываться скос вокруг страниц записной книжки. Это оказывает визуальный эффект только в том случае, если вкладки не отображаются. Смотрите gtk_notebook_set_show_tabs().

Параметры

notebook

a GtkNotebook

show_border

TRUE если скос должен быть нарисован вокруг записной книжки

gtk_notebook_set_scrollable ()

void
gtk_notebook_set_scrollable (GtkNotebook *notebook,
                             gboolean scrollable);

Устанавливает, будет ли область меток вкладок иметь стрелки прокрутки, если слишком много вкладок, чтобы поместиться в области.

Параметры

notebook

a GtkNotebook

scrollable

TRUE если стрелки прокрутки должны быть добавлены

gtk_notebook_popup_enable ()

void
gtk_notebook_popup_enable (GtkNotebook *notebook);

Включает всплывающее меню: если пользователь щелкает правой кнопкой мыши по меткам вкладок, появится меню со всеми страницами.

Параметры

notebook

a GtkNotebook

gtk_notebook_popup_disable ()

void
gtk_notebook_popup_disable (GtkNotebook *notebook);

Отключает всплывающее меню.

Параметры

notebook

a GtkNotebook

gtk_notebook_get_current_page ()

int
gtk_notebook_get_current_page (GtkNotebook *notebook);

Возвращает номер страницы текущей страницы.

Параметры

notebook

a GtkNotebook

Возвращает

индекс (начиная с 0) текущей страницы в записной книжке. Если записная книжка не содержит страниц, будет возвращено -1.

gtk_notebook_get_menu_label ()

GtkWidget *
gtk_notebook_get_menu_label (GtkNotebook *notebook,
                             GtkWidget *child);

Извлекает виджет метки меню страницы, содержащей child .

Параметры

notebook

a GtkNotebook

child

виджет, содержащийся на странице notebook

Возвращает

метка меню, или NULL если страница записной книжки не имеет метки меню, отличной от метки по умолчанию (метка вкладки).

[nullable][transfer none]

gtk_notebook_get_nth_page ()

GtkWidget *
gtk_notebook_get_nth_page (GtkNotebook *notebook,
                           int page_num);

Возвращает дочерний виджет, содержащийся на странице номер page_num .

Параметры

notebook

a GtkNotebook

page_num

индекс страницы в записной книжке или -1 для получения последней страницы

Возвращает

дочерний виджет, или NULL если page_num находится за границами.

[nullable][transfer none]

gtk_notebook_get_n_pages ()

int
gtk_notebook_get_n_pages (GtkNotebook *notebook);

Получает количество страниц в записной книжке.

Параметры

notebook

a GtkNotebook

Возвращает

количество страниц в записной книжке

gtk_notebook_get_tab_label ()

GtkWidget *
gtk_notebook_get_tab_label (GtkNotebook *notebook,
                            GtkWidget *child);

Возвращает виджет метки вкладки для страницы child . NULL возвращается, если child не находится в notebook или если для child не была специально установлена метка вкладки.

Параметры

notebook

a GtkNotebook

child

страница

Возвращает

метка вкладки.

[transfer none][nullable]

gtk_notebook_set_menu_label ()

void
gtk_notebook_set_menu_label (GtkNotebook *notebook,
                             GtkWidget *child,
                             GtkWidget *menu_label);

Изменяет метку меню для страницы, содержащей child .

Параметры

notebook

a GtkNotebook

child

дочерний виджет

menu_label

метка меню или NULL для значения по умолчанию.

[allow-none]

gtk_notebook_set_menu_label_text ()

void
gtk_notebook_set_menu_label_text (GtkNotebook *notebook,
                                  GtkWidget *child,
                                  const char *menu_text);

Создает новую метку и устанавливает ее в качестве метки меню child .

Параметры

notebook

a GtkNotebook

child

дочерний виджет

menu_text

текст метки

gtk_notebook_set_tab_label ()

void
gtk_notebook_set_tab_label (GtkNotebook *notebook,
                            GtkWidget *child,
                            GtkWidget *tab_label);

Изменяет метку вкладки для child . Если NULL указано для tab_label , то страница будет иметь метку «страница N».

Параметры

notebook

a GtkNotebook

child

страница

tab_label

виджет метки вкладки, который нужно использовать, или NULL для метки вкладки по умолчанию.

[allow-none]

gtk_notebook_set_tab_label_text ()

void
gtk_notebook_set_tab_label_text (GtkNotebook *notebook,
                                 GtkWidget *child,
                                 const char *tab_text);

Создаёт новую метку и устанавливает её как метку вкладки для страницы, содержащей child.

Параметры

notebook

a GtkNotebook

child

страница

tab_text

текст метки

gtk_notebook_set_tab_reorderable ()

void
gtk_notebook_set_tab_reorderable (GtkNotebook *notebook,
                                  GtkWidget *child,
                                  gboolean reorderable);

Устанавливает, можно ли переупорядочить вкладку с помощью перетаскивания.

Параметры

notebook

a GtkNotebook

child

дочерний элемент GtkWidget

reorderable

можно ли переупорядочить вкладку

gtk_notebook_set_tab_detachable ()

void
gtk_notebook_set_tab_detachable (GtkNotebook *notebook,
                                 GtkWidget *child,
                                 gboolean detachable);

Устанавливает, можно ли отсоединить вкладку от notebook и переместить её в другую закладку или виджет.

Обратите внимание, что 2 закладки должны принадлежать к одной группе (см. gtk_notebook_set_group_name()), чтобы разрешить автоматический обмен вкладками между ними.

Если вы хотите, чтобы виджет взаимодействовал с закладкой через перетаскивание (например, принимать перетаскиваемые вкладки из него), он должен быть установлен в качестве приемника и принимать целевой тип «GTK_NOTEBOOK_TAB». Закладка заполнит выборку значением GtkWidget**, указывающим на дочерний виджет, соответствующий перетаскиваемой вкладке.

Обратите внимание, что для удаления вкладки из исходной закладки в процессе приема перетаскивания следует использовать gtk_notebook_detach_tab() вместо gtk_notebook_remove_page(). В противном случае исходная закладка посчитает, что перетаскиваемая вкладка была удалена во время операции перетаскивания, и начнёт анимацию отмены перетаскивания.

<object class="GtkNotebook">
  <child>
    <object class="GtkLabel" id="notebook-content">
      <property name="label">Content</property>
    </object>
  </child>
  <child type="tab">
    <object class="GtkLabel" id="notebook-tab">
      <property name="label">Tab</property>
    </object>
  </child>
</object>

Если вы хотите, чтобы закладка принимала перетаскивания из других виджетов, вам придётся реализовать свою собственную логику перетаскивания.

Параметры

notebook

a GtkNotebook

child

дочерний элемент GtkWidget

detachable

можно ли отсоединить вкладку

gtk_notebook_get_menu_label_text ()

const char *
gtk_notebook_get_menu_label_text (GtkNotebook *notebook,
                                  GtkWidget *child);

Возвращает текст метки меню для страницы, содержащей child.

Параметры

notebook

a GtkNotebook

child

дочерний виджет страницы закладки.

Возвращает

текст метки вкладки, или NULL если у виджета нет метки меню, отличной от стандартной, или виджет метки меню не является GtkLabel. Строка принадлежит виджету и не должна освобождаться.

[nullable]

gtk_notebook_get_scrollable ()

gboolean
gtk_notebook_get_scrollable (GtkNotebook *notebook);

Возвращает, отображаются ли стрелки прокрутки для области меток вкладок. См. gtk_notebook_set_scrollable().

Параметры

notebook

a GtkNotebook

Возвращает

TRUE если стрелки прокрутки присутствуют

gtk_notebook_get_show_border ()

gboolean
gtk_notebook_get_show_border (GtkNotebook *notebook);

Возвращает, отображается ли граница вокруг страниц закладок. См. gtk_notebook_set_show_border().

Параметры

notebook

a GtkNotebook

Возвращает

TRUE если граница отображается

gtk_notebook_get_show_tabs ()

gboolean
gtk_notebook_get_show_tabs (GtkNotebook *notebook);

Возвращает, отображаются ли вкладки закладки. См. gtk_notebook_set_show_tabs().

Параметры

notebook

a GtkNotebook

Возвращает

TRUE если вкладки отображаются

gtk_notebook_get_tab_label_text ()

const char *
gtk_notebook_get_tab_label_text (GtkNotebook *notebook,
                                 GtkWidget *child);

Возвращает текст метки вкладки для страницы, содержащей child.

Параметры

notebook

a GtkNotebook

child

виджет, содержащийся на странице notebook

Возвращает

текст метки вкладки, или NULL если виджет метки вкладки не является GtkLabel. Строка принадлежит виджету и не должна освобождаться.

[nullable]

gtk_notebook_get_tab_pos ()

GtkPositionType
gtk_notebook_get_tab_pos (GtkNotebook *notebook);

Возвращает край, на котором нарисованы вкладки для переключения страниц в закладке.

Параметры

notebook

a GtkNotebook

Возвращает

край, на котором нарисованы вкладки

gtk_notebook_get_tab_reorderable ()

gboolean
gtk_notebook_get_tab_reorderable (GtkNotebook *notebook,
                                  GtkWidget *child);

Возвращает, можно ли переупорядочить вкладку с помощью перетаскивания.

Параметры

notebook

a GtkNotebook

child

дочерний элемент GtkWidget

Возвращает

TRUE если вкладку можно переупорядочить.

gtk_notebook_get_tab_detachable ()

gboolean
gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
                                 GtkWidget *child);

Возвращает, можно ли отсоединить содержимое вкладки от notebook.

Параметры

notebook

a GtkNotebook

child

дочерний элемент GtkWidget

Возвращает

TRUE если вкладку можно отсоединить.

gtk_notebook_set_current_page ()

void
gtk_notebook_set_current_page (GtkNotebook *notebook,
                               int page_num);

Переключает на страницу с номером page_num .

Обратите внимание, что по историческим причинам GtkNotebook отказывается переключаться на страницу, пока дочерний виджет не будет видим. Поэтому рекомендуется отобразить дочерние виджеты перед добавлением их в записную книжку.

Параметры

notebook

a GtkNotebook

page_num

индекс страницы для переключения, начиная с 0. Если отрицательно, используется последняя страница. Если больше, чем количество страниц в записной книжке, ничего не будет сделано.

gtk_notebook_set_group_name ()

void
gtk_notebook_set_group_name (GtkNotebook *notebook,
                             const char *group_name);

Устанавливает имя группы для notebook .

Записные книжки с одинаковыми именами смогут обмениваться вкладками через перетаскивание. Записная книжка с именем группы NULL не сможет обмениваться вкладками ни с какой другой записной книжкой.

Параметры

notebook

a GtkNotebook

group_name

имя группы записной книжки, или NULL для сброса.

[allow-none]

gtk_notebook_get_group_name ()

const char *
gtk_notebook_get_group_name (GtkNotebook *notebook);

Возвращает текущее имя группы для notebook .

Параметры

notebook

a GtkNotebook

Возвращает

имя группы, или NULL если оно не установлено.

[nullable][transfer none]

gtk_notebook_set_action_widget ()

void
gtk_notebook_set_action_widget (GtkNotebook *notebook,
                                GtkWidget *widget,
                                GtkPackType pack_type);

Устанавливает widget в качестве одного из виджетов действий. В зависимости от типа размещения виджет будет помещен перед или после вкладок. Вы можете использовать GtkBox, если вам нужно разместить более одного виджета на одной стороне.

Параметры

notebook

a GtkNotebook

widget

a GtkWidget

pack_type

тип размещения виджета действий

gtk_notebook_get_action_widget ()

GtkWidget *
gtk_notebook_get_action_widget (GtkNotebook *notebook,
                                GtkPackType pack_type);

Получает один из виджетов действий. См. gtk_notebook_set_action_widget().

Параметры

notebook

a GtkNotebook

pack_type

тип размещения виджета действий для получения

Возвращает

Виджет действий с заданным pack_type или NULL, когда этот виджет действий не был установлен.

[nullable][transfer none]

Типы и значения

GtkNotebook

typedef struct _GtkNotebook GtkNotebook;

GtkNotebookPage

typedef struct _GtkNotebookPage GtkNotebookPage;

Страница в GtkNotebook.

Структура GtkNotebookPage содержит только приватные данные.

перечисление GtkNotebookTab

Параметр, используемый в сигналах действий GtkNotebook.

Члены

GTK_NOTEBOOK_TAB_FIRST

первая вкладка в записной книжке

GTK_NOTEBOOK_TAB_LAST

последняя вкладка в записной книжке

Подробное описание свойств

Свойство “enable-popup”

  “enable-popup”             gboolean

Если ИСТИНА, нажатие правой кнопки мыши на вкладке открывает меню, которое можно использовать для перехода на страницу.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Свойство “group-name”

  “group-name”               char *

Имя группы для перетаскивания вкладок.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “page”

  “page”                     int

Индекс текущей страницы.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Допустимые значения: >= -1

Значение по умолчанию: -1

Свойство “pages”

  “pages”                    GListModel *

Страницы записной книжки.

Владелец: GtkNotebook

Флаги: Чтение

Свойство “scrollable”

  “scrollable”               gboolean

Если ИСТИНА, добавляются стрелки прокрутки, если вкладок слишком много для отображения.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Свойство “show-border”

  “show-border”              gboolean

Показывать ли границу.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: ИСТИНА

Свойство “show-tabs”

  “show-tabs”                gboolean

Показывать ли вкладки.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: ИСТИНА

Свойство “tab-pos”

  “tab-pos”                  GtkPositionType

На какой стороне записной книжки расположены вкладки.

Владелец: GtkNotebook

Флаги: Чтение / Запись

Значение по умолчанию: GTK_POS_TOP

Свойство “child”

  “child”                    GtkWidget *

Дочерний элемент для этой страницы.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись / Только для создания

Свойство “detachable”

  “detachable”               gboolean

Можно ли отсоединять вкладку.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Свойство “menu”

  “menu”                     GtkWidget *

Элемент виджета метки, отображаемый в пункте меню дочернего элемента.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись / Только для создания

Свойство “menu-label”

  “menu-label”               char *

Текст виджета меню.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “position”

  “position”                 int

Индекс дочернего элемента в родительском элементе.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Допустимые значения: >= -1

Значение по умолчанию: 0

Свойство “reorderable”

  “reorderable”              gboolean

Можно ли пользователю переупорядочить вкладку.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Свойство “tab”

  “tab”                      GtkWidget *

Виджет вкладки для этой страницы.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись / Только для создания

Свойство “tab-expand”

  “tab-expand”               gboolean

Развернуть вкладку дочернего элемента.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: ЛОЖЬ

Свойство “tab-fill”

  “tab-fill”                 gboolean

Заполнить ли вкладку дочернего элемента выделенной областью.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: ИСТИНА

Свойство “tab-label”

  “tab-label”                char *

Текст виджета вкладки.

Владелец: GtkNotebookPage

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Подробности сигналов

Сигнал “change-current-page”

gboolean
user_function (GtkNotebook *notebook,
               int          arg1,
               gpointer     user_data)

Флаги: Действие

Сигнал “create-window”

GtkNotebook*
user_function (GtkNotebook *notebook,
               GtkWidget   *page,
               gpointer     user_data)

Сигнал ::create-window генерируется, когда открепленная вкладка перетаскивается на главное окно.

Обработчик этого сигнала может создать окно, содержащее блокнот, к которому будет прикреплена вкладка. Он также отвечает за перемещение/изменение размера окна и добавление необходимых свойств к блокноту (например, “имя_группы”).

Параметры

notebook

блокнот GtkNotebook, генерирующий сигнал

page

вкладка notebook, которая открепляется

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Возвращаемое значение

блокнот GtkNotebook, к которому page должен быть добавлен, или NULL.

[transfer none]

Флаги: Выполнение последним

Сигнал “focus-tab”

gboolean
user_function (GtkNotebook   *notebook,
               GtkNotebookTab arg1,
               gpointer       user_data)

Флаги: Действие

Сигнал “move-focus-out”

void
user_function (GtkNotebook     *notebook,
               GtkDirectionType arg1,
               gpointer         user_data)

Флаги: Действие

Сигнал “page-added”

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

Сигнал ::page-added генерируется в блокноте сразу после добавления страницы в блокнот.

Параметры

notebook

блокнот GtkNotebook

child

элемент GtkWidget, затронутый

page_num

новый номер страницы для child

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнение последним

Сигнал “page-removed”

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

Сигнал ::page-removed генерируется в блокноте сразу после удаления страницы из блокнота.

Параметры

notebook

блокнот GtkNotebook

child

элемент GtkWidget, затронутый

page_num

номер удаляемой страницы

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнение последним

Сигнал “page-reordered”

void
user_function (GtkNotebook *notebook,
               GtkWidget   *child,
               guint        page_num,
               gpointer     user_data)

Сигнал ::page-reordered генерируется в блокноте сразу после изменения порядка страниц.

Параметры

notebook

блокнот GtkNotebook

child

элемент GtkWidget, затронутый

page_num

новый номер страницы для child

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнение последним

Сигнал “reorder-tab”

gboolean
user_function (GtkNotebook     *notebook,
               GtkDirectionType arg1,
               gboolean         arg2,
               gpointer         user_data)

Флаги: Действие

Сигнал “select-page”

gboolean
user_function (GtkNotebook *notebook,
               gboolean     arg1,
               gpointer     user_data)

Флаги: Действие

Сигнал “switch-page”

void
user_function (GtkNotebook *notebook,
               GtkWidget   *page,
               guint        page_num,
               gpointer     user_data)

Генерируется, когда пользователь или функция изменяет текущую страницу.

Параметры

notebook

объект, получивший сигнал.

page

новая текущая страница

page_num

индекс страницы

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнение последним

Подробности действий

Действие “menu.popup”

Открывает контекстное меню.

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkNotebook.html

Spec-Zone.ru

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