Spec-Zone.ru › GTK 3.24

GtkNotebook

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

Функции

GtkWidget * gtk_notebook_new ()
gint gtk_notebook_append_page ()
gint gtk_notebook_append_page_menu ()
gint gtk_notebook_prepend_page ()
gint gtk_notebook_prepend_page_menu ()
gint gtk_notebook_insert_page ()
gint gtk_notebook_insert_page_menu ()
void gtk_notebook_remove_page ()
void gtk_notebook_detach_tab ()
gint 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 ()
gint gtk_notebook_get_current_page ()
GtkWidget * gtk_notebook_get_menu_label ()
GtkWidget * gtk_notebook_get_nth_page ()
gint 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 gchar * gtk_notebook_get_menu_label_text ()
gboolean gtk_notebook_get_scrollable ()
gboolean gtk_notebook_get_show_border ()
gboolean gtk_notebook_get_show_tabs ()
const gchar * gtk_notebook_get_tab_label_text ()
GtkPositionType gtk_notebook_get_tab_pos ()
gboolean gtk_notebook_get_tab_reorderable ()
gboolean gtk_notebook_get_tab_detachable ()
guint16 gtk_notebook_get_tab_hborder ()
guint16 gtk_notebook_get_tab_vborder ()
void gtk_notebook_set_current_page ()
void gtk_notebook_set_group_name ()
const gchar * 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 Чтение / Запись
gboolean scrollable Чтение / Запись
gboolean show-border Чтение / Запись
gboolean show-tabs Чтение / Запись
GtkPositionType tab-pos Чтение / Запись

Свойства дочерних элементов

gboolean detachable Чтение / Запись
char * menu-label Чтение / Запись
int position Чтение / Запись
gboolean reorderable Чтение / Запись
gboolean tab-expand Чтение / Запись
gboolean tab-fill Чтение / Запись
char * tab-label Чтение / Запись

Стилизованные свойства

int arrow-spacing Чтение
gboolean has-backward-stepper Чтение
gboolean has-forward-stepper Чтение
gboolean has-secondary-backward-stepper Чтение
gboolean has-secondary-forward-stepper Чтение
gboolean has-tab-gap Чтение
int initial-gap Чтение
int tab-curvature Чтение
int tab-overlap Чтение

Сигналы

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 Выполнить последним

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

структура GtkNotebook

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkNotebook

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

GtkNotebook реализует интерфейсы AtkImplementorIface и GtkBuildable.

Включаемые файлы

#include <gtk/gtk.h>

Описание

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

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

Узел вкладки получает класс стиля .dnd, пока он перемещается с помощью drag-and-drop.

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

Функции

gtk_notebook_new ()

GtkWidget *
gtk_notebook_new (void);

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

Возвращает

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

gtk_notebook_append_page ()

gint
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 ()

gint
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 ()

gint
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 ()

gint
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 ()

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

Вставляет страницу в notebook в заданную позицию.

Параметры

notebook

виджет GtkNotebook

child

виджет GtkWidget, который будет содержанием страницы

tab_label

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

[allow-none]

position

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

Возвращает

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

gtk_notebook_insert_page_menu ()

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

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

Параметры

notebook

a GtkNotebook

child

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

tab_label

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

[allow-none]

menu_label

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

[allow-none]

position

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

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

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

gtk_notebook_remove_page ()

void
gtk_notebook_remove_page (GtkNotebook *notebook,
                          gint page_num);

Удаляет страницу из записной книжки по её индексу в записной книжке.

Параметры

notebook

a GtkNotebook

page_num

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

gtk_notebook_detach_tab ()

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

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

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

Параметры

notebook

a GtkNotebook

child

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

С момента: 3.16

gtk_notebook_page_num ()

gint
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,
                            gint 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 ()

gint
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,
                           gint page_num);

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

Параметры

notebook

a GtkNotebook

page_num

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

Возвращает

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

[nullable][transfer none]

gtk_notebook_get_n_pages ()

gint
gtk_notebook_get_n_pages (GtkNotebook *notebook);

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

Параметры

notebook

a GtkNotebook

Возвращает

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

Since: 2.2

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 gchar *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 . Если для tab_label задано NULL, то на странице будет отображаться метка «страница 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 gchar *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

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

