Spec-Zone.ru › GTK 3.24

GtkToolbar

GtkToolbar — Создание панелей кнопок и других виджетов

Функции

GtkWidget * gtk_toolbar_new ()
void gtk_toolbar_insert ()
gint gtk_toolbar_get_item_index ()
gint gtk_toolbar_get_n_items ()
GtkToolItem * gtk_toolbar_get_nth_item ()
gint gtk_toolbar_get_drop_index ()
void gtk_toolbar_set_drop_highlight_item ()
void gtk_toolbar_set_show_arrow ()
void gtk_toolbar_unset_icon_size ()
gboolean gtk_toolbar_get_show_arrow ()
GtkToolbarStyle gtk_toolbar_get_style ()
GtkIconSize gtk_toolbar_get_icon_size ()
GtkReliefStyle gtk_toolbar_get_relief_style ()
void gtk_toolbar_set_style ()
void gtk_toolbar_set_icon_size ()
void gtk_toolbar_unset_style ()

Свойства

GtkIconSize icon-size Чтение/Запись
gboolean icon-size-set Чтение/Запись
gboolean show-arrow Чтение/Запись
GtkToolbarStyle toolbar-style Чтение/Запись

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

gboolean expand Чтение/Запись
gboolean homogeneous Чтение/Запись

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

GtkReliefStyle button-relief Чтение
int internal-padding Чтение
int max-child-expand Чтение
GtkShadowType shadow-type Чтение
int space-size Чтение
GtkToolbarSpaceStyle space-style Чтение

Сигналы

gboolean focus-home-or-end Действие
void orientation-changed Выполнить первым
gboolean popup-context-menu Выполнить последним
void style-changed Выполнить первым

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

struct GtkToolbar
enum GtkToolbarSpaceStyle

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkToolbar

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

GtkToolbar реализует AtkImplementorIface, GtkBuildable, GtkToolShell и GtkOrientable.

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

#include <gtk/gtk.h>

Описание

Панель инструментов создается с помощью вызова gtk_toolbar_new().

Панель инструментов может содержать экземпляры подкласса GtkToolItem. Для добавления GtkToolItem на панель инструментов используйте gtk_toolbar_insert(). Для удаления элемента с панели инструментов используйте gtk_container_remove(). Для добавления кнопки на панель инструментов добавьте экземпляр GtkToolButton.

Элементы панели инструментов можно визуально сгруппировать, добавив экземпляры GtkSeparatorToolItem на панель инструментов. Если свойство GtkToolbar «expand» имеет значение TRUE, а свойство «draw» установлено в FALSE, это приводит к принудительному размещению всех последующих элементов в конце панели инструментов.

По умолчанию, панель инструментов может быть уменьшена, в результате чего она добавит стрелочную кнопку для отображения всплывающего меню, предоставляющего доступ к любому элементу GtkToolItem, который имеет элемент контекстного меню. Чтобы отключить это и запросить достаточный размер для всех элементов, вызовите gtk_toolbar_set_show_arrow(), чтобы установить «show-arrow» в значение FALSE.

Создание контекстного меню для панели инструментов может быть выполнено путём подключения к сигналу «popup-context-menu».

CSS узлы

GtkToolbar имеет единственный CSS узел с именем toolbar.

Функции

gtk_toolbar_new ()

GtkWidget *
gtk_toolbar_new (void);

Создаёт новую панель инструментов.

Возвращает

новую, созданную панель инструментов.

gtk_toolbar_insert ()

void
gtk_toolbar_insert (GtkToolbar *toolbar,
                    GtkToolItem *item,
                    gint pos);

Вставляет GtkToolItem в панель инструментов в позиции pos . Если pos равно 0, элемент вставляется в начало панели инструментов. Если pos отрицательно, элемент вставляется в конец панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

item

элемент GtkToolItem

pos

позиция нового элемента

С версии: 2.4

gtk_toolbar_get_item_index ()

gint
gtk_toolbar_get_item_index (GtkToolbar *toolbar,
                            GtkToolItem *item);

Возвращает позицию item на панели инструментов, начиная с 0. Ошибка, если item не является дочерним элементом панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

item

GtkToolItem, который является дочерним элементом toolbar

Возвращает

позицию элемента на панели инструментов.

С версии: 2.4

gtk_toolbar_get_n_items ()

gint
gtk_toolbar_get_n_items (GtkToolbar *toolbar);

Возвращает количество элементов на панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

Возвращает

количество элементов на панели инструментов

С версии: 2.4

gtk_toolbar_get_nth_item ()

GtkToolItem *
gtk_toolbar_get_nth_item (GtkToolbar *toolbar,
                          gint n);

Возвращает n-й элемент на toolbar или NULL, если на панели инструментов нет n-го элемента.

Параметры

toolbar

панель инструментов GtkToolbar

n

Позиция на панели инструментов

Возвращает

n-й GtkToolItem на toolbar или NULL, если нет n-го элемента.

