Spec-Zone.ru › GTK 3.22

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 Чтение / Запись
gchar * group-name Чтение / Запись
gint page Чтение / Запись
gboolean scrollable Чтение / Запись
gboolean show-border Чтение / Запись
gboolean show-tabs Чтение / Запись
GtkPositionType tab-pos Чтение / Запись

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

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

Свойства стиля

gint arrow-spacing Чтение
gboolean has-backward-stepper Чтение
gboolean has-forward-stepper Чтение
gboolean has-secondary-backward-stepper Чтение
gboolean has-secondary-forward-stepper Чтение
gboolean has-tab-gap Чтение
gint initial-gap Чтение
gint tab-curvature Чтение
gint 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 Выполнить последним

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

struct 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

Реализация интерфейса GtkBuildable для GtkNotebook поддерживает размещение дочерних элементов на вкладках путём указания «tab» в атрибуте «type» элемента <child>. Обратите внимание, что содержимое вкладки должно быть создано до того, как вкладка заполнится. Можно указать вкладку без указания атрибута типа <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()).

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

Узел tab получает класс стиля .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, указав виджет для использования в качестве метки в всплывающем меню.

Параметры

...

Возвращает

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

gtk_notebook_insert_page ()

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

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

Параметры

...

Возвращает

индекс (начиная с 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

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

Since: 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

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

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

С: 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]

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

a 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

a 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

a 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, при нажатии правой кнопки мыши на записной книжке появляется меню, которое можно использовать для перехода на страницу.

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

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

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

  “group-name”               gchar *

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

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

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

С версии: 2.24

Свойство “page”

  “page”                     gint

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

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

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

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

Свойство “scrollable”

  “scrollable”               gboolean

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

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

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

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

  “show-border”              gboolean

Отображать ли границу.

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

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

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

  “show-tabs”                gboolean

Отображать ли вкладки.

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

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

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

  “tab-pos”                  GtkPositionType

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

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

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

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

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

  “detachable”               gboolean

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

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

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

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

  “menu-label”               gchar *

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

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

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

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

  “position”                 gint

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

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

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

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

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

  “reorderable”              gboolean

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

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

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

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

  “tab-expand”               gboolean

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

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

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

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

  “tab-fill”                 gboolean

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

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

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

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

  “tab-label”                gchar *

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

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

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

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

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

  “arrow-spacing”            gint

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

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

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

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

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

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

С версии: 2.10

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

  “has-backward-stepper”     gboolean

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

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

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

С версии: 2.4

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

  “has-forward-stepper”      gboolean

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

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

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

С версии: 2.4

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

  “has-secondary-backward-stepper” gboolean

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

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

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

С версии: 2.4

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

  “has-secondary-forward-stepper” gboolean

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

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

Значение по умолчанию: 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.

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

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

С версии: 3.12

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

  “initial-gap”              gint

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

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

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

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

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

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

С версии: 3.2

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

  “tab-curvature”            gint

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

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

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

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

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

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

С версии: 2.10

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

  “tab-overlap”              gint

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

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

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

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

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

С версии: 2.10

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

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

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

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

Сигнал “create-window”

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

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

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

Параметры

notebook

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

page

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

x

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

y

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

user_data

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

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

объект GtkNotebook, к которому page следует добавить, или NULL.

[transfer none]

Флаги: Run Last

С: 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

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

Флаги: Run Last

С: 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

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

Флаги: Run Last

С: 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

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

Флаги: Run Last

С: 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

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

Флаги: Run Last

См. также

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

Spec-Zone.ru

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