GtkToolItem
GtkToolItem — Базовый класс виджетов, которые могут быть добавлены в GtkToolShell
Функции
Свойства
| gboolean | is-important | Чтение/Запись |
| gboolean | visible-horizontal | Чтение/Запись |
| gboolean | visible-vertical | Чтение/Запись |
Сигналы
Типы и значения
| struct | GtkToolItem |
| struct | GtkToolItemClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkToolItem ├── GtkToolButton ╰── GtkSeparatorToolItem
Реализованные интерфейсы
GtkToolItem реализует AtkImplementorIface, GtkBuildable и GtkActivatable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkToolItems — это виджеты, которые могут отображаться на панели инструментов. Чтобы создать элемент панели инструментов, содержащий что-либо кроме кнопки, используйте gtk_tool_item_new(). Используйте gtk_container_add() для добавления дочернего виджета в элемент панели инструментов.
Для элементов панели инструментов, содержащих кнопки, см. классы GtkToolButton, GtkToggleToolButton и GtkRadioToolButton.
Описание виджета панели инструментов см. в классе GtkToolbar, а описание интерфейса оболочки инструментов — в классе GtkToolShell.
Функции
gtk_tool_item_new ()
GtkToolItem *
gtk_tool_item_new (void); Создаёт новый GtkToolItem
Возвращаемое значение
новый GtkToolItem
С: 2.4
gtk_tool_item_set_homogeneous ()
void gtk_tool_item_set_homogeneous (GtkToolItem *tool_item,gboolean homogeneous);
Устанавливает, должен ли tool_item иметь такой же размер, как и другие однородные элементы. В результате все однородные элементы будут иметь одинаковую ширину, равную ширине самого широкого из них.
Параметры
tool_item | элемент GtkToolItem | |
homogeneous | устанавливает, имеет ли |
С: 2.4
gtk_tool_item_get_homogeneous ()
gboolean
gtk_tool_item_get_homogeneous (GtkToolItem *tool_item); Возвращает, имеет ли tool_item тот же размер, что и другие однородные элементы. См. gtk_tool_item_set_homogeneous().
Параметры
tool_item | элемент GtkToolItem |
Возвращаемое значение
TRUE, если элемент имеет тот же размер, что и другие однородные элементы.
С: 2.4
gtk_tool_item_set_expand ()
void gtk_tool_item_set_expand (GtkToolItem *tool_item,gboolean expand);
Устанавливает, будет ли tool_item занимать дополнительное пространство, если на панели инструментов места больше, чем необходимо для элементов. В результате элемент увеличивается, когда панель инструментов увеличивается, и уменьшается, когда она уменьшается.
Параметры
tool_item | элемент GtkToolItem | |
expand | Указывает, будет ли |
С: 2.4
gtk_tool_item_get_expand ()
gboolean
gtk_tool_item_get_expand (GtkToolItem *tool_item); Возвращает, будет ли tool_item занимать дополнительное пространство. См. gtk_tool_item_set_expand().
Параметры
tool_item | элемент GtkToolItem |
Возвращаемое значение
TRUE, если tool_item занимает дополнительное пространство.
С: 2.4
gtk_tool_item_set_tooltip_text ()
void gtk_tool_item_set_tooltip_text (GtkToolItem *tool_item,const gchar *text);
Устанавливает текст, который будет отображаться в подсказке к элементу. См. gtk_widget_set_tooltip_text().
Параметры
tool_item | элемент GtkToolItem | |
text | текст, используемый в качестве подсказки для |
С: 2.12
gtk_tool_item_set_tooltip_markup ()
void gtk_tool_item_set_tooltip_markup (GtkToolItem *tool_item,const gchar *markup);
Устанавливает разметку текста, который будет отображаться в подсказке к элементу. См. gtk_widget_set_tooltip_markup().
Параметры
tool_item | элемент GtkToolItem | |
markup | разметка текста, используемого в качестве подсказки для |
С: 2.12
gtk_tool_item_set_use_drag_window ()
void gtk_tool_item_set_use_drag_window (GtkToolItem *tool_item,gboolean use_drag_window);
Устанавливает, имеет ли tool_item окно перетаскивания. Если TRUE, то элемент может использоваться в качестве источника перетаскивания через gtk_drag_source_set(). Если tool_item имеет окно перетаскивания, оно будет перехватывать все события, даже те, которые в противном случае были бы отправлены в дочерний элемент tool_item .
Параметры
tool_item | элемент GtkToolItem | |
use_drag_window | Указывает, имеет ли |
С: 2.4
gtk_tool_item_get_use_drag_window ()
gboolean
gtk_tool_item_get_use_drag_window (GtkToolItem *tool_item); Возвращает, имеет ли tool_item окно перетаскивания. См. gtk_tool_item_set_use_drag_window().
Параметры
tool_item | элемент GtkToolItem |
Возвращаемое значение
TRUE, если tool_item использует окно перетаскивания.
С: 2.4
gtk_tool_item_set_visible_horizontal ()
void gtk_tool_item_set_visible_horizontal (GtkToolItem *tool_item,gboolean visible_horizontal);
Устанавливает, будет ли tool_item отображаться, когда панель инструментов прикреплена горизонтально.
Параметры
tool_item | элемент GtkToolItem | |
visible_horizontal | Указывает, будет ли |
С: 2.4
gtk_tool_item_get_visible_horizontal ()
gboolean
gtk_tool_item_get_visible_horizontal (GtkToolItem *tool_item); Возвращает, отображается ли tool_item на панелях инструментов, прикреплённых горизонтально.
Параметры
tool_item | элемент GtkToolItem |
Возвращаемое значение
TRUE, если tool_item отображается на панелях инструментов, прикреплённых горизонтально.
С: 2.4
gtk_tool_item_set_visible_vertical ()
void gtk_tool_item_set_visible_vertical (GtkToolItem *tool_item,gboolean visible_vertical);
Устанавливает, будет ли tool_item видимым, когда панель инструментов пристыкована вертикально. Некоторые элементы панели инструментов, такие как текстовые поля, слишком широкие, чтобы быть полезными на вертикально пристыкованной панели инструментов. Если visible_vertical равен FALSE, tool_item не будет отображаться на панелях инструментов, пристыкованных вертикально.
Параметры
tool_item | элемент GtkToolItem | |
visible_vertical | будет ли |
С: 2.4
gtk_tool_item_get_visible_vertical ()
gboolean
gtk_tool_item_get_visible_vertical (GtkToolItem *tool_item); Возвращает значение, определяющее видимость tool_item при вертикальной привязке панели инструментов. См. gtk_tool_item_set_visible_vertical().
Параметры
tool_item | элемент GtkToolItem |
Возвращает
значение, определяющее, будет ли tool_item видимым при вертикальной привязке панели инструментов
С: 2.4
gtk_tool_item_set_is_important ()
void gtk_tool_item_set_is_important (GtkToolItem *tool_item,gboolean is_important);
Устанавливает, является ли tool_item важным. Класс GtkToolButton использует это свойство для определения, нужно ли показывать или скрывать метку, когда стиль панели инструментов GTK_TOOLBAR_BOTH_HORIZ. В результате, только кнопки инструментов со свойством «is_important», установленным в значение «истина», будут иметь метки, что известно как «текст с приоритетом»
Параметры
tool_item | элемент GtkToolItem | |
is_important | является ли элемент инструмента важным |
С: 2.4
gtk_tool_item_get_is_important ()
gboolean
gtk_tool_item_get_is_important (GtkToolItem *tool_item); Возвращает значение, указывающее, считается ли tool_item важным. См. gtk_tool_item_set_is_important()
Параметры
tool_item | элемент GtkToolItem |
Возвращает
TRUE, если tool_item считается важным.
С: 2.4
gtk_tool_item_get_ellipsize_mode ()
PangoEllipsizeMode
gtk_tool_item_get_ellipsize_mode (GtkToolItem *tool_item); Возвращает режим обрезания, используемый для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию, чтобы узнать, как должен быть обрезан текст.
Параметры
tool_item | элемент GtkToolItem |
Возвращает
значение PangoEllipsizeMode, указывающее, как должен быть обрезан текст в tool_item.
С: 2.20
gtk_tool_item_get_icon_size ()
GtkIconSize
gtk_tool_item_get_icon_size (GtkToolItem *tool_item); Возвращает размер иконки, используемый для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию, чтобы узнать, какие иконки использовать.
Параметры
tool_item | элемент GtkToolItem |
С: 2.4
gtk_tool_item_get_orientation ()
GtkOrientation
gtk_tool_item_get_orientation (GtkToolItem *tool_item); Возвращает ориентацию, используемую для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию, чтобы узнать, какие иконки использовать.
Параметры
tool_item | элемент GtkToolItem |
Возвращает
значение GtkOrientation, указывающее ориентацию, используемую для tool_item
С: 2.4
gtk_tool_item_get_toolbar_style ()
GtkToolbarStyle
gtk_tool_item_get_toolbar_style (GtkToolItem *tool_item); Возвращает стиль панели инструментов, используемый для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию в обработчике сигнала GtkToolItem::toolbar_reconfigured, чтобы узнать, в каком стиле отображается панель инструментов, и соответствующим образом изменить себя.
Возможные значения:
GTK_TOOLBAR_BOTH, что означает, что элемент панели инструментов должен отображать как иконку, так и метку, расположенные вертикальноGTK_TOOLBAR_ICONS, что означает, что на панели инструментов отображаются только иконкиGTK_TOOLBAR_TEXT, что означает, что элемент панели инструментов должен отображать только текстGTK_TOOLBAR_BOTH_HORIZ, что означает, что элемент панели инструментов должен отображать как иконку, так и метку, расположенные горизонтально
Параметры
tool_item | элемент GtkToolItem |
Возвращает
значение GtkToolbarStyle, указывающее стиль панели инструментов, используемый для tool_item.
С: 2.4
gtk_tool_item_get_relief_style ()
GtkReliefStyle
gtk_tool_item_get_relief_style (GtkToolItem *tool_item); Возвращает стиль рельефа tool_item. См. gtk_button_set_relief(). Пользовательские подклассы GtkToolItem должны вызывать эту функцию в обработчике сигнала “toolbar_reconfigured” для определения стиля рельефа кнопок.
Параметры
tool_item | элемент GtkToolItem |
Возвращает
значение GtkReliefStyle, указывающее стиль рельефа, используемый для tool_item.
С: 2.4
gtk_tool_item_get_text_alignment ()
gfloat
gtk_tool_item_get_text_alignment (GtkToolItem *tool_item); Возвращает выравнивание текста, используемого для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию, чтобы узнать, как следует выравнивать текст.
Параметры
tool_item | a GtkToolItem: |
Возвращает
a gfloat указывающий горизонтальное выравнивание текста, используемого для tool_item
Since: 2.20
gtk_tool_item_get_text_orientation ()
GtkOrientation
gtk_tool_item_get_text_orientation (GtkToolItem *tool_item); Возвращает ориентацию текста, используемого для tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию, чтобы узнать, как следует ориентировать текст.
Параметры
tool_item |
Возвращает
a GtkOrientation указывающий ориентацию текста, используемого для tool_item
Since: 2.20
gtk_tool_item_retrieve_proxy_menu_item ()
GtkWidget *
gtk_tool_item_retrieve_proxy_menu_item
(GtkToolItem *tool_item); Возвращает GtkMenuItem, который был последним установлен с помощью gtk_tool_item_set_proxy_menu_item(), т.е. GtkMenuItem, который будет отображаться в меню переполнения.
Параметры
tool_item |
Возвращает
The GtkMenuItem, который будет отображаться в меню переполнения для tool_item .
[transfer none]
Since: 2.4
gtk_tool_item_get_proxy_menu_item ()
GtkWidget * gtk_tool_item_get_proxy_menu_item (GtkToolItem *tool_item,const gchar *menu_item_id);
Если menu_item_id соответствует строке, переданной в gtk_tool_item_set_proxy_menu_item(), возвращает соответствующий GtkMenuItem.
Пользовательские подклассы GtkToolItem должны использовать эту функцию для обновления элемента меню, когда GtkToolItem изменяется. Требование, чтобы menu_item_ids соответствовало, гарантирует, что GtkToolItem не изменит случайно элемент меню, который он не создавал.
Параметры
tool_item | ||
menu_item_id | строка, используемая для идентификации элемента меню |
Возвращает
The GtkMenuItem, переданный в gtk_tool_item_set_proxy_menu_item(), если menu_item_ids совпадают.
[transfer none]
Since: 2.4
gtk_tool_item_set_proxy_menu_item ()
void gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item,const gchar *menu_item_id,GtkWidget *menu_item);
Устанавливает GtkMenuItem, используемый в контекстном меню панели инструментов. menu_item_id используется для идентификации вызывающего функцию и должен также использоваться с gtk_tool_item_get_proxy_menu_item().
Параметры
tool_item | ||
menu_item_id | a string used to identify | |
menu_item | a GtkMenuItem to be used in the overflow menu |
Since: 2.4
gtk_tool_item_rebuild_menu ()
void
gtk_tool_item_rebuild_menu (GtkToolItem *tool_item); Вызов этой функции сигнализирует панели инструментов о том, что элемент меню переполнения для tool_item изменился. Если меню переполнения видно при вызове этой функции, меню будет перестроено.
Функция должна вызываться, когда элемент инструмента изменяет то, как он будет реагировать на сигнал “create-menu-proxy”.
Параметры
tool_item |
Since: 2.6
gtk_tool_item_toolbar-reconfigured ()
void
gtk_tool_item_toolbar_reconfigured (GtkToolItem *tool_item); Отправляет сигнал “toolbar_reconfigured” на tool_item. Реализации GtkToolbar и других GtkToolShell используют эту функцию для уведомления потомков, когда изменяется какой-либо аспект их конфигурации.
Параметры
tool_item |
Since: 2.14
gtk_tool_item_get_text-size-group ()
GtkSizeGroup *
gtk_tool_item_get_text_size_group (GtkToolItem *tool_item); Возвращает группу размеров, используемую для меток в tool_item. Пользовательские подклассы GtkToolItem должны вызывать эту функцию и использовать группу размеров для меток.
Параметры
tool_item |
Since: 2.20
Типы и значения
Структура GtkToolItem
struct GtkToolItem;
Структура GtkToolItem содержит только приватные данные. К ней следует обращаться только через функции, описанные ниже.
Структура GtkToolItemClass
struct GtkToolItemClass {
GtkBinClass parent_class;
/* signals */
gboolean (* create_menu_proxy) (GtkToolItem *tool_item);
void (* toolbar_reconfigured) (GtkToolItem *tool_item);
};
Члены
| Сигнал, испускаемый, когда панель инструментов нуждается в информации от tool_item о том, следует ли отображать элемент в контекстном меню. | |
| Сигнал, испускаемый, когда изменяется какой-либо атрибут панели инструментов, являющейся родителем элемента. |
Подробности свойств
Свойство “is-important”
“is-important” gboolean
Определяет, считается ли элемент панели инструментов важным. Если TRUE, кнопки панели инструментов отображают текст в режиме GTK_TOOLBAR_BOTH_HORIZ.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “visible-horizontal”
“visible-horizontal” gboolean
Определяет, отображается ли элемент панели инструментов при горизонтальной ориентации панели.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “visible-vertical”
“visible-vertical” gboolean
Определяет, отображается ли элемент панели инструментов при вертикальной ориентации панели.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Подробности сигналов
Сигнал “create-menu-proxy”
gboolean user_function (GtkToolItem *tool_item, gpointer user_data)
Этот сигнал испускается, когда панель инструментов нуждается в информации от tool_item о том, следует ли отображать элемент в контекстном меню панели инструментов. В ответ элемент должен либо
вызвать
gtk_tool_item_set_proxy_menu_item()с указателемNULLи вернутьTRUE, чтобы указать, что элемент не должен отображаться в контекстном меню;вызвать
gtk_tool_item_set_proxy_menu_item()с новым элементом меню и вернутьTRUE, или;вернуть
FALSE, чтобы указать, что сигнал не был обработан элементом. Это означает, что элемент не будет отображаться в контекстном меню, если позже обработчик не установит элемент меню.
Панель инструментов может кэшировать результат этого сигнала. Когда элемент изменяет способ реакции на этот сигнал, он должен вызвать gtk_tool_item_rebuild_menu(), чтобы обновить кэш и убедиться, что панель инструментов перестроит свое контекстное меню.
Параметры
tool_item | объект, на котором был испущен сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: TRUE
Сигнал “toolbar-reconfigured”
void user_function (GtkToolItem *tool_item, gpointer user_data)
Этот сигнал испускается, когда изменяется какой-либо атрибут панели инструментов, являющейся родителем элемента. Для пользовательских подклассов GtkToolItem стандартный обработчик этого сигнала использует функции
gtk_tool_shell_get_orientation()
gtk_tool_shell_get_style()
gtk_tool_shell_get_icon_size()
gtk_tool_shell_get_relief_style() для определения внешнего вида панели инструментов и соответствующей корректировки.
Параметры
tool_item | объект, на котором был испущен сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: TRUE
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkToolItem.html