С версии: 2.10

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_container_remove(). В противном случае исходный блокнот посчитает, что перетаскиваемая вкладка была удалена из-под текущей операции перетаскивания, и запустит анимацию отмены перетаскивания.

<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

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

С версии: 2.10

gtk_notebook_get_menu_label_text ()

const gchar *
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 gchar *
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 если вкладку можно переупорядочить.

С версии: 2.10

gtk_notebook_get_tab_detachable ()

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

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

Параметры

notebook

a GtkNotebook

child

дочерний GtkWidget

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

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

С версии: 2.10

gtk_notebook_get_tab_hborder ()

guint16
gtk_notebook_get_tab_hborder (GtkNotebook *notebook);

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

Эта функция возвращает ноль.

Возвращает горизонтальную ширину границы вкладки.

Параметры

notebook

a GtkNotebook

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

горизонтальная ширина границы вкладки

С: 2.22

gtk_notebook_get_tab_vborder ()

guint16
gtk_notebook_get_tab_vborder (GtkNotebook *notebook);

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

Эта функция возвращает ноль.

Возвращает вертикальную ширину границы вкладки.

Параметры

notebook

a GtkNotebook

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

вертикальная ширина границы вкладки

С: 2.22

gtk_notebook_set_current_page ()

void
gtk_notebook_set_current_page (GtkNotebook *notebook,
                               gint 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 gchar *group_name);

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

Блокноты с одинаковыми именами смогут обмениваться вкладками с помощью перетаскивания. Блокнот с именем группы NULL не сможет обмениваться вкладками ни с каким другим блокнотом.

Параметры

notebook

a GtkNotebook

group_name

имя группы блокнота или NULL для сброса.

[allow-none]

С: 2.24

gtk_notebook_get_group_name ()

const gchar *
gtk_notebook_get_group_name (GtkNotebook *notebook);

Получает текущее имя группы для notebook .

Параметры

notebook

a GtkNotebook

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

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

[nullable][transfer none]

С: 2.24

gtk_notebook_set_action_widget ()

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

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

Обратите внимание, что виджеты действий являются «внутренними» дочерними элементами блокнота и поэтому не включены в список, возвращаемый из gtk_container_foreach().

Параметры

notebook

a GtkNotebook

widget

a GtkWidget

pack_type

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

С: 2.20

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]

С: 2.20

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

struct GtkNotebook

struct GtkNotebook;

Подробные сведения о свойствах

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

  “enable-popup”             gboolean

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

Владелец: GtkNotebook

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

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

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

  “group-name”               char *

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

Владелец: GtkNotebook

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

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

С: 2.24

Свойство “page”

  “page”                     int

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

Владелец: GtkNotebook

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

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

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

Свойство “scrollable”

  “scrollable”               gboolean

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

Владелец: GtkNotebook

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

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

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

  “show-border”              gboolean

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

Владелец: GtkNotebook

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

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

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

  “show-tabs”                gboolean

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

Владелец: GtkNotebook

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

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

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

  “tab-pos”                  GtkPositionType

На какой стороне блокнота располагаются вкладки.

Владелец: GtkNotebook

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

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

Подробное описание свойств дочерних элементов

Свойство “detachable” дочернего элемента

  “detachable”               gboolean

Определяет, является ли вкладка открепляемой.

Владелец: GtkNotebook

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

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

Свойство “menu-label” дочернего элемента

  “menu-label”               char *

Строка, отображаемая в пункте меню дочернего элемента.

Владелец: GtkNotebook

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

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

Свойство “position” дочернего элемента

  “position”                 int

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

Владелец: GtkNotebook

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

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

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

Свойство “reorderable” дочернего элемента

  “reorderable”              gboolean

Определяет, может ли пользователь переупорядочить вкладку.

Владелец: GtkNotebook

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

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

Свойство “tab-expand” дочернего элемента

  “tab-expand”               gboolean

Определяет, должна ли вкладка дочернего элемента расширяться.

Владелец: GtkNotebook

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

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

Свойство “tab-fill” дочернего элемента

  “tab-fill”                 gboolean

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

Владелец: GtkNotebook

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

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

Свойство “tab-label” дочернего элемента

  “tab-label”                char *

Строка, отображаемая на метке вкладки дочернего элемента.

Владелец: GtkNotebook

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

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

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

Свойство “arrow-spacing” стиля

  “arrow-spacing”            int

