GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
GtkToolItemGtkToolItem Основной класс виджетов добавляемых к 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 описывающий виджет панель инструментов.
typedef struct _GtkToolItem GtkToolItem;GtkToolItem структура содержит только закрытые данные. Доступ к ней должен осуществляеться функциями описанными ниже.
gtk_tool_item_new ()
GtkToolItem* gtk_tool_item_new (void);Создаёт новый GtkToolItem
Возвращает : |
новый GtkToolItem |
Начиная с версии 2.4
void gtk_tool_item_set_homogeneous (GtkToolItem *tool_item,
gboolean homogeneous);
Устанавливает должен ли tool_item
быть однородного размера с другими
пунктами. Эффект в том что все однородные
пункты получают размер самого большого
пункта.
|
GtkToolItem: |
|
Должен ли |
Начиная с версии 2.4
gboolean gtk_tool_item_get_homogeneous (GtkToolItem *tool_item);Определяет имеет ли
tool_item
однородный размер с другими пунктами. Смотритеgtk_tool_item_set_homogeneous()
.
|
GtkToolItem: |
Возвращает : |
|
Начиная с версии 2.4
void gtk_tool_item_set_expand (GtkToolItem *tool_item,
gboolean expand);
Устанавливает должен ли tool_item
расширятся на всё свободное пространство
если на панели его больше чем нужно для
пункта. Это заставляет пункт увеличиваться
при увеличении панели и уменьшаться
при её уменьшении.
|
GtkToolItem: |
|
Должен ли |
Начиная с версии 2.4
gboolean gtk_tool_item_get_expand (GtkToolItem *tool_item);Определяет расширяется ли
tool_item
на всё доступное пространство. Смотритеgtk_tool_item_set_expand()
.
|
GtkToolItem: |
Возвращает : |
|
Начиная с версии 2.4
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()
.
|
GtkToolItem: |
|
Используемый объект GtkTooltips |
|
Текст используемый как подсказка
для |
|
Текст используемый как дополнительная подсказка |
Начиная с версии 2.4
void gtk_tool_item_set_use_drag_window
(GtkToolItem *toolitem,
gboolean use_drag_window);
Устанавливает имеет ли toolitem
окно для перемещения. Если TRUE
инструментальный пункт может использоваться
как источник для перемещения с помощью
gtk_drag_source_set()
.
Когда toolitem
имеет окно для
перемещения оно будет перехватывать
все события, даже те которые посланы
дочернему виджету toolitem
.
|
|
|
Имеет ли |
Начиная с версии 2.4
gboolean gtk_tool_item_get_use_drag_window
(GtkToolItem *toolitem);
Определяет имеет ли toolitem
окно для перемещения. Смотрите
gtk_tool_item_set_use_drag_window()
.
|
|
Возвращает : |
|
Начиная с версии 2.4
void gtk_tool_item_set_visible_horizontal
(GtkToolItem *toolitem,
gboolean visible_horizontal);
Устанавливает видим ли toolitem
при горизонтальном расположении панели
инструментов.
|
|
|
Видим ли |
Начиная с версии 2.4
gboolean gtk_tool_item_get_visible_horizontal
(GtkToolItem *toolitem);
Определяет видим ли toolitem
при горизонтальном режиме расположения
панели.
|
|
Возвращает : |
|
Начиная с версии 2.4
void gtk_tool_item_set_visible_vertical
(GtkToolItem *toolitem,
gboolean visible_vertical);
Устанавливает видим ли toolitem
при вертикальном расположении панели.
Некоторые инструментальные пункты,
такие как поле для ввода текста, являются
слишком широкими для размещения на
вертикальной панели. Если visible_vertical
равен FALSE
toolitem
не будет размещаться
на вертикально расположенной панели
инструментов.
|
|
|
Должен ли быть видим |
Начиная с версии 2.4
gboolean gtk_tool_item_get_visible_vertical
(GtkToolItem *toolitem);
Определяет видим ли toolitem
при вертикальном расположении панели.
Смотрите gtk_tool_item_set_visible_vertical()
.
|
|
Возвращает : |
Видим ли |
Начиная с версии 2.4
void gtk_tool_item_set_is_important (GtkToolItem *tool_item,
gboolean is_important);
Устанавливает должен ли tool_item
рассматриваться как важный. GtkToolButton
класс использует это свойство для
определения показывать или скрыть ярлык
когда стиль панели инструментов
установлен в GTK_TOOLBAR_BOTH_HORIZ
.
Как результат только инструментальные
кнопки со свойством "is_important" имеют
ярлыки, эффект известный как "priority
text"
|
|
|
Должен ли инструментальный пункт рассматриваться как важный |
Начиная с версии 2.4
gboolean gtk_tool_item_get_is_important (GtkToolItem *tool_item);Определяет рассматривается ли
tool_item
как важный. Смотритеgtk_tool_item_set_is_important()
|
|
Возвращает : |
|
Начиная с версии 2.4
GtkIconSize gtk_tool_item_get_icon_size (GtkToolItem *tool_item);Определяет размер
tool_item
. Обычно подклассы GtkToolItem должны вызывать эту функцию для определения какие размеры значков они должны использовать.
|
GtkToolItem: |
Возвращает : |
GtkIconSize
указывает размер значка используемый
для |
Начиная с версии 2.4
GtkOrientation gtk_tool_item_get_orientation
(GtkToolItem *tool_item);
Определяет ориентацию используемую
для tool_item
. Обычно подклассы
GtkToolItem должны вызывать эту
функцию для определения используемой
ориентации.
|
GtkToolItem: |
Возвращает : |
GtkOrientation
указывает ориентацию используемую
для |
Начиная с версии 2.4
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).
|
GtkToolItem: |
Возвращает : |
GtkToolbarStyle
указывает стиль панели инструментов
для |
Начиная с версии 2.4
GtkReliefStyle gtk_tool_item_get_relief_style
(GtkToolItem *tool_item);
Определяет стиль рельефа tool_item
.
Смотрите gtk_button_set_relief_style()
. Обычно
подкласс GtkToolItem должен вызывать
эту функцию для обработки сигнала
GtkToolItem::toolbar_reconfigured
определяющего стиль рельефа кнопок.
|
GtkToolItem: |
Возвращает : |
GtkReliefStyle
указывает стиль рельефа используемый
для |
Начиная с версии 2.4
GtkWidget* gtk_tool_item_retrieve_proxy_menu_item
(GtkToolItem *tool_item);
Определяет последний установленный
GtkMenuItem с помощью
gtk_tool_item_set_proxy_menu_item()
,
то есть GtkMenuItem который
будет появляться в меню переполнения
панели.
|
GtkToolItem: |
Возвращает : |
GtkMenuItem который
появиться в меню переполнения для
|
Начиная с версии 2.4
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_id
s
гарантирует что GtkToolItem не изменит
пункты меню которые он не создавал.
|
GtkToolItem: |
|
Строка используемая для идентификации пунктов меню |
Возвращает : |
GtkMenuItem помещаемый
в |
Начиная с версии 2.4
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()
.
|
GtkToolItem: |
|
Строка используемая для идентификации
|
|
GtkMenuItem используемый в меню переполнения |
Начиная с версии 2.4
void gtk_tool_item_rebuild_menu (GtkToolItem *tool_item);Вызов этой функции сообщает об изменении меню переполнения панели инструментов для
tool_item
. Если меню переполнения видимо когда вызвана эта функция, оно будет перестроено.Функция должна вызываться когда изменяется инструментальный пункт в ответ на сигнал "create_menu_proxy".
|
Начиная с версии 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()
для аннулирования кэша и убедиться в
том что панель инструментов перестроила
меню переполнения.
|
объект издающий сигнал |
|
пользовательские данные устанавливаемые при подключении обработчика |
Возвращает : |
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.
|
объект издающий сигнал |
|
the GtkTooltips |
|
the tooltip text |
|
the tooltip private text |
|
пользовательские данные устанавливаемые при подключении обработчика |
Возвращает : |
void user_function (GtkToolItem *toolitem,
gpointer user_data) : Run last
Этот сигнал издаётся когда изменяется какое нибудь свойство дочернего виджета панели инструментов. Обычно подкласс GtkToolItem, по умолчанию обрабатывает этот сигнал используя функции
для определения внешнего вида панели инструментов и изменяет себя соответственно.
|
объект издающий сигнал |
|
пользовательские данные устанавливаемые при подключении обработчика |
Виджет панели инструментов
Подкласс GtkToolItem отображающий кнопки на панели инструментов
Подкласс GtkToolItem который разделяет группы пунктов на панели инструментов