Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Child Properties  |  Style Properties  |  Signals

GtkNotebook

GtkNotebook Контейнер содержащий переключающиеся вкладки

Краткое описание

#include <gtk/gtk.h> GtkNotebook; GtkNotebookPage; GtkWidget* gtk_notebook_new (void); gint gtk_notebook_append_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); gint gtk_notebook_append_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label); gint gtk_notebook_prepend_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); gint gtk_notebook_prepend_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label); gint gtk_notebook_insert_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, gint position); gint gtk_notebook_insert_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label, gint position); void gtk_notebook_remove_page (GtkNotebook *notebook, gint page_num); #define gtk_notebook_current_page gint gtk_notebook_page_num (GtkNotebook *notebook, GtkWidget *child); #define gtk_notebook_set_page void gtk_notebook_next_page (GtkNotebook *notebook); void gtk_notebook_prev_page (GtkNotebook *notebook); void gtk_notebook_reorder_child (GtkNotebook *notebook, GtkWidget *child, gint position); void gtk_notebook_set_tab_pos (GtkNotebook *notebook, GtkPositionType pos); void gtk_notebook_set_show_tabs (GtkNotebook *notebook, gboolean show_tabs); void gtk_notebook_set_show_border (GtkNotebook *notebook, gboolean show_border); void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable); void gtk_notebook_set_tab_border (GtkNotebook *notebook, guint border_width); void gtk_notebook_popup_enable (GtkNotebook *notebook); void gtk_notebook_popup_disable (GtkNotebook *notebook); gint gtk_notebook_get_current_page (GtkNotebook *notebook); GtkWidget* gtk_notebook_get_menu_label (GtkNotebook *notebook, GtkWidget *child); GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook, gint page_num); gint gtk_notebook_get_n_pages (GtkNotebook *notebook); GtkWidget* gtk_notebook_get_tab_label (GtkNotebook *notebook, GtkWidget *child); void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean *expand, gboolean *fill, GtkPackType *pack_type); void gtk_notebook_set_homogeneous_tabs (GtkNotebook *notebook, gboolean homogeneous); void gtk_notebook_set_menu_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label); void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, GtkWidget *child, const gchar *menu_text); void gtk_notebook_set_tab_hborder (GtkNotebook *notebook, guint tab_hborder); void gtk_notebook_set_tab_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean expand, gboolean fill, GtkPackType pack_type); void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, GtkWidget *child, const gchar *tab_text); void gtk_notebook_set_tab_vborder (GtkNotebook *notebook, guint tab_vborder); void gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, GtkWidget *child, gboolean reorderable); void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, GtkWidget *child, gboolean detachable); const gchar* gtk_notebook_get_menu_label_text (GtkNotebook *notebook, GtkWidget *child); gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook); gboolean gtk_notebook_get_show_border (GtkNotebook *notebook); gboolean gtk_notebook_get_show_tabs (GtkNotebook *notebook); const gchar* gtk_notebook_get_tab_label_text (GtkNotebook *notebook, GtkWidget *child); GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook); gboolean gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, GtkWidget *child); gboolean gtk_notebook_get_tab_detachable (GtkNotebook *notebook, GtkWidget *child); void gtk_notebook_set_current_page (GtkNotebook *notebook, gint page_num); void gtk_notebook_set_group_id (GtkNotebook *notebook, gint group_id); gint gtk_notebook_get_group_id (GtkNotebook *notebook); GtkNotebook* (*GtkNotebookWindowCreationFunc) (GtkNotebook *source, GtkWidget *page, gint x, gint y, gpointer data); void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func, gpointer data);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkNotebook

Осуществляемые интерфейсы

GtkNotebook осуществляет AtkImplementorIface.

Свойства

