Spec-Zone.ru › GTK 3.20

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()), нужно ли делать GtkNotebook больше, если вкладки не помещаются, или добавить стрелки прокрутки (см. gtk_notebook_set_scrollable()), и будет ли появляться всплывающее меню, позволяющее пользователям переключаться между страницами. (см. gtk_notebook_popup_enable(), gtk_notebook_popup_disable())

GtkNotebook как GtkBuildable

Реализация GtkNotebook интерфейса GtkBuildable поддерживает размещение дочерних элементов в вкладках, задавая «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, указав виджет для использования в качестве метки в всплывающем меню.

Параметры

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

a 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

the child to move

position

the new position, or -1 to move to the end

gtk_notebook_set_tab_pos ()

void
gtk_notebook_set_tab_pos (GtkNotebook *notebook,
                          GtkPositionType pos);

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

Параметры

notebook

a GtkNotebook.

pos

the edge to draw the tabs at

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]

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

a child GtkWidget

reorderable

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

С: 2.10

gtk_notebook_set_tab_detachable ()

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

Устанавливает, можно ли отделить вкладку от notebook в другой блокнот или виджет.

Обратите внимание, что два блокнота должны разделят общий идентификатор группы (см. 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 и не должно использоваться в новых кодах.

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

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

Допустимые значения: >= 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]

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

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

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

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

Spec-Zone.ru

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