Spec-Zone.ru › GTK 3.24

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 для установки или NULL.

[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

ускоритель для действия в формате, понимаемом gtk_accelerator_parse(), или "" для отсутствия ускорителя, или NULL для использования ускорителя stock.

[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

обратный вызов для удаления user_data.

[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

обратная функция уведомления о разрушении для user_data

С версии: 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

GtkActionGroup

func

GtkTranslateFunc

data

данные, которые будут переданы func и notify

notify

функция GDestroyNotify, которая будет вызвана, когда action_group будет уничтожена и когда функция перевода будет изменена снова

С версии: 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

GtkActionGroup

domain

область перевода, которая будет использоваться для вызовов g_dgettext(), или NULL для использования области, установленной с помощью textdomain().

[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

GtkActionGroup

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);
};

Члены

get_action ()

Ищет действие в группе действий по имени.

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 *name;

Имя действия.

const gchar *stock_id;

Идентификатор stock для действия или имя значка из темы значков.

const gchar *label;

Метка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain(). Если label является NULL, используется метка элемента stock с идентификатором stock_id.

const gchar *accelerator;

Сочетание клавиш для действия в формате, понятном для gtk_accelerator_parse().

const gchar *tooltip;

Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain().

GCallback callback;

Функция, вызываемая при активации действия.

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 *name;

Имя действия.

const gchar *stock_id;

Идентификатор stock для действия или имя значка из темы значков.

const gchar *label;

Метка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain().

const gchar *accelerator;

Сочетание клавиш для действия в формате, понятном для gtk_accelerator_parse().

const gchar *tooltip;

Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain().

GCallback callback;

Функция, вызываемая при активации действия.

gboolean is_active;

Начальное состояние действия переключения.

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 *name;

Имя действия.

const gchar *stock_id;

Идентификатор stock для действия или имя значка из темы значков.

const gchar *label;

Метка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain().

const gchar *accelerator;

Сочетание клавиш для действия в формате, понятном для gtk_accelerator_parse().

const gchar *tooltip;

Подсказка для действия. Это поле обычно должно быть помечено для перевода, см. gtk_action_group_set_translation_domain().

gint value;

Значение, устанавливаемое для действия переключателя. См. gtk_radio_action_get_current_value().

Подробное описание свойств

Свойство “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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API