Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkToolItem

GtkToolItem Основной класс виджетов добавляемых к GtkToolbar

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

#include <gtk/gtk.h> GtkToolItem; GtkToolItem* gtk_tool_item_new (void); void gtk_tool_item_set_homogeneous (GtkToolItem *tool_item, gboolean homogeneous); gboolean gtk_tool_item_get_homogeneous (GtkToolItem *tool_item); void gtk_tool_item_set_expand (GtkToolItem *tool_item, gboolean expand); gboolean gtk_tool_item_get_expand (GtkToolItem *tool_item); void gtk_tool_item_set_tooltip (GtkToolItem *tool_item, GtkTooltips *tooltips, const gchar *tip_text, const gchar *tip_private); void gtk_tool_item_set_use_drag_window (GtkToolItem *toolitem, gboolean use_drag_window); gboolean gtk_tool_item_get_use_drag_window (GtkToolItem *toolitem); void gtk_tool_item_set_visible_horizontal (GtkToolItem *toolitem, gboolean visible_horizontal); gboolean gtk_tool_item_get_visible_horizontal (GtkToolItem *toolitem); void gtk_tool_item_set_visible_vertical (GtkToolItem *toolitem, gboolean visible_vertical); gboolean gtk_tool_item_get_visible_vertical (GtkToolItem *toolitem); void gtk_tool_item_set_is_important (GtkToolItem *tool_item, gboolean is_important); gboolean gtk_tool_item_get_is_important (GtkToolItem *tool_item); GtkIconSize gtk_tool_item_get_icon_size (GtkToolItem *tool_item); GtkOrientation gtk_tool_item_get_orientation (GtkToolItem *tool_item); GtkToolbarStyle gtk_tool_item_get_toolbar_style (GtkToolItem *tool_item); GtkReliefStyle gtk_tool_item_get_relief_style (GtkToolItem *tool_item); GtkWidget* gtk_tool_item_retrieve_proxy_menu_item (GtkToolItem *tool_item); GtkWidget* gtk_tool_item_get_proxy_menu_item (GtkToolItem *tool_item, const gchar *menu_item_id); void gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item, const gchar *menu_item_id, GtkWidget *menu_item); void gtk_tool_item_rebuild_menu (GtkToolItem *tool_item);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkToolItem +----GtkToolButton +----GtkSeparatorToolItem

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

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

Свойства

"is-important" gboolean : Read / Write "visible-horizontal" gboolean : Read / Write "visible-vertical" gboolean : Read / Write

Сигналы

"create-menu-proxy" gboolean user_function (GtkToolItem *toolitem, gpointer user_data) : Run last "set-tooltip" gboolean user_function (GtkToolItem *toolitem, GtkTooltips *tooltips, gchar *tip_text, gchar *tip_private, gpointer user_data) : Run last "toolbar-reconfigured" void user_function (GtkToolItem *toolitem, gpointer user_data) : Run last

Описание

GtkToolItem является виджетом для добавления на панель инструментов. Для создания пункта панели инструментов содержащего что то ещё кроме кнопки, используйте gtk_tool_item_new(). Для добавления дочернего виджета к пункту меню используйте gtk_container_add().

Для пунктов панели инструментов которые содержат кнопки, смотрите GtkToolButton, GtkToggleToolButton и GtkRadioToolButton классы.

Смотрите класс GtkToolbar описывающий виджет панель инструментов.

Детали

GtkToolItem

typedef struct _GtkToolItem GtkToolItem;

GtkToolItem структура содержит только закрытые данные. Доступ к ней должен осуществляеться функциями описанными ниже.


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 :

Должен ли tool_item иметь однородный размер с другими пунктами

Начиная с версии 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 :

Должен ли tool_item расширяться на всё доступное пространство.

Начиная с версии 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 ()

void gtk_tool_item_set_tooltip (GtkToolItem *tool_item, GtkTooltips *tooltips, const gchar *tip_text, const gchar *tip_private);

Устанавливает объект GtkTooltips используемый для tool_item, текст отображаемый как подсказка для пункта и дополнительный текст подсказки. Смотрите gtk_tooltips_set_tip().

tool_item :

GtkToolItem:

tooltips :

Используемый объект GtkTooltips

tip_text :

Текст используемый как подсказка для tool_item

tip_private :

Текст используемый как дополнительная подсказка

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


gtk_tool_item_set_use_drag_window ()

void gtk_tool_item_set_use_drag_window (GtkToolItem *toolitem, gboolean use_drag_window);

Устанавливает имеет ли toolitem окно для перемещения. Если TRUE инструментальный пункт может использоваться как источник для перемещения с помощью gtk_drag_source_set(). Когда toolitem имеет окно для перемещения оно будет перехватывать все события, даже те которые посланы дочернему виджету toolitem.

toolitem :

GtkToolItem

use_drag_window :

Имеет ли toolitem окно для перемещения.

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


gtk_tool_item_get_use_drag_window ()

gboolean gtk_tool_item_get_use_drag_window (GtkToolItem *toolitem);

Определяет имеет ли toolitem окно для перемещения. Смотрите gtk_tool_item_set_use_drag_window().

toolitem :

GtkToolItem

Возвращает :

TRUE если toolitem использует окно для перемещения.

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


gtk_tool_item_set_visible_horizontal ()

void gtk_tool_item_set_visible_horizontal (GtkToolItem *toolitem, gboolean visible_horizontal);