Свойство "arrow-spacing" определяет интервал между стрелками прокрутки и вкладками.

GtkNotebook:arrow-spacing устарело с версии 3.20 и не должно использоваться в новых кодах.

Это свойство игнорируется. Используйте отступы для стрелок или узел "tabs" для достижения такого же эффекта.

Владелец: GtkNotebook

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

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

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

С версии: 2.10

Свойство “has-backward-stepper” стиля

  “has-backward-stepper”     gboolean

Свойство “has-backward-stepper” определяет, отображается ли стандартная кнопка со стрелкой назад.

Владелец: GtkNotebook

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

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

С версии: 2.4

Свойство “has-forward-stepper” стиля

  “has-forward-stepper”      gboolean

Свойство “has-forward-stepper” определяет, отображается ли стандартная кнопка со стрелкой вперед.

Владелец: GtkNotebook

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

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

С версии: 2.4

Свойство “has-secondary-backward-stepper” стиля

  “has-secondary-backward-stepper” gboolean

Свойство “has-secondary-backward-stepper” определяет, отображается ли дополнительная кнопка со стрелкой назад в конце области вкладок.

Владелец: GtkNotebook

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

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

С версии: 2.4

Свойство “has-secondary-forward-stepper” стиля

  “has-secondary-forward-stepper” gboolean

Свойство “has-secondary-forward-stepper” определяет, отображается ли дополнительная кнопка со стрелкой вперед в конце области вкладок.

Владелец: GtkNotebook

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

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

С версии: 2.4

Свойство “has-tab-gap” стиля

  “has-tab-gap”              gboolean

Свойство "has-tab-gap" определяет, будет ли активная вкладка отображаться с промежутком внизу. Если TRUE, движок темы использует gtk_render_extension для отрисовки активной вкладки. Если FALSE, используются gtk_render_background и gtk_render_frame.

GtkNotebook:has-tab-gap устарело с версии 3.20 и не должно использоваться в новых кодах.

Эта функция всегда ведет себя так, как будто она установлена в FALSE.

Владелец: GtkNotebook

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

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

С версии: 3.12

Свойство “initial-gap” стиля

  “initial-gap”              int

Свойство "initial-gap" определяет минимальный размер начального промежутка между первой вкладкой.

GtkNotebook:initial-gap устарело с версии 3.20 и не должно использоваться в новых кодах.

Начальный интервал игнорируется. Используйте отступы для узла заголовка для достижения такого же эффекта.

Владелец: GtkNotebook

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

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

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

С версии: 3.2

Свойство “tab-curvature” стиля

  “tab-curvature”            int

Свойство “tab-curvature” определяет размер кривизны вкладки.

GtkNotebook:tab-curvature устарело с версии 3.20 и не должно использоваться в новых кодах.

Это свойство игнорируется. Используйте отступы для узлов вкладок для достижения такого же эффекта.

Владелец: GtkNotebook

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

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

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

С версии: 2.10

Свойство “tab-overlap” стиля

  “tab-overlap”              int

Свойство “tab-overlap” определяет размер области перекрытия вкладки.

GtkNotebook:tab-overlap устарело с версии 3.20 и не должно использоваться в новых кодах.

Это свойство игнорируется. Используйте отступы для узлов вкладок для достижения такого же эффекта.

Владелец: GtkNotebook

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

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

С версии: 2.10

Подробные сведения о сигналах

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

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

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

Сигнал “create-window”

GtkNotebook*
user_function (GtkNotebook *notebook,
               GtkWidget   *page,
               int          x,
               int          y,
               gpointer     user_data)

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

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

Параметры

notebook

записная книжка GtkNotebook, генерирующая сигнал

page

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

x

координата X, где происходит перенос

y

координата Y, где происходит перенос

user_data

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

Возвращает

записная книжка GtkNotebook, к которой page следует добавить, или NULL.

[transfer none]

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

С версии: 2.12

Сигнал “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

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

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

С версии: 2.10

Сигнал “page-removed”

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

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

Параметры

notebook

записная книжка GtkNotebook

child

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

page_num

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

user_data

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

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

С версии: 2.10

Сигнал “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

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

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

С версии: 2.10

Сигнал “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

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

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

См. также

GtkContainer

© 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/GtkNotebook.html

Spec-Zone.ru

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