GtkActionGroup
GtkActionGroup — Группа действий
Функции
| GtkActionGroup * | gtk_action_group_new () |
| const gchar * | gtk_action_group_get_name () |
| gboolean | gtk_action_group_get_sensitive () |
| void | gtk_action_group_set_sensitive () |
| gboolean | gtk_action_group_get_visible () |
| void | gtk_action_group_set_visible () |
| GtkAccelGroup * | gtk_action_group_get_accel_group () |
| void | gtk_action_group_set_accel_group () |
| GtkAction * | gtk_action_group_get_action () |
| GList * | gtk_action_group_list_actions () |
| void | gtk_action_group_add_action () |
| void | gtk_action_group_add_action_with_accel () |
| void | gtk_action_group_remove_action () |
| void | gtk_action_group_add_actions () |
| void | gtk_action_group_add_actions_full () |
| void | gtk_action_group_add_toggle_actions () |
| void | gtk_action_group_add_toggle_actions_full () |
| void | gtk_action_group_add_radio_actions () |
| void | gtk_action_group_add_radio_actions_full () |
| gchar * | ( *GtkTranslateFunc) () |
| void | gtk_action_group_set_translate_func () |
| void | gtk_action_group_set_translation_domain () |
| const gchar * | gtk_action_group_translate_string () |
Свойства
| GtkAccelGroup * | accel-group | Чтение/Запись |
| char * | name | Чтение/Запись/Только для создания |
| gboolean | sensitive | Чтение/Запись |
| gboolean | visible | Чтение/Запись |
Сигналы
| void | connect-proxy | |
| void | disconnect-proxy | |
| void | post-activate | |
| void | pre-activate |
Типы и значения
| struct | GtkActionGroup |
| struct | GtkActionGroupClass |
| struct | GtkActionEntry |
| struct | GtkToggleActionEntry |
| struct | GtkRadioActionEntry |
Иерархия объектов
GObject
╰── GtkActionGroup
Реализованные интерфейсы
GtkActionGroup реализует GtkBuildable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
Действия организованы в группы. Группа действий по сути является отображением имён на объекты GtkAction.
Все действия, которые могут быть полезны в определённом контексте, должны находиться в одной группе. Для одного пользовательского интерфейса могут использоваться несколько групп действий. Фактически, ожидается, что большинство нетривиальных приложений будут использовать несколько групп. Например, в приложении, которое может редактировать несколько документов, одна группа содержит глобальные действия (например, выход, справка, новый), а одна группа на документ содержит действия, которые действуют на этот документ (например, сохранение, вырезать/копировать/вставить и т. д.). Меню каждого окна строится из комбинации двух групп действий.
Ускорители
Ускорители обрабатываются картой ускорителей GTK+. Всем действиям присваивается путь ускорителя (который обычно имеет вид <Actions>/group-name/action-name) и с этим путём ускорителя связывается сокращение. Все элементы меню и панели инструментов получают этот путь ускорителя. Код карты ускорителей GTK+ гарантирует, что корректное сокращение отображается рядом с элементом меню.
GtkActionGroup как GtkBuildable
Реализация GtkActionGroup интерфейса GtkBuildable принимает объекты GtkAction в качестве элементов <child> в определениях пользовательского интерфейса.
Обратите внимание, что, скорее всего, определение действий и групп действий в коде более распространено, поскольку они напрямую связаны с тем, что может делать код.
Реализация GtkActionGroup интерфейса GtkBuildable поддерживает пользовательский элемент <accelerator>, который имеет атрибуты с именами «key» и «modifiers» и позволяет указать ускорители. Это аналогично элементу <accelerator> класса GtkWidget, основное различие заключается в том, что он не позволяет вам указать сигнал.
Фрагмент определения пользовательского интерфейса GtkDialog.
<object class="GtkActionGroup" id="actiongroup">
<child>
<object class="GtkAction" id="About">
<property name="name">About</property>
<property name="stock_id">gtk-about</property>
<signal handler="about_activate" name="activate"/>
</object>
<accelerator key="F1" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK"/>
</child>
</object>Функции
gtk_action_group_new ()
GtkActionGroup *
gtk_action_group_new (const gchar *name); gtk_action_group_new было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Создаёт новый объект GtkActionGroup. Имя группы действий используется при ассоциировании сочетаний клавиш с действиями.
Параметры
name | имя группы действий. |
Возвращаемое значение
новый объект GtkActionGroup
С: 2.4
gtk_action_group_get_name ()
const gchar *
gtk_action_group_get_name (GtkActionGroup *action_group); gtk_action_group_get_name было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Возвращает имя группы действий.
Параметры
action_group | группа действий |
Возвращаемое значение
имя группы действий.
С: 2.4
gtk_action_group_get_sensitive ()
gboolean
gtk_action_group_get_sensitive (GtkActionGroup *action_group); gtk_action_group_get_sensitive было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Возвращает TRUE, если группа активна. Составляющие действия могут быть логически активными (см. gtk_action_is_sensitive()), только если они активны (см. gtk_action_get_sensitive()) и их группа активна.
Параметры
action_group | группа действий |
Возвращаемое значение
TRUE, если группа активна.
С: 2.4
gtk_action_group_set_sensitive ()
void gtk_action_group_set_sensitive (GtkActionGroup *action_group,gboolean sensitive);
gtk_action_group_set_sensitive было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Изменяет чувствительность action_group
Параметры
action_group | группа действий | |
sensitive | новая чувствительность |
С: 2.4
gtk_action_group_get_visible ()
gboolean
gtk_action_group_get_visible (GtkActionGroup *action_group); gtk_action_group_get_visible было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Возвращает TRUE, если группа видна. Составляющие действия могут быть логически видны (см. gtk_action_is_visible()), только если они видны (см. gtk_action_get_visible()) и их группа видна.
Параметры
action_group | группа действий |
Возвращаемое значение
TRUE, если группа видна.
С: 2.4
gtk_action_group_set_visible ()
void gtk_action_group_set_visible (GtkActionGroup *action_group,gboolean visible);
gtk_action_group_set_visible было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Изменяет видимость action_group.
Параметры
action_group | группа действий | |
visible | новая видимость |
С: 2.4
gtk_action_group_get_accel_group ()
GtkAccelGroup *
gtk_action_group_get_accel_group (GtkActionGroup *action_group); gtk_action_group_get_accel_group было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Возвращает группу акселераторов.
Параметры
action_group | объект GtkActionGroup |
Возвращаемое значение
группа акселераторов, связанная с этой группой действий, или NULL, если её нет.
[transfer none]
С: 3.6
gtk_action_group_set_accel_group ()
void gtk_action_group_set_accel_group (GtkActionGroup *action_group,GtkAccelGroup *accel_group);
gtk_action_group_set_accel_group было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Устанавливает группу акселераторов, которая будет использоваться каждым действием в этой группе.
Параметры
action_group | объект GtkActionGroup | |
accel_group | объект GtkAccelGroup для установки или | [allow-none] |
С: 3.6
gtk_action_group_get_action ()
GtkAction * gtk_action_group_get_action (GtkActionGroup *action_group,const gchar *action_name);
gtk_action_group_get_action было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Ищет действие в группе действий по имени.
Параметры
action_group | группа действий | |
action_name | имя действия |
Возвращаемое значение
действие или NULL, если действия с таким именем не существует.
[transfer none]
С: 2.4
gtk_action_group_list_actions ()
GList *
gtk_action_group_list_actions (GtkActionGroup *action_group); gtk_action_group_list_actions было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Выводит список действий в группе действий.
Параметры
action_group | группа действий |
Возвращаемое значение
выделенный список объектов действия в группе действий.
[element-type GtkAction][transfer container]
С: 2.4
gtk_action_group_add_action ()
void gtk_action_group_add_action (GtkActionGroup *action_group,GtkAction *action);
gtk_action_group_add_action было устаревшим с версии 3.10 и не должно использоваться в новом коде.
Добавляет объект действия в группу действий. Обратите внимание, что эта функция не устанавливает путь accel действия, что может привести к проблемам, если пользователь попытается изменить ускоритель пункта меню, связанного с действием. Поэтому вы должны либо установить путь accel самостоятельно с помощью gtk_action_set_accel_path(), или использовать gtk_action_group_add_action_with_accel (..., NULL).
Параметры
action_group | группа действий | |
action | действие |
С: 2.4
gtk_action_group_add_action_with_accel ()
void gtk_action_group_add_action_with_accel (GtkActionGroup *action_group,GtkAction *action,const gchar *accelerator);
gtk_action_group_add_action_with_accel устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Добавляет объект действия в группу действий и настраивает ускоритель.
Если accelerator равно NULL, используется ускоритель, связанный с идентификатором stock_id действия.
Пути ускорителей устанавливаются в <Actions>/group-name/action-name.
Параметры
action_group | группа действий | |
action | действие для добавления | |
accelerator | ускоритель для действия в формате, понимаемом | [allow-none] |
С: 2.4
gtk_action_group_remove_action ()
void gtk_action_group_remove_action (GtkActionGroup *action_group,GtkAction *action);
gtk_action_group_remove_action устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Удаляет объект действия из группы действий.
Параметры
action_group | группа действий | |
action | действие |
С: 2.4
gtk_action_group_add_actions ()
void gtk_action_group_add_actions (GtkActionGroup *action_group,const GtkActionEntry *entries,guint n_entries,gpointer user_data);
gtk_action_group_add_actions устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Это вспомогательная функция для создания нескольких действий и добавления их в группу действий.
Сигналы «activate» действий подключаются к обратным вызовам, а пути их ускорителей устанавливаются в <Actions>/group-name/action-name.
[skip]
Параметры
action_group | группа действий | |
entries | массив описаний действий. | [array length=n_entries] |
n_entries | количество элементов | |
user_data | данные для передачи обратным вызовам действия |
С: 2.4
gtk_action_group_add_actions_full ()
void gtk_action_group_add_actions_full (GtkActionGroup *action_group,const GtkActionEntry *entries,guint n_entries,gpointer user_data,GDestroyNotify destroy);
gtk_action_group_add_actions_full устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Этот вариант gtk_action_group_add_actions() добавляет обратный вызов GDestroyNotify для user_data.
[skip]
Параметры
action_group | группа действий | |
entries | массив описаний действий. | [array length=n_entries] |
n_entries | количество элементов | |
user_data | данные для передачи обратным вызовам действия | |
destroy | обратный вызов для удаления | [nullable] |
С: 2.4
gtk_action_group_add_toggle_actions ()
void gtk_action_group_add_toggle_actions (GtkActionGroup *action_group,const GtkToggleActionEntry *entries,guint n_entries,gpointer user_data);
gtk_action_group_add_toggle_actions устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Это вспомогательная функция для создания нескольких переключаемых действий и добавления их в группу действий.
Сигналы «activate» действий подключаются к обратным вызовам, а пути их ускорителей устанавливаются в <Actions>/group-name/action-name.
[skip]
Параметры
С: 2.4
gtk_action_group_add_toggle_actions_full ()
void gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,const GtkToggleActionEntry *entries,guint n_entries,gpointer user_data,GDestroyNotify destroy);
gtk_action_group_add_toggle_actions_full устарел начиная с версии 3.10 и не должен использоваться в новых кодах.
Этот вариант gtk_action_group_add_toggle_actions() добавляет обратный вызов GDestroyNotify для user_data.
[skip]
Параметры
С: 2.4
gtk_action_group_add_radio_actions ()
void gtk_action_group_add_radio_actions (GtkActionGroup *action_group,const GtkRadioActionEntry *entries,guint n_entries,gint value,GCallback on_change,gpointer user_data);
gtk_action_group_add_radio_actions устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Это вспомогательная функция для создания группы радиокнопок и добавления их в группу действий.
Сигнал «changed» первой радиокнопки подключается к обратной функции on_change, а пути акселераторов действий устанавливаются в <Actions>/group-name/action-name.
[skip]
Параметры
action_group | группа действий | |
entries | массив описаний радиокнопок. | [array length=n_entries] |
n_entries | число записей | |
value | значение действия, которое нужно активировать изначально, или -1, если не нужно активировать ни одно действие | |
on_change | обратная функция, которая подключается к сигналу changed | |
user_data | данные для передачи в обратные функции действий |
С версии: 2.4
gtk_action_group_add_radio_actions_full ()
void gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,const GtkRadioActionEntry *entries,guint n_entries,gint value,GCallback on_change,gpointer user_data,GDestroyNotify destroy);
gtk_action_group_add_radio_actions_full устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Этот вариант gtk_action_group_add_radio_actions() добавляет обратную функцию GDestroyNotify для user_data.
[skip]
Параметры
action_group | группа действий | |
entries | массив описаний радиокнопок. | [array length=n_entries] |
n_entries | число записей | |
value | значение действия, которое нужно активировать изначально, или -1, если не нужно активировать ни одно действие | |
on_change | обратная функция, которая подключается к сигналу changed | |
user_data | данные для передачи в обратные функции действий | |
destroy | обратная функция уведомления о разрушении для |
С версии: 2.4
GtkTranslateFunc ()
gchar *
(*GtkTranslateFunc) (const gchar *path,
gpointer func_data); GtkTranslateFunc устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Функция, используемая для перевода сообщений, например, в GtkIconFactory и GtkActionGroup.
Параметры
path | Идентификатор сообщения. В GtkActionGroup это будет метка или подсказка из GtkActionEntry. | |
func_data | пользовательские данные, переданные при регистрации функции. | [closure] |
Возвращаемое значение
переведенное сообщение
gtk_action_group_set_translate_func ()
void gtk_action_group_set_translate_func (GtkActionGroup *action_group,GtkTranslateFunc func,gpointer data,GDestroyNotify notify);
gtk_action_group_set_translate_func устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Устанавливает функцию, которая будет использоваться для перевода label и tooltip GtkActionEntrys, добавленных с помощью gtk_action_group_add_actions().
Если вы используете gettext(), достаточно установить область перевода с помощью gtk_action_group_set_translation_domain().
Параметры
action_group | ||
func | ||
data | данные, которые будут переданы | |
notify | функция GDestroyNotify, которая будет вызвана, когда |
С версии: 2.4
gtk_action_group_set_translation_domain ()
void gtk_action_group_set_translation_domain (GtkActionGroup *action_group,const gchar *domain);
gtk_action_group_set_translation_domain устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Устанавливает область перевода и использует g_dgettext() для перевода label и tooltip GtkActionEntrys, добавленных с помощью gtk_action_group_add_actions().
Если вы не используете gettext() для локализации, см. gtk_action_group_set_translate_func().
Параметры
action_group | ||
domain | область перевода, которая будет использоваться для вызовов | [allow-none] |
С версии: 2.4
gtk_action_group_translate_string ()
const gchar * gtk_action_group_translate_string (GtkActionGroup *action_group,const gchar *string);
gtk_action_group_translate_string устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Переводит строку, используя функцию, установленную с помощью gtk_action_group_set_translate_func(). Это в основном предназначено для языковых привязок.
Параметры
action_group | ||
string | строка |
Возвращаемое значение
перевод string
С версии: 2.6
Типы и значения
struct GtkActionGroup
struct GtkActionGroup;
struct GtkActionGroupClass
struct GtkActionGroupClass {
GObjectClass parent_class;
GtkAction *(* get_action) (GtkActionGroup *action_group,
const gchar *action_name);
};
Члены
| Ищет действие в группе действий по имени. |
struct GtkActionEntry
struct GtkActionEntry {
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
};
GtkActionEntry устарел с версии 3.10 и не должен использоваться в новом коде.
GtkActionEntry структуры используются с gtk_action_group_add_actions() для создания действий.
Члены
const gchar * | Имя действия. | |
const gchar * | Идентификатор stock для действия или имя значка из темы значков. | |
const gchar * | Метка для действия. Это поле обычно должно быть помечено для перевода, см. | |
const gchar * | Сочетание клавиш для действия в формате, понятном для | |
const gchar * | Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. | |
GCallback | Функция, вызываемая при активации действия. |
struct GtkToggleActionEntry
struct GtkToggleActionEntry {
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
gboolean is_active;
};
GtkToggleActionEntry устарел с версии 3.10 и не должен использоваться в новом коде.
GtkToggleActionEntry структуры используются с gtk_action_group_add_toggle_actions() для создания действий переключения.
Члены
const gchar * | Имя действия. | |
const gchar * | Идентификатор stock для действия или имя значка из темы значков. | |
const gchar * | Метка для действия. Это поле обычно должно быть помечено для перевода, см. | |
const gchar * | Сочетание клавиш для действия в формате, понятном для | |
const gchar * | Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. | |
GCallback | Функция, вызываемая при активации действия. | |
gboolean | Начальное состояние действия переключения. |
struct GtkRadioActionEntry
struct GtkRadioActionEntry {
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
gint value;
};
GtkRadioActionEntry устарел с версии 3.10 и не должен использоваться в новом коде.
GtkRadioActionEntry структуры используются с gtk_action_group_add_radio_actions() для создания групп действий переключателей.
Члены
const gchar * | Имя действия. | |
const gchar * | Идентификатор stock для действия или имя значка из темы значков. | |
const gchar * | Метка для действия. Это поле обычно должно быть помечено для перевода, см. | |
const gchar * | Сочетание клавиш для действия в формате, понятном для | |
const gchar * | Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. | |
gint | Значение, устанавливаемое для действия переключателя. См. |
Подробное описание свойств
Свойство “accel-group”
“accel-group” GtkAccelGroup *
Группа акселераторов, которую должны использовать действия этой группы.
GtkActionGroup:accel-group устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkActionGroup
Флаги: Чтение / Запись
Свойство “name”
“name” char *
Имя действия.
GtkActionGroup:name устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkActionGroup
Флаги: Чтение / Запись / Только для создания
Значение по умолчанию: NULL
Свойство “sensitive”
“sensitive” gboolean
Включена ли группа действий.
GtkActionGroup:sensitive устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkActionGroup
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “visible”
“visible” gboolean
Видна ли группа действий.
GtkActionGroup:visible устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkActionGroup
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Подробное описание сигналов
Сигнал “connect-proxy”
void user_function (GtkActionGroup *action_group, GtkAction *action, GtkWidget *proxy, gpointer user_data)
Сигнал ::connect-proxy генерируется после подключения прокси к действию в группе. Обратите внимание, что прокси может быть подключен к другому действию ранее.
Это предназначено для простых кастомизаций, для которых класс кастомных действий был бы слишком громоздким, например, для отображения всплывающих подсказок для элементов меню в строке состояния.
GtkUIManager проксирует сигнал и предоставляет глобальное уведомление непосредственно перед подключением любого действия к прокси, что, вероятно, более удобно в использовании.
GtkActionGroup::connect-proxy устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Параметры
action_group | группа | |
action | действие | |
proxy | прокси | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
С: 2.4
Сигнал “disconnect-proxy”
void user_function (GtkActionGroup *action_group, GtkAction *action, GtkWidget *proxy, gpointer user_data)
Сигнал ::disconnect-proxy генерируется после отключения прокси от действия в группе.
GtkUIManager проксирует сигнал и предоставляет глобальное уведомление непосредственно перед подключением любого действия к прокси, что, вероятно, более удобно в использовании.
GtkActionGroup::disconnect-proxy устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Параметры
action_group | группа | |
action | действие | |
proxy | прокси | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
С: 2.4
Сигнал “post-activate”
void user_function (GtkActionGroup *action_group, GtkAction *action, gpointer user_data)
Сигнал ::post-activate генерируется сразу после активации action в action_group
Это предназначено для GtkUIManager для проксирования сигнала и предоставления глобального уведомления сразу после активации любого действия.
GtkActionGroup::post-activate устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Параметры
action_group | группа | |
action | действие | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
С: 2.4
Сигнал “pre-activate”
void user_function (GtkActionGroup *action_group, GtkAction *action, gpointer user_data)
Сигнал ::pre-activate генерируется непосредственно перед активацией action в action_group
Это предназначено для GtkUIManager для проксирования сигнала и предоставления глобального уведомления непосредственно перед активацией любого действия.
GtkActionGroup::pre-activate устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Параметры
action_group | группа | |
action | действие | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
С: 2.4
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkActionGroup.html