Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Signals

GtkAction

GtkAction Действия которые могут быть выполнены пунктами меню или панели инструментов.

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

#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-функция которая вызывается когда действие активировано, нижеследующее тоже связано с действием:

Действие также имеет некоторую информацию о состоянии:

Кроме обычных действий, есть toggle actions, которые могут переключаться между двумя состояниями и radio actions, когда только одно действие из группы может быть в состоянии "active". Другие действия могут осуществляеться как подкласс GtkAction.

Каждое действие может иметь один или больше уполномоченных пунктов меню, кнопок панели инструментов или других уполномоченных виджетов. Полномочия отражают состояние действия (текстовый ярлык, подсказка, значок, видимость, чувствительность, и т.д.), и должны изменяться когда меняется состояние действия. Когда активизируется полномочие, активизируется и его действие.

Детали

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


gtk_action_get_name ()

const gchar* gtk_action_get_name            (GtkAction *action);

Возвращает имя действия.

action :

Объект действия

Возвращает:

Имя действия. Строкой владеет GTK+ поэтому не нужно её освобождать.

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


gtk_action_is_sensitive ()

gboolean    gtk_action_is_sensitive         (GtkAction *action);

Возвращает фактическую чувствительность действия.

action :

Объект действия

Возвращает:

TRUE если действие и ассоциированная с ним группа действий являются чувствительными.

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


gtk_action_get_sensitive ()

gboolean    gtk_action_get_sensitive        (GtkAction *action);

Возвращает чувствительно ли само действие. Помните это не означает фактическую чувствительность. Смотрите gtk_action_is_sensitive().

action :

Объект действия

Возвращает:

TRUE если само действие чувствительно.

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


gtk_action_set_sensitive ()

void gtk_action_set_sensitive (GtkAction *action, gboolean sensitive);

Устанавливает ::sensitive свойство для действия в значение sensitive. Помните это не означает фактическую чувствительность. Смотрите gtk_action_is_sensitive().

action :

Объект действия

sensitive :

TRUE чтобы действие стало чувствительным

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


gtk_action_is_visible ()

gboolean    gtk_action_is_visible           (GtkAction *action);

Возвращает фактическую видимость действия.

action :

Объект действия

Возвращает:

TRUE если действие и ассоциированная с ним группа действий видимы.

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


gtk_action_get_visible ()

gboolean    gtk_action_get_visible          (GtkAction *action);

Возвращает видимо ли само действие. Помните это не означает фактическую видимость. Смотрите gtk_action_is_sensitive().

action :

Объект действия

Возвращает:

TRUE если само действие видимо.

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


gtk_action_set_visible ()

void gtk_action_set_visible (GtkAction *action, gboolean visible);

Устанавливает ::visible свойство действия в visible. Помните это не означает фактическую видимость. Смотрите gtk_action_is_visible().

action :

Объект действия

visible :

TRUE делает действие видимым

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


gtk_action_activate ()

void        gtk_action_activate             (GtkAction *action);

Издаёт сигнал "activate" на определенном действии, если оно чувствительно. Эту функцию вызывают полномочные виджеты при активации.

Эта функция также может использоваться для самостоятельной активации действия.

action :

Объект действия

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


gtk_action_create_icon ()

GtkWidget* gtk_action_create_icon (GtkAction *action, GtkIconSize icon_size);

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

action :

Объект действия

icon_size :

Размер создаваемого значка.

Возвращает:

Виджет отображающий значок для этого действия.

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


gtk_action_create_menu_item ()

GtkWidget*  gtk_action_create_menu_item     (GtkAction *action);

Создаёт полномочные виджеты пунктов меню для данного действия.

action :

Объект действия

Возвращает:

Пункт меню подключаемый к действию.

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


gtk_action_create_tool_item ()

GtkWidget*  gtk_action_create_tool_item     (GtkAction *action);

Создаёт полномочные виджеты пунктов панели инструментов для данного действия.

action :

Объект действия

Возвращает:

Пункт панели инструментов подключаемый к данному действию.

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


gtk_action_connect_proxy ()

void gtk_action_connect_proxy (GtkAction *action, GtkWidget *proxy);

Подключает виджет к объекту действия как уполномоченный. Синхронизирует различные свойства действия с виджетом (такие как текстовый ярлык, значок, подсказка, и т.д.), и присоединяет callback-функцию, чтобы действие активизировалось вместе с полномочным виджетом.

Если виджет уже подключен к действию, эта функция сначала отключает его.

action :

Объект действия

proxy :

полномочный виджет

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


gtk_action_disconnect_proxy ()

void gtk_action_disconnect_proxy (GtkAction *action, GtkWidget *proxy);

Отключает уполномоченный виджет от действия. Но не разрушает виджет.

action :

Объект действия

proxy :

полномочный виджет

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


gtk_action_get_proxies ()

GSList*     gtk_action_get_proxies          (GtkAction *action);

Возвращает уполномоченные виджеты для действия.

action :

Объект действия

Возвращает:

GSList уполномоченных виджетов. Списком владеет действие и его не нужно освобождать.

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


gtk_action_connect_accelerator ()

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 :

GtkAction

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


gtk_action_disconnect_accelerator ()

void gtk_action_disconnect_accelerator (GtkAction *action);

Уничтожает эффект от вызова gtk_action_connect_accelerator().

action :

GtkAction

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


gtk_action_block_activate_from ()

void gtk_action_block_activate_from (GtkAction *action, GtkWidget *proxy);

Отключает вызов сигналами функции gtk_action_activate() на данном полномочном виджете. Это используется для остановки цикличного уведомления для выборочных действий или радио действий.

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

action :

Объект действия

proxy :

уполномоченный виджет

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


gtk_action_unblock_activate_from ()

void gtk_action_unblock_activate_from (GtkAction *action, GtkWidget *proxy);

Включает вызов функции gtk_action_activate() по сигналу на уполномоченном виджете. Это отменяет блокировку установленную gtk_action_block_activate_from().

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

action :

Объект действия

proxy :

уполномоченный виджет

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


gtk_action_get_accel_path ()

const gchar* gtk_action_get_accel_path      (GtkAction *action);

Возвращает путь акселератора для этого действия.

action :

Объект действия

Возвращает:

Путь акселератора для этого действия, или NULL если не установлено. Возвращенной строкой владеет GTK+ и она не должна освобождаться.

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


gtk_action_set_accel_path ()

void gtk_action_set_accel_path (GtkAction *action, const gchar *accel_path);

Устанавливает путь акселератора для данного действия. Все уполномоченный виджеты связанные с этим действием будут иметь этот путь, так чтобы их акселераторы были совместимы.

action :

Объект действия

accel_path :

путь акселератора

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


gtk_action_get_accel_closure ()

GClosure*   gtk_action_get_accel_closure    (GtkAction *action);

Возвращает завершённый акселератор для этого действия.

action :

Объект действия

Возвращает:

Завершённый акселератор для этого действия. Результатом владеет GTK+ и он не должен освобождаться.

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


gtk_action_set_accel_group ()

void gtk_action_set_accel_group (GtkAction *action, GtkAccelGroup *accel_group);

Устанавливает GtkAccelGroup в которую будет установлен акселератор для определённого действия.

action :

Объект действия

accel_group :

GtkAccelGroup или NULL

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

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

Свойство "action-group"

  "action-group"         GtkActionGroup        : Read / Write

GtkActionGroup с которым связан этот 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 :

GtkAction

user_data :

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

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

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

GtkActionGroup, GtkUIManager