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, который является дочерним элементом |
Возвращает
позицию элемента на панели инструментов.
С версии: 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 | Позиция на панели инструментов |
С версии: 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 или | [allow-none] |
index_ | позиция на |
С версии: 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 | новый стиль для |
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 |
| |
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 | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить первым
См. также
© 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