[nullable][transfer none]

С версии: 2.4

gtk_toolbar_get_drop_index ()

gint
gtk_toolbar_get_drop_index (GtkToolbar *toolbar,
                            gint x,
                            gint y);

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

x и y в координатах toolbar.

Параметры

toolbar

панель инструментов GtkToolbar

x

координата x точки на панели инструментов

y

координата y точки на панели инструментов

Возвращает

Позицию, соответствующую точке (x, y) на панели инструментов.

С версии: 2.4

gtk_toolbar_set_drop_highlight_item ()

void
gtk_toolbar_set_drop_highlight_item (GtkToolbar *toolbar,
                                     GtkToolItem *tool_item,
                                     gint index_);

Выделяет toolbar, чтобы показать, как будет выглядеть item, добавленный в toolbar в позиции, указанной index_. Если item равно NULL, выделение отключается. В этом случае index_ игнорируется.

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

Параметры

toolbar

панель инструментов GtkToolbar

tool_item

GtkToolItem или NULL для отключения выделения.

[allow-none]

index_

позиция на toolbar

С версии: 2.4

gtk_toolbar_set_show_arrow ()

void
gtk_toolbar_set_show_arrow (GtkToolbar *toolbar,
                            gboolean show_arrow);

Устанавливает, отображать ли всплывающее меню при недостаточном размере toolbar для отображения всех элементов. Если TRUE, элементы, которые не помещаются в toolbar и у которых установлен прокси-элемент меню с помощью gtk_tool_item_set_proxy_menu_item() или “create-menu-proxy”, будут доступны во всплывающем меню, которое можно открыть добавленной стрелкой. Если FALSE, toolbar запросит достаточный размер для размещения всех дочерних элементов без переполнения.

Параметры

toolbar

панель инструментов GtkToolbar

show_arrow

Показывать ли всплывающее меню

С версии: 2.4

gtk_toolbar_unset_icon_size ()

void
gtk_toolbar_unset_icon_size (GtkToolbar *toolbar);

Сбрасывает размер значков панели инструментов, установленный с помощью gtk_toolbar_set_icon_size(), чтобы пользовательские настройки определяли размер значков.

Параметры

toolbar

панель инструментов GtkToolbar

gtk_toolbar_get_show_arrow ()

gboolean
gtk_toolbar_get_show_arrow (GtkToolbar *toolbar);

Возвращает, есть ли всплывающее меню у панели инструментов. См. gtk_toolbar_set_show_arrow().

Параметры

toolbar

панель инструментов GtkToolbar

Возвращает

TRUE, если у панели инструментов есть всплывающее меню.

С версии: 2.4

gtk_toolbar_get_style ()

GtkToolbarStyle
gtk_toolbar_get_style (GtkToolbar *toolbar);

Получает, отображаются ли на панели инструментов текст, значки или оба. См. gtk_toolbar_set_style().

Параметры

toolbar

панель инструментов GtkToolbar

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

текущий стиль toolbar

gtk_toolbar_get_icon_size ()

GtkIconSize
gtk_toolbar_get_icon_size (GtkToolbar *toolbar);

Получает размер значка для панели инструментов. См. gtk_toolbar_set_icon_size().

Параметры

toolbar

панель инструментов GtkToolbar

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

текущий размер значков на панели инструментов.

gtk_toolbar_get_relief_style ()

GtkReliefStyle
gtk_toolbar_get_relief_style (GtkToolbar *toolbar);

Возвращает стиль рельефа кнопок на toolbar . См. gtk_button_set_relief().

Параметры

toolbar

панель инструментов GtkToolbar

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

Стиль рельефа кнопок на toolbar .

С: 2.4

gtk_toolbar_set_style ()

void
gtk_toolbar_set_style (GtkToolbar *toolbar,
                       GtkToolbarStyle style);

Изменяет отображение toolbar, чтобы отображать только значки, только текст или оба.

Параметры

toolbar

панель инструментов GtkToolbar.

style

новый стиль для toolbar .

gtk_toolbar_set_icon_size ()

void
gtk_toolbar_set_icon_size (GtkToolbar *toolbar,
                           GtkIconSize icon_size);

Эта функция устанавливает размер значков в панели инструментов. Вы можете вызвать её как до добавления значков, так и после. Установленный размер переопределит пользовательские настройки для размера значка по умолчанию.

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

Параметры

toolbar

панель инструментов GtkToolbar

icon_size

GtkIconSize размер значков на панели инструментов.

gtk_toolbar_unset_style ()

void
gtk_toolbar_unset_style (GtkToolbar *toolbar);

Снимает стиль панели инструментов, установленный с помощью gtk_toolbar_set_style(), так что для определения стиля панели инструментов будут использоваться пользовательские настройки.

Параметры

toolbar

панель инструментов GtkToolbar

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

struct GtkToolbar

struct GtkToolbar;

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

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

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

Члены

GTK_TOOLBAR_SPACE_EMPTY