Устанавливает видим ли toolitem при горизонтальном расположении панели инструментов.

toolitem :

GtkToolItem

visible_horizontal :

Видим ли toolitem при горизонтальном режиме панели

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


gtk_tool_item_get_visible_horizontal ()

gboolean gtk_tool_item_get_visible_horizontal (GtkToolItem *toolitem);

Определяет видим ли toolitem при горизонтальном режиме расположения панели.

toolitem :

GtkToolItem

Возвращает :

TRUE если toolitem видим при горизонтальном расположении панели.

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


gtk_tool_item_set_visible_vertical ()

void gtk_tool_item_set_visible_vertical (GtkToolItem *toolitem, gboolean visible_vertical);

Устанавливает видим ли toolitem при вертикальном расположении панели. Некоторые инструментальные пункты, такие как поле для ввода текста, являются слишком широкими для размещения на вертикальной панели. Если visible_vertical равен FALSE toolitem не будет размещаться на вертикально расположенной панели инструментов.

toolitem :

GtkToolItem

visible_vertical :

Должен ли быть видим toolitem при вертикальном режиме

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


gtk_tool_item_get_visible_vertical ()

gboolean gtk_tool_item_get_visible_vertical (GtkToolItem *toolitem);

Определяет видим ли toolitem при вертикальном расположении панели. Смотрите gtk_tool_item_set_visible_vertical().

toolitem :

GtkToolItem

Возвращает :

Видим ли toolitem при вертикальном расположении

Начиная с версии 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" имеют ярлыки, эффект известный как "priority text"

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_icon_size ()

GtkIconSize gtk_tool_item_get_icon_size     (GtkToolItem *tool_item);

Определяет размер tool_item. Обычно подклассы GtkToolItem должны вызывать эту функцию для определения какие размеры значков они должны использовать.

tool_item :

GtkToolItem:

Возвращает :

GtkIconSize указывает размер значка используемый для tool_item

Начиная с версии 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, означает отображение значков и текста размещенных рядом друг с другом горизонтально (однако помните, GtkToolButton::has_text_horizontally не показывает ярлыки когда стиль панели инструментов установлен в 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_style(). Обычно подкласс GtkToolItem должен вызывать эту функцию для обработки сигнала GtkToolItem::toolbar_reconfigured определяющего стиль рельефа кнопок.

tool_item :

GtkToolItem:

Возвращает :

GtkReliefStyle указывает стиль рельефа используемый для tool_item.

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


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 :

GtkToolItem:

Возвращает :

GtkMenuItem который появиться в меню переполнения для tool_item.

Начиная с версии 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 :

GtkToolItem:

menu_item_id :

Строка используемая для идентификации пунктов меню

Возвращает :

GtkMenuItem помещаемый в gtk_tool_item_set_proxy_menu_item(), если menu_item_ids соответствует.

Начиная с версии 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 :

GtkToolItem:

menu_item_id :

Строка используемая для идентификации menu_item

menu_item :

GtkMenuItem используемый в меню переполнения

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


gtk_tool_item_rebuild_menu ()

void        gtk_tool_item_rebuild_menu      (GtkToolItem *tool_item);

Вызов этой функции сообщает об изменении меню переполнения панели инструментов для tool_item. Если меню переполнения видимо когда вызвана эта функция, оно будет перестроено.

Функция должна вызываться когда изменяется инструментальный пункт в ответ на сигнал "create_menu_proxy".

tool_item :

GtkToolItem

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

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

Свойство "is-important"

  "is-important"         gboolean              : Read / Write

Должен ли пункт панели рассматриваться как важный. Если TRUE, кнопки панели инструментов показывают текст в режиме GTK_TOOLBAR_BOTH_HORIZ.

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


Свойство "visible-horizontal"

  "visible-horizontal"   gboolean              : Read / Write

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

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


Свойство "visible-vertical"

  "visible-vertical"     gboolean              : Read / Write

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

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

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

Сигнал "create-menu-proxy"

gboolean user_function (GtkToolItem *toolitem, gpointer user_data) : Run last

Этот сигнал издаётся когда инструментальная панель нуждается в информации из 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() для аннулирования кэша и убедиться в том что панель инструментов перестроила меню переполнения.

toolitem :

объект издающий сигнал

user_data :

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

Возвращает :

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


Сигнал "set-tooltip"

gboolean user_function (GtkToolItem *toolitem, GtkTooltips *tooltips, gchar *tip_text, gchar *tip_private, gpointer user_data) : Run last

This signal is emitted when the toolitem's tooltip changes. Application developers can use gtk_tool_item_set_tooltip() to set the item's tooltip.

toolitem :

объект издающий сигнал

tooltips :

the GtkTooltips

tip_text :

the tooltip text

tip_private :

the tooltip private text

user_data :

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

Возвращает :

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


Сигнал "toolbar-reconfigured"

void user_function (GtkToolItem *toolitem, gpointer user_data) : Run last

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

для определения внешнего вида панели инструментов и изменяет себя соответственно.

toolitem :

объект издающий сигнал

user_data :

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

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

GtkToolbar

Виджет панели инструментов

GtkToolButton

Подкласс GtkToolItem отображающий кнопки на панели инструментов

GtkSeparatorToolItem

Подкласс GtkToolItem который разделяет группы пунктов на панели инструментов