GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
GtkActionGtkAction Действия которые могут быть выполнены пунктами меню или панели инструментов. |
#include <gtk/gtk.h>
GtkAction;
GtkAction* gtk_action_new (const gchar *name,
const gchar *label,
const gchar *tooltip,
const gchar *stock_id);
const gchar* gtk_action_get_name (GtkAction *action);
gboolean gtk_action_is_sensitive (GtkAction *action);
gboolean gtk_action_get_sensitive (GtkAction *action);
void gtk_action_set_sensitive (GtkAction *action,
gboolean sensitive);
gboolean gtk_action_is_visible (GtkAction *action);
gboolean gtk_action_get_visible (GtkAction *action);
void gtk_action_set_visible (GtkAction *action,
gboolean visible);
void gtk_action_activate (GtkAction *action);
GtkWidget* gtk_action_create_icon (GtkAction *action,
GtkIconSize icon_size);
GtkWidget* gtk_action_create_menu_item (GtkAction *action);
GtkWidget* gtk_action_create_tool_item (GtkAction *action);
void gtk_action_connect_proxy (GtkAction *action,
GtkWidget *proxy);
void gtk_action_disconnect_proxy (GtkAction *action,
GtkWidget *proxy);
GSList* gtk_action_get_proxies (GtkAction *action);
void gtk_action_connect_accelerator (GtkAction *action);
void gtk_action_disconnect_accelerator
(GtkAction *action);
void gtk_action_block_activate_from (GtkAction *action,
GtkWidget *proxy);
void gtk_action_unblock_activate_from
(GtkAction *action,
GtkWidget *proxy);
const gchar* gtk_action_get_accel_path (GtkAction *action);
void gtk_action_set_accel_path (GtkAction *action,
const gchar *accel_path);
GClosure* gtk_action_get_accel_closure (GtkAction *action);
void gtk_action_set_accel_group (GtkAction *action,
GtkAccelGroup *accel_group);
GObject
+----GtkAction
+----GtkToggleAction
"action-group" GtkActionGroup : Read / Write
"hide-if-empty" gboolean : Read / Write
"is-important" gboolean : Read / Write
"label" gchararray : Read / Write
"name" gchararray : Read / Write / Construct Only
"sensitive" gboolean : Read / Write
"short-label" gchararray : Read / Write
"stock-id" gchararray : Read / Write
"tooltip" gchararray : Read / Write
"visible" gboolean : Read / Write
"visible-horizontal" gboolean : Read / Write
"visible-overflown" gboolean : Read / Write
"visible-vertical" gboolean : Read / Write
"activate" void user_function (GtkAction *action,
gpointer user_data) : Run first / No recursion
Действия представляют операции которые может выполнять пользователь, вместе с небольшой информацией о том как это должно быть представлено в интерфейсе. Каждое действие обеспечивает метод создания значков, пункты меню и пункты панели инструментов представляют себя сами.
Так же как callback-функция которая вызывается когда действие активировано, нижеследующее тоже связано с действием:
имя (не переводится, для поиска пути)
ярлык (переводится, для отображения)
акселератор
указывает ли ярлык заготовленный id
подсказка (опционально, переводится)
ярлык панели инструментов (опционально, короче ярлыка)
Действие также имеет некоторую информацию о состоянии:
видимость (показать/скрыть)
чувствительность (включено/выключено)
Кроме обычных действий, есть toggle actions, которые могут переключаться между двумя состояниями и radio actions, когда только одно действие из группы может быть в состоянии "active". Другие действия могут осуществляеться как подкласс GtkAction.
Каждое действие может иметь один или больше уполномоченных пунктов меню, кнопок панели инструментов или других уполномоченных виджетов. Полномочия отражают состояние действия (текстовый ярлык, подсказка, значок, видимость, чувствительность, и т.д.), и должны изменяться когда меняется состояние действия. Когда активизируется полномочие, активизируется и его действие.
typedef struct _GtkAction GtkAction;GtkAction структура содержит только закрытые данные к которым нет непосредственного доступа.
gtk_action_new ()
GtkAction* gtk_action_new (const gchar *name, const gchar *label, const gchar *tooltip, const gchar *stock_id);
Создаёт новый объект GtkAction. Для добавления действия к GtkActionGroup и установки акселератора для действия, вызовите gtk_action_group_add_action_with_accel(). Смотрите the section called UI Definitions для информации о доступных именах действий.
name : |
Уникальное имя для действия |
label : |
Ярлык отображаемый в пунктах меню и на кнопках |
tooltip : |
Подсказка для действия |
stock_id : |
Заготовленный значок для отображения в виджетах представляющих действие |
Возвращает: |
Новый GtkAction |
Начиная с версии 2.4
const gchar* gtk_action_get_name (GtkAction *action);Возвращает имя действия.
action : |
Объект действия |
Возвращает: |
Имя действия. Строкой владеет GTK+ поэтому не нужно её освобождать. |
Начиная с версии 2.4
gboolean gtk_action_is_sensitive (GtkAction *action);Возвращает фактическую чувствительность действия.
action : |
Объект действия |
Возвращает: |
TRUE если действие и ассоциированная с ним группа действий являются чувствительными. |
Начиная с версии 2.4
gboolean gtk_action_get_sensitive (GtkAction *action);Возвращает чувствительно ли само действие. Помните это не означает фактическую чувствительность. Смотрите gtk_action_is_sensitive().
action : |
Объект действия |
Возвращает: |
TRUE если само действие чувствительно. |
Начиная с версии 2.4
void gtk_action_set_sensitive (GtkAction *action,
gboolean sensitive);
Устанавливает ::sensitive свойство для действия в значение sensitive. Помните это не означает фактическую чувствительность. Смотрите gtk_action_is_sensitive().
action : |
Объект действия |
sensitive : |
TRUE чтобы действие стало чувствительным |
Начиная с версии 2.6
gboolean gtk_action_is_visible (GtkAction *action);Возвращает фактическую видимость действия.
action : |
Объект действия |
Возвращает: |
TRUE если действие и ассоциированная с ним группа действий видимы. |
Начиная с версии 2.4
gboolean gtk_action_get_visible (GtkAction *action);Возвращает видимо ли само действие. Помните это не означает фактическую видимость. Смотрите gtk_action_is_sensitive().
action : |
Объект действия |
Возвращает: |
TRUE если само действие видимо. |
Начиная с версии 2.4
void gtk_action_set_visible (GtkAction *action,
gboolean visible);
Устанавливает ::visible свойство действия в visible. Помните это не означает фактическую видимость. Смотрите gtk_action_is_visible().
action : |
Объект действия |
visible : |
TRUE делает действие видимым |
Начиная с версии 2.6
void gtk_action_activate (GtkAction *action);Издаёт сигнал "activate" на определенном действии, если оно чувствительно. Эту функцию вызывают полномочные виджеты при активации.
Эта функция также может использоваться для самостоятельной активации действия.
action : |
Объект действия |
Начиная с версии 2.4
GtkWidget* gtk_action_create_icon (GtkAction *action,
GtkIconSize icon_size);
Эта функция предназначена для использования осуществляемыми действиями для создания значков отображаемых в полномочных виджетах.
action : |
Объект действия |
icon_size : |
Размер создаваемого значка. |
Возвращает: |
Виджет отображающий значок для этого действия. |
Начиная с версии 2.4
GtkWidget* gtk_action_create_menu_item (GtkAction *action);Создаёт полномочные виджеты пунктов меню для данного действия.
action : |
Объект действия |
Возвращает: |
Пункт меню подключаемый к действию. |
Начиная с версии 2.4
GtkWidget* gtk_action_create_tool_item (GtkAction *action);Создаёт полномочные виджеты пунктов панели инструментов для данного действия.
action : |
Объект действия |
Возвращает: |
Пункт панели инструментов подключаемый к данному действию. |
Начиная с версии 2.4
void gtk_action_connect_proxy (GtkAction *action,
GtkWidget *proxy);
Подключает виджет к объекту действия как уполномоченный. Синхронизирует различные свойства действия с виджетом (такие как текстовый ярлык, значок, подсказка, и т.д.), и присоединяет callback-функцию, чтобы действие активизировалось вместе с полномочным виджетом.
Если виджет уже подключен к действию, эта функция сначала отключает его.
action : |
Объект действия |
proxy : |
полномочный виджет |
Начиная с версии 2.4
void gtk_action_disconnect_proxy (GtkAction *action,
GtkWidget *proxy);
Отключает уполномоченный виджет от действия. Но не разрушает виджет.
action : |
Объект действия |
proxy : |
полномочный виджет |
Начиная с версии 2.4
GSList* gtk_action_get_proxies (GtkAction *action);Возвращает уполномоченные виджеты для действия.
action : |
Объект действия |
Возвращает: |
GSList уполномоченных виджетов. Списком владеет действие и его не нужно освобождать. |
Начиная с версии 2.4
void gtk_action_connect_accelerator (GtkAction *action);Устанавливает акселератор для action если action имеет путь акселератора и группу. Смотрите gtk_action_set_accel_path() и gtk_action_set_accel_group()
Так как множественные полномочия могут независимо вызывать установку акселераторов, action подсчитывает число вызовов функции и не удаляет акселератор пока gtk_action_disconnect_accelerator() не вызовется такое же количество раз.
action : |
Начиная с версии 2.4
void gtk_action_disconnect_accelerator
(GtkAction *action);
Уничтожает эффект от вызова gtk_action_connect_accelerator().
action : |
Начиная с версии 2.4
void gtk_action_block_activate_from (GtkAction *action,
GtkWidget *proxy);
Отключает вызов сигналами функции gtk_action_activate() на данном полномочном виджете. Это используется для остановки цикличного уведомления для выборочных действий или радио действий.
Эта функция предназначена для использования осуществляемым действием.
action : |
Объект действия |
proxy : |
уполномоченный виджет |
Начиная с версии 2.4
void gtk_action_unblock_activate_from
(GtkAction *action,
GtkWidget *proxy);
Включает вызов функции gtk_action_activate() по сигналу на уполномоченном виджете. Это отменяет блокировку установленную gtk_action_block_activate_from().
Эта функция предназначена для использования осуществляемым действием.
action : |
Объект действия |
proxy : |
уполномоченный виджет |
Начиная с версии 2.4
const gchar* gtk_action_get_accel_path (GtkAction *action);Возвращает путь акселератора для этого действия.
action : |
Объект действия |
Возвращает: |
Путь акселератора для этого действия, или NULL если не установлено. Возвращенной строкой владеет GTK+ и она не должна освобождаться. |
Начиная с версии 2.6
void gtk_action_set_accel_path (GtkAction *action,
const gchar *accel_path);
Устанавливает путь акселератора для данного действия. Все уполномоченный виджеты связанные с этим действием будут иметь этот путь, так чтобы их акселераторы были совместимы.
action : |
Объект действия |
accel_path : |
путь акселератора |
Начиная с версии 2.4
GClosure* gtk_action_get_accel_closure (GtkAction *action);Возвращает завершённый акселератор для этого действия.
action : |
Объект действия |
Возвращает: |
Завершённый акселератор для этого действия. Результатом владеет GTK+ и он не должен освобождаться. |
Начиная с версии 2.8
void gtk_action_set_accel_group (GtkAction *action,
GtkAccelGroup *accel_group);
Устанавливает GtkAccelGroup в которую будет установлен акселератор для определённого действия.
action : |
Объект действия |
accel_group : |
GtkAccelGroup или NULL |
Начиная с версии 2.4
"action-group" GtkActionGroup : Read / WriteGtkActionGroup с которым связан этот GtkAction, или NULL (для внутреннего использования).
Свойство "hide-if-empty"
"hide-if-empty" gboolean : Read / WriteЕсли TRUE, пустое меню уполномоченное для этого действия будет скрыто.
Значение по умолчанию: TRUE
Свойство "is-important"
"is-important" gboolean : Read / WriteСчитается ли действие важным. Если TRUE, инструментальный пункт уполномоченный для этого действия показывает текст в режиме GTK_TOOLBAR_BOTH_HORIZ.
Значение по умолчанию: FALSE
Свойство "label"
"label" gchararray : Read / WriteЯрлык используемый для пунктов меню и кнопок которые активизируют определенное действие.
Значение по умолчанию: NULL
Свойство "name"
"name" gchararray : Read / Write / Construct OnlyУникальное имя для действия.
Значение по умолчанию: NULL
Свойство "sensitive"
"sensitive" gboolean : Read / WriteЧувствительность действия.
Значение по умолчанию: TRUE
Свойство "short-label"
"short-label" gchararray : Read / WriteКороткий ярлык который может использоваться на кнопках инструментальной панели.
Значение по умолчанию: NULL
Свойство "stock-id"
"stock-id" gchararray : Read / WriteЗаготовленный значок отображаемый в виджете представляющем действие.
Значение по умолчанию: NULL
Свойство "tooltip"
"tooltip" gchararray : Read / WriteПодсказка для данного действия.
Значение по умолчанию: NULL
Свойство "visible"
"visible" gboolean : Read / WriteРежим видимости действия.
Значение по умолчанию: TRUE
Свойство "visible-horizontal"
"visible-horizontal" gboolean : Read / WriteДолжны ли пункты панели инструментов быть видимыми при горизонтальной ориентации панели.
Значение по умолчанию: TRUE
Свойство "visible-overflown"
"visible-overflown" gboolean : Read / WriteКогда TRUE, уполномоченные инструментальные пункты (toolitem) для данного действия представлены в меню переполнения данной панели инструментов.
Значение по умолчанию: TRUE
Начиная с версии 2.6
Свойство "visible-vertical"
"visible-vertical" gboolean : Read / WriteВидимы ли пункты панели инструментов при вертикальной ориентации.
Значение по умолчанию: TRUE
Детали сигналов
Сигнал "activate"
void user_function (GtkAction *action, gpointer user_data) : Run first / No recursion
Сигнал "activate" издаётся когда активируется действие.
action : |
|
user_data : |
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Начиная с версии 2.4