Использовать пустые разделители.

GTK_TOOLBAR_SPACE_LINE

Использовать вертикальные линии для разделителей.

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

Свойство “icon-size”

  “icon-size”                GtkIconSize

Размер значков на панели инструментов обычно определяется настройкой toolbar-icon-size. При установке этого свойства оно переопределяет эту настройку.

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

Владелец: GtkToolbar

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

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

С: 2.10

Свойство “icon-size-set”

  “icon-size-set”            gboolean

Истинно, если свойство icon-size было установлено.

Владелец: GtkToolbar

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

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

С: 2.10

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

  “show-arrow”               gboolean

Если нужно отображать стрелку, если панель инструментов не помещается.

Владелец: GtkToolbar

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

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

Свойство “toolbar-style”

  “toolbar-style”            GtkToolbarStyle

Как рисовать панель инструментов.

Владелец: GtkToolbar

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

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

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

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

  “expand”                   gboolean

Следует ли элементу получать дополнительное пространство при увеличении панели инструментов.

Владелец: GtkToolbar

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

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

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

  “homogeneous”              gboolean

Следует ли элементу иметь тот же размер, что и другим однородным элементам.

Владелец: GtkToolbar

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

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

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

Свойство стиля “button-relief”

  “button-relief”            GtkReliefStyle

Тип фаски вокруг кнопок на панели инструментов.

Владелец: GtkToolbar

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

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

Свойство стиля “internal-padding”

  “internal-padding”         int

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

GtkToolbar:internal-padding устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте стандартное свойство отступа CSS (через объекты, такие как GtkStyleContext и GtkCssProvider); значение этого свойства стиля игнорируется.

Владелец: GtkToolbar

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

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

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

Свойство стиля “max-child-expand”

  “max-child-expand”         int

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

Владелец: GtkToolbar

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

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

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

Свойство стиля “shadow-type”

  “shadow-type”              GtkShadowType

Стиль фаски вокруг панели инструментов.

GtkToolbar:shadow-type устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте стандартное свойство границы CSS (через объекты, такие как GtkStyleContext и GtkCssProvider); значение этого свойства стиля игнорируется.

Владелец: GtkToolbar

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

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

Свойство стиля “space-size”

  “space-size”               int

Размер разделителей на панели инструментов.

GtkToolbar:space-size устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте стандартные свойства отступа/поля CSS для элементов-разделителей; значение этого свойства стиля игнорируется.

Владелец: GtkToolbar

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

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

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

Свойство стиля “space-style”

  “space-style”              GtkToolbarSpaceStyle

Стиль разделителей на панели инструментов.

GtkToolbar:space-style устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте свойства CSS для элементов-разделителей, чтобы стилизовать разделители на панели инструментов; значение этого свойства стиля игнорируется.

Владелец: GtkToolbar

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

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

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

Сигнал “focus-home-or-end”

gboolean
user_function (GtkToolbar *toolbar,
               gboolean    focus_home,
               gpointer    user_data)

Сигнал привязки клавиш, используемый внутри GTK+. Этот сигнал нельзя использовать в прикладном коде.

Параметры

toolbar

панель инструментов GtkToolbar, которая отправила сигнал

focus_home

TRUE если необходимо сфокусировать первый элемент

user_data

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

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

TRUE если сигнал был обработан, FALSE если нет

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

Сигнал “orientation-changed”

void
user_function (GtkToolbar    *toolbar,
               GtkOrientation orientation,
               gpointer       user_data)

Отправляется при изменении ориентации панели инструментов.

Параметры

toolbar

объект, который отправил сигнал

orientation

новая ориентация GtkOrientation панели инструментов

user_data

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

Флаги: Выполнить первым

Сигнал “popup-context-menu”

gboolean
user_function (GtkToolbar *toolbar,
               int         x,
               int         y,
               int         button,
               gpointer    user_data)

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

Разработчики приложений должны обрабатывать этот сигнал, если они хотят отобразить контекстное меню на панели инструментов. Контекстное меню должно отображаться по координатам, указанным параметром x и y. Номер нажатой кнопки мыши указан в параметре button. Если меню было вызвано с помощью клавиатуры, button имеет значение -1.

Параметры

toolbar

панель инструментов GtkToolbar, которая отправила сигнал

x

координата x точки, где должно появиться меню

y

координата y точки, где должно появиться меню

button

номер нажатой кнопки мыши или -1

user_data

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

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

return TRUE если сигнал был обработан, FALSE если нет

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

Сигнал “style-changed”

void
user_function (GtkToolbar     *toolbar,
               GtkToolbarStyle style,
               gpointer        user_data)

Отправляется при изменении стиля панели инструментов.

Параметры

toolbar

Панель инструментов GtkToolbar, которая отправила сигнал

style

новый стиль GtkToolbarStyle панели инструментов

user_data

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

Флаги: Выполнить первым

См. также

GtkToolItem

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkToolbar.html

Spec-Zone.ru

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