"enable-popup" gboolean : Read / Write "group-id" gint : Read / Write "homogeneous" gboolean : Read / Write "page" gint : Read / Write "scrollable" gboolean : Read / Write "show-border" gboolean : Read / Write "show-tabs" gboolean : Read / Write "tab-border" guint : Write "tab-hborder" guint : Read / Write "tab-pos" GtkPositionType : Read / Write "tab-vborder" guint : Read / Write

Дочерние свойства

"detachable" gboolean : Read / Write "menu-label" gchararray : Read / Write "position" gint : Read / Write "reorderable" gboolean : Read / Write "tab-expand" gboolean : Read / Write "tab-fill" gboolean : Read / Write "tab-label" gchararray : Read / Write "tab-pack" GtkPackType : Read / Write

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

"arrow-spacing" gint : Read "has-backward-stepper" gboolean : Read "has-forward-stepper" gboolean : Read "has-secondary-backward-stepper" gboolean : Read "has-secondary-forward-stepper" gboolean : Read "tab-curvature" gint : Read "tab-overlap" gint : Read

Сигналы

"change-current-page" void user_function (GtkNotebook *notebook, gint arg1, gpointer user_data) : Run last / Action "focus-tab" gboolean user_function (GtkNotebook *notebook, GtkNotebookTab *arg1, gpointer user_data) : Run last / Action "move-focus-out" void user_function (GtkNotebook *notebook, GtkDirectionType *arg1, gpointer user_data) : Run last / Action "page-added" void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) : Run last "page-removed" void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) : Run last "page-reordered" void user_function (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpointer user_data) : Run last "reorder-tab" void user_function (GtkNotebook *notebook, GtkDirectionType *arg1, gboolean arg2, gpointer user_data) : Run last / Action "select-page" gboolean user_function (GtkNotebook *notebook, gboolean arg1, gpointer user_data) : Run last / Action "switch-page" void user_function (GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer user_data) : Run last

Описание

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

Есть много вариантов конфигурации для GtkNotebook. Помимо прочего, вы можете выбирать с какой стороны должны появляться вкладки (смотрите gtk_notebook_set_tab_pos()), нужно ли организовывать прокручивание вкладок если их слишком много (смотрите gtk_notebook_set_scrollable), и нужно ли всплывающее меню, позволяющее пользователям переключать страницы. (смотрите gtk_notebook_enable_popup(), gtk_noteobook_disable_popup())

Детали

GtkNotebook

typedef struct _GtkNotebook GtkNotebook;

GtkNotebookPage

typedef struct _GtkNotebookPage GtkNotebookPage;

GtkNotebookPage это непрозрачные детали осуществляемые GtkNotebook.


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 при использовании значения по умолчанию 'page N'.

Возвращает:

перечень добавленных в конец контейнера страниц (начинается с 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 при использовании значения по умолчанию 'page N'.

menu_label :

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

Возвращает:

перечень добавленных в конец контейнера страниц (начинается с 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 при использовании значения по умолчанию 'page N'.

Возвращает:

перечень добавленных в начало контейнера страниц (начинается с 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 при использовании значения по умолчанию 'page N'.

menu_label :

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

Возвращает:

перечень добавленных в начало контейнера страниц (начинается с 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 при использовании значения по умолчанию 'page N'.

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 :

GtkNotebook

child :

GtkWidget используемый как содержимое страницы.

tab_label :

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

menu_label :

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

position :

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

Возвращает:

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


gtk_notebook_remove_page ()

void gtk_notebook_remove_page (GtkNotebook *notebook, gint page_num);

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

notebook :

GtkNotebook.

page_num :

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


gtk_notebook_current_page

#define gtk_notebook_current_page               gtk_notebook_get_current_page

Внимание

gtk_notebook_current_page устарела и не нужно её использовать во вновь создаваемом коде.

Устаревшая макрокоманда. Вместо неё используйте gtk_notebook_get_current_page().


gtk_notebook_page_num ()

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

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

notebook :

GtkNotebook

child :

GtkWidget

Возвращает:

Указатель страницы содержащей child, или -1 если child нет в контейнере вкладок.


gtk_notebook_set_page

#define gtk_notebook_set_page                   gtk_notebook_set_current_page

Внимание

gtk_notebook_set_page устарела и не нужно её использовать во вновь создаваемом коде.

Устаревшая макрокоманда для совместимости. Вместо неё используйте gtk_notebook_set_current_page().


gtk_notebook_next_page ()

void        gtk_notebook_next_page          (GtkNotebook *notebook);

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

notebook :

GtkNotebook


gtk_notebook_prev_page ()

void        gtk_notebook_prev_page          (GtkNotebook *notebook);

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

notebook :

GtkNotebook


gtk_notebook_reorder_child ()

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

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

notebook :

GtkNotebook

child :

Перемещаемый дочерний виджет

position :

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


gtk_notebook_set_tab_pos ()

void gtk_notebook_set_tab_pos (GtkNotebook *notebook, GtkPositionType pos);

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

notebook :

GtkNotebook.

pos :

Сторона для отрисовки вкладок.


gtk_notebook_set_show_tabs ()

void gtk_notebook_set_show_tabs (GtkNotebook *notebook, gboolean show_tabs);

Устанавливает отображаются ли вкладки в контейнере или нет.

notebook :

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 :

GtkNotebook

show_border :

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


gtk_notebook_set_scrollable ()

void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable);

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

notebook :

GtkNotebook

scrollable :

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


gtk_notebook_set_tab_border ()

void gtk_notebook_set_tab_border (GtkNotebook *notebook, guint border_width);

Внимание

gtk_notebook_set_tab_border устарела и не нужно её использовать во вновь создаваемом коде.

Устанавливает ширину окантовки вокруг меток вкладок в контейнере. Это эквивалентно вызову gtk_notebook_set_tab_hborder (notebook, border_width) после gtk_notebook_set_tab_vborder (notebook, border_width).

notebook :

GtkNotebook

border_width :

Ширина окантовки вокруг меток вкладок.


gtk_notebook_popup_enable ()

void        gtk_notebook_popup_enable       (GtkNotebook *notebook);

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

notebook :

GtkNotebook


gtk_notebook_popup_disable ()

void        gtk_notebook_popup_disable      (GtkNotebook *notebook);

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

notebook :

GtkNotebook


gtk_notebook_get_current_page ()

gint        gtk_notebook_get_current_page   (GtkNotebook *notebook);

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

notebook :

GtkNotebook

Возвращает:

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


gtk_notebook_get_menu_label ()

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

Обеспечивает ярлыком меню страницу содержащую child.

notebook :

GtkNotebook

child :

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

Возвращает:

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


gtk_notebook_get_nth_page ()

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

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

notebook :

GtkNotebook

page_num :

Указатель страницы в контейнере вкладок, или -1 для последней страницы.

Возвращает:

Дочерний виджет, или NULL если page_num выходит за пределы.


gtk_notebook_get_n_pages ()

gint        gtk_notebook_get_n_pages        (GtkNotebook *notebook);

Выдаёт номер страницы в контейнере вкладок.

notebook :

GtkNotebook

Возвращает:

Номер страницы в контейнере вкладок.

Начиная с версии 2.2


gtk_notebook_get_tab_label ()

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

Возвращает ярлык вкладки для страницы child. NULL возвращается если child нет в notebook или если ярлык вкладки не определён для child.

notebook :

GtkNotebook

child :

страница

Возвращает:

Ярлык вкладки


gtk_notebook_query_tab_label_packing ()

void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean *expand, gboolean *fill, GtkPackType *pack_type);

Запрашивает упаковочные свойства для страницы с меткой вкладки, содержащей child.

notebook :

GtkNotebook

child :

страница

expand :

Расположение для хранения значения расширения (или NULL)

fill :

Расположение для хранения значения заполнения (или NULL)

pack_type :

Расположение для хранения pack_type (или NULL)


gtk_notebook_set_homogeneous_tabs ()

void gtk_notebook_set_homogeneous_tabs (GtkNotebook *notebook, gboolean homogeneous);

Внимание

gtk_notebook_set_homogeneous_tabs устарела и не нужно её использовать во вновь создаваемом коде.

Устанавливает должны ли все вкладки иметь одинаковый размер или нет.

notebook :

GtkNotebook

homogeneous :

TRUE если все вкладки должны быть одинакового размера.


gtk_notebook_set_menu_label ()

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

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

notebook :

GtkNotebook

child :

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

menu_label :

Ярлык меню, или NULL для значения по умолчанию


gtk_notebook_set_menu_label_text ()

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

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

notebook :

GtkNotebook

child :

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

menu_text :

Текст метки


gtk_notebook_set_tab_hborder ()

void gtk_notebook_set_tab_hborder (GtkNotebook *notebook, guint tab_hborder);

Внимание

gtk_notebook_set_tab_hborder устарела и не нужно её использовать во вновь создаваемом коде.

Устанавливает ширину горизонтальной границы метки вкладок.

notebook :

GtkNotebook

tab_hborder :

Ширина горизонтальной границы метки вкладки.


gtk_notebook_set_tab_label ()

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

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

notebook :

GtkNotebook

child :

страница

tab_label :

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


gtk_notebook_set_tab_label_packing ()

void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean expand, gboolean fill, GtkPackType pack_type);

Устанавливает упаковочные параметры для страницы с меткой вкладки, содержащей child. Смотрите gtk_box_pack_start() для дополнительных значений параметров.

notebook :

GtkNotebook

child :

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

expand :

Расширяются ли вкладки или нет

fill :

Должны ли вкладки заполнять распределённую область или нет

pack_type :

Позиция вкладки


gtk_notebook_set_tab_label_text ()

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

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

notebook :

GtkNotebook

child :

страница

tab_text :

текст ярлыка


gtk_notebook_set_tab_vborder ()

void gtk_notebook_set_tab_vborder (GtkNotebook *notebook, guint tab_vborder);

Внимание

gtk_notebook_set_tab_vborder устарела и не нужно её использовать во вновь создаваемом коде.

Устанавливает ширину вертикальной границы ярлыка метки.

notebook :

GtkNotebook

tab_vborder :

Ширина вертикальной границы ярлыка вкладки.


gtk_notebook_set_tab_reorderable ()

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

Устанавливает может ли вкладка изменять расположение через перетаскивание (drag and drop) или нет.

notebook :

GtkNotebook

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_id()) позволяющий автоматический обмен вкладками между ними.

Если вы хотите чтобы виджет взаимодействовал с контейнером вкладок через DnD (то есть: методом перетаскивания мышкой) он должен быть установлен как адресат перетаскивания и принять цель "GTK_NOTEBOOK_TAB". Контейнер вкладок будет заполнять выбранные указатели GtkWidget** для дочерних виджетов которые соответствуют перетаскиваемым вкладкам.

static void on_drop_zone_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) { GtkWidget *notebook; GtkWidget **child; notebook = gtk_drag_get_source_widget (context); child = (void*) selection_data->data; process_widget (*child); gtk_container_remove (GTK_CONTAINER (notebook), *child); }

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

notebook :

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 :

GtkNotebook

child :

Дочерний виджет of a page of the notebook.

Возвращает:

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


gtk_notebook_get_scrollable ()

gboolean    gtk_notebook_get_scrollable     (GtkNotebook *notebook);

Определяет имеет ли область вкладок с ярлыками стрелки для прокручивания. Смотрите gtk_notebook_set_scrollable().

notebook :

GtkNotebook

Возвращает:

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


gtk_notebook_get_show_border ()

gboolean    gtk_notebook_get_show_border    (GtkNotebook *notebook);

Определяет имеется ли скос возле страниц контейнера вкладок. Смотрите gtk_notebook_set_show_border().

notebook :

GtkNotebook

Возвращает:

TRUE если скос отрисовывается


gtk_notebook_get_show_tabs ()

gboolean    gtk_notebook_get_show_tabs      (GtkNotebook *notebook);

Определяет отображаются ли вкладки контейнера. Смотрите gtk_notebook_set_show_tabs().

notebook :

GtkNotebook

Возвращает:

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


gtk_notebook_get_tab_label_text ()

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

Определяет текст ярлыка вкладки для страницы содержащей child.

notebook :

GtkNotebook

child :

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

Возвращает:

Значение: текст ярлыка вкладки, или NULL если ярлык вкладки не является GtkLabel. Строкой владеет виджет и она не должна высвобождаться.


gtk_notebook_get_tab_pos ()

GtkPositionType gtk_notebook_get_tab_pos    (GtkNotebook *notebook);

Определяет сторону с которой рисуются вкладки для переключения страниц в контейнере вкладок.

notebook :

GtkNotebook

Возвращает:

Сторону на которой отрисовываются вкладки


gtk_notebook_get_tab_reorderable ()

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

Определяет может ли вкладка менять положение через перетаскивание (drag and drop) или нет.

notebook :

GtkNotebook

child :

дочерний GtkWidget

Returns :

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

Начиная с версии 2.10


gtk_notebook_get_tab_detachable ()

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

Определяет может ли содержимое вкладки отделяться от notebook.

notebook :

GtkNotebook

child :

дочерний GtkWidget

Returns :

TRUE если вкладка отделяемая.

Начиная с версии 2.10


gtk_notebook_set_current_page ()

void gtk_notebook_set_current_page (GtkNotebook *notebook, gint page_num);

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

notebook :

GtkNotebook

page_num :

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


gtk_notebook_set_group_id ()

void gtk_notebook_set_group_id (GtkNotebook *notebook, gint group_id);

Устанавливает идентификатор группы для notebook, контейнеры вкладок одной и той же группы могут обмениваться вкладками через drag and drop. Контейнер вкладок с идентификатором -1 не может обмениваться вкладками ни с какими другими контейнерами.

notebook :

GtkNotebook

group_id :

Идентификатор группы, или -1 для его сброса

Начиная с версии 2.10


gtk_notebook_get_group_id ()

gint        gtk_notebook_get_group_id       (GtkNotebook *notebook);

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

notebook :

GtkNotebook

Returns :

Идентификатор группы, или -1 если не был установлен

Начиная с версии 2.10


GtkNotebookWindowCreationFunc ()

GtkNotebook* (*GtkNotebookWindowCreationFunc) (GtkNotebook *source, GtkWidget *page, gint x, gint y, gpointer data);

Функция используемая GtkNotebook когда отделяемая вкладка перетаскивается в основное окно, это используется для создания окна содержащего контейнер вкладок куда были добавлены вкладки. Эта функция так же отвечает за перемещение/изменение размера окна и добавление необходимых свойств к контейнеру вкладок (то есть: group-id). Если функция возвращает NULL, то перетаскивание будет отменено.

source :

Исходный GtkNotebook операции перетаскивания

page :

дочерний GtkWidget затрагиваемый операцией

x :

X координаты перетаскивания

y :

Y координаты перетаскивания

data :

Пользовательские данные

Возвращает :

Создаваемый GtkNotebook куда добавляются вкладки, или NULL для прекращения перетаскивания


gtk_notebook_set_window_creation_hook ()

void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func, gpointer data);

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

func :

GtkNotebookWindowCreationFunc, или NULL

data :

Пользовательские данные для func.

Начиная с версии 2.10

Детали свойств

Свойство "enable-popup"

  "enable-popup"         gboolean              : Read / Write

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

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


Свойство "homogeneous"

  "homogeneous"          gboolean              : Read / Write

Должны ли вкладки иметь одинаковый размер.

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


Свойство "page"

  "page"                 gint                  : Read / Write

Указатель текущемй страницы.

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

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


Свойство "scrollable"

  "scrollable"           gboolean              : Read / Write

Если TRUE, будут появляться стрелки для прокрутки при слишком большом количестве вкладок.

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


Свойство "show-border"

  "show-border"          gboolean              : Read / Write

Должна ли отображаться окантовка или нет.

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


Свойство "show-tabs"

  "show-tabs"            gboolean              : Read / Write

Должны ли отображаться вкладки или нет.

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


Свойство "tab-border"

  "tab-border"           guint                 : Write

Ширина окантовки вокруг ярлыка вкладки.

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


Свойство "tab-hborder"

  "tab-hborder"          guint                 : Read / Write

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

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


Свойство "tab-pos"

  "tab-pos"              GtkPositionType       : Read / Write

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

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


Свойство "tab-vborder"

  "tab-vborder"          guint                 : Read / Write

Ширина вертикальной границы ярлыка вкладки.

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

Детали дочерних свойств

Дочернее свойство "menu-label"

  "menu-label"           gchararray            : Read / Write

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

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


Дочернее свойство "position"

  "position"             gint                  : Read / Write

Указатель дочернего виджета в родителе.

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

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


Дочернее свойство "tab-expand"

  "tab-expand"           gboolean              : Read / Write

Должны ли дочерние вкладки расширяться или нет.

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


Дочернее свойство "tab-fill"

  "tab-fill"             gboolean              : Read / Write

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

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


Дочернее свойство "tab-label"

  "tab-label"            gchararray            : Read / Write

Строка отображаемая на ярлыке дочерней вкладки.

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


Дочернее свойство "tab-pack"

  "tab-pack"             GtkPackType           : Read / Write

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

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

Детали свойств стиля

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

  "arrow-spacing"        gint                  : Read

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

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

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

Начиная с версии 2.10


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

  "has-backward-stepper" gboolean              : Read

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

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

Начиная с версии 2.4


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

  "has-forward-stepper"  gboolean              : Read

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

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

Начиная с версии 2.4


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

  "has-secondary-backward-stepper" gboolean              : Read

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

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

Начиная с версии 2.4


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

  "has-secondary-forward-stepper" gboolean              : Read

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

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

Начиная с версии 2.4

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

  "tab-curvature"        gint                  : Read

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

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

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

Начиная с версии 2.10


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

  "tab-overlap"          gint                  : Read

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

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

Начиная с версии 2.10

Детали сигнала

Сигнал "change-current-page"

void user_function (GtkNotebook *notebook, gint arg1, gpointer user_data) : Run last / Action

notebook :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "focus-tab"

gboolean user_function (GtkNotebook *notebook, GtkNotebookTab arg1, gpointer user_data) : Run last / Action

notebook :

объект получающий сигнал.

arg1 :

user_data :

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

Возвращает:


Сигнал "move-focus-out"

void user_function (GtkNotebook *notebook, GtkDirectionType arg1, gpointer user_data) : Run last / Action

notebook :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "page-added"

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

Сигнал ::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) : Run last

Сигнал ::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) : Run last

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

notebook :

GtkNotebook

child :

Затронутый дочерний GtkWidget

page_num :

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

user_data :

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

Начиная с версии 2.10


Сигнал "select-page"

gboolean user_function (GtkNotebook *notebook, gboolean arg1, gpointer user_data) : Run last / Action

notebook :

объект получающий сигнал.

arg1 :

user_data :

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

Возвращает:


Сигнал "switch-page"

void user_function (GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer user_data) : Run last

Издаётся когда пользователь или функция переключили текущую страницу.

notebook :

объект получающий сигнал.

page :

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

page_num :

указатель страницы

user_data :

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

Смотрите также

GtkContainer

Для функций которые применяют каждый GtkContainer (как GtkList).