| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
| GtkActionGroupGtkActionGroup Группа действий | 
#include <gtk/gtk.h>
            GtkActionGroup;
GtkActionGroup* gtk_action_group_new        (const gchar *name);
const gchar* gtk_action_group_get_name      (GtkActionGroup *action_group);
gboolean    gtk_action_group_get_sensitive  (GtkActionGroup *action_group);
void        gtk_action_group_set_sensitive  (GtkActionGroup *action_group,
                                             gboolean sensitive);
gboolean    gtk_action_group_get_visible    (GtkActionGroup *action_group);
void        gtk_action_group_set_visible    (GtkActionGroup *action_group,
                                             gboolean visible);
GtkAction*  gtk_action_group_get_action     (GtkActionGroup *action_group,
                                             const gchar *action_name);
GList*      gtk_action_group_list_actions   (GtkActionGroup *action_group);
void        gtk_action_group_add_action     (GtkActionGroup *action_group,
                                             GtkAction *action);
void        gtk_action_group_add_action_with_accel
                                            (GtkActionGroup *action_group,
                                             GtkAction *action,
                                             const gchar *accelerator);
void        gtk_action_group_remove_action  (GtkActionGroup *action_group,
                                             GtkAction *action);
            GtkActionEntry;
void        gtk_action_group_add_actions    (GtkActionGroup *action_group,
                                             const GtkActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data);
void        gtk_action_group_add_actions_full
                                            (GtkActionGroup *action_group,
                                             const GtkActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data,
                                             GDestroyNotify destroy);
            GtkToggleActionEntry;
void        gtk_action_group_add_toggle_actions
                                            (GtkActionGroup *action_group,
                                             const GtkToggleActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data);
void        gtk_action_group_add_toggle_actions_full
                                            (GtkActionGroup *action_group,
                                             const GtkToggleActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data,
                                             GDestroyNotify destroy);
            GtkRadioActionEntry;
void        gtk_action_group_add_radio_actions
                                            (GtkActionGroup *action_group,
                                             const GtkRadioActionEntry *entries,
                                             guint n_entries,
                                             gint value,
                                             GCallback on_change,
                                             gpointer user_data);
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);
void        gtk_action_group_set_translate_func
                                            (GtkActionGroup *action_group,
                                             GtkTranslateFunc func,
                                             gpointer data,
                                             GtkDestroyNotify notify);
void        gtk_action_group_set_translation_domain
                                            (GtkActionGroup *action_group,
                                             const gchar *domain);
const gchar* gtk_action_group_translate_string
                                            (GtkActionGroup *action_group,
                                             const gchar *string);
GObject +----GtkActionGroup
"name" gchararray : Read / Write / Construct Only "sensitive" gboolean : Read / Write "visible" gboolean : Read / Write
"connect-proxy"
            void        user_function      (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            GtkWidget      *proxy,
                                            gpointer        user_data)         : 
"disconnect-proxy"
            void        user_function      (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            GtkWidget      *proxy,
                                            gpointer        user_data)         : 
"post-activate"
            void        user_function      (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : 
"pre-activate"
            void        user_function      (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : Действия которые организованы в группы. Группа действий посуществу является картой имен для объектов GtkAction.
Все действия, которые имеет смысл использовать в специальном контексте, должны быть в одной группе. Множественные группы действий могут использоваться для специального интерфейса пользователя. Фактически, ожидается что большинство не тривиальных приложений будут использовать множественные группы. Например, в приложениях которые могут редактировать несколько документов, одна группа содержит глобальные действия (например выход(quit), о программе(about), новый(new)), а одна группа содержит действия которые действуют на этот документ (например сохранить(save), вырезать/копировать/вставить(cut/copy/paste), и т.д.). Меню каждого окна были бы созданы из двух групп действий.
Акселераторы обрабатываются картой акселераторов GTK+. Всем действиям назначены пути акселераторов (которые обычно имеют форму <Actions>/group-name/action-name) и комбинацию клавиш привязанную к этому пути. Все пункты меню и инструментальные пункты (toolitems) берут эти пути акселераторов. Код карты акселераторов GTK+ убеждается в правильности отображаемого значка рядом с пунктом меню.
typedef struct _GtkActionGroup GtkActionGroup;
GtkActionGroup структура содержит только закрытые данные и не должна использоваться на прямую.
GtkActionGroup* gtk_action_group_new (const gchar *name);
Создаёт новый GtkActionGroup объект. Имя группы действий используется для привязки keybindings к действиям.
| name : | Имя группы действия. | 
| Возвращает : | новый GtkActionGroup | 
Начиная с версии 2.4
const gchar* gtk_action_group_get_name (GtkActionGroup *action_group);
Определяет имя группы действия.
| action_group : | Группа действия | 
| Возвращает : | Имя группы действия. | 
Начиная с версии 2.4
gboolean gtk_action_group_get_sensitive (GtkActionGroup *action_group);
Возвращает TRUE если группа чувствительна. Составляющие действия могут только логически быть чувствительными (смотрите gtk_action_is_sensitive()) если они чувствительны (смотрите gtk_action_get_sensitive()) и их группа чувствительна.
| action_group : | Группа действий | 
| Возвращает : | TRUE если группа чувствительна. | 
Начиная с версии 2.4
void        gtk_action_group_set_sensitive  (GtkActionGroup *action_group,
                                             gboolean sensitive);Изменяет чувствительность action_group
| action_group : | группа действий | 
| sensitive : | состояние чувствительности | 
Начиная с версии 2.4
gboolean gtk_action_group_get_visible (GtkActionGroup *action_group);
Возвращает TRUE если группа видима. Составляющие действия могут только логически быть видимыми (смотрите gtk_action_is_visible()) если они видимы (смотрите gtk_action_get_visible()) и их группа видима.
| action_group : | группа действий | 
| Возвращает : | TRUE если группа видима. | 
Начиная с версии 2.4
void        gtk_action_group_set_visible    (GtkActionGroup *action_group,
                                             gboolean visible);Изменяет видимость action_group.
| action_group : | группа действий | 
| visible : | Состояние видимости | 
Начиная с версии 2.4
GtkAction*  gtk_action_group_get_action     (GtkActionGroup *action_group,
                                             const gchar *action_name);Находит действие в группе действий по имени.
| action_group : | Группа действий | 
| action_name : | Имя действия | 
| Возвращает : | Действие, или NULL если нет действий для этого имени | 
Начиная с версии 2.4
GList* gtk_action_group_list_actions (GtkActionGroup *action_group);
Список действий в группе действий.
| action_group : | группа действий | 
| Возвращает : | Список объектов действий в группе действий | 
Начиная с версии 2.4
void        gtk_action_group_add_action     (GtkActionGroup *action_group,
                                             GtkAction *action);Добавляет объект действия в группу действий. Помните эта функция не устанавливает путь акселератора действия, что может вызвать проблемы если пользователь попытается модифицировать акселератор пункта меню ассоциированного с действием. Поэтому вы должны установить пути акселератора самостоятельно с помощью gtk_action_set_accel_path(), или использовать gtk_action_group_add_action_with_accel (..., NULL).
| action_group : | группа действий | 
| action : | действие | 
Начиная с версии 2.4
void        gtk_action_group_add_action_with_accel
                                            (GtkActionGroup *action_group,
                                             GtkAction *action,
                                             const gchar *accelerator);Добавляет объект действия к группе действий и устанавливает акселератор.
Если accelerator равен NULL, пытается использовать акселератор ассоциированный с действием имеющим stock_id.
Путь акселератора соответствует <Actions>/group-name/action-name.
| action_group : | группа действий | 
| action : | Добавляемое действие | 
| accelerator : | Акселератор для действия, в формате понятном для gtk_accelerator_parse(), или "" если нет акселератора, или NULL для использования готового акселератора | 
Начиная с версии 2.4
void        gtk_action_group_remove_action  (GtkActionGroup *action_group,
                                             GtkAction *action);Удаляет объект действия из группы действий.
| action_group : | группа действий | 
| action : | действие | 
Начиная с версии 2.4
typedef struct {
  const gchar     *name;
  const gchar     *stock_id;
  const gchar     *label;
  const gchar     *accelerator;
  const gchar     *tooltip;
  GCallback  callback;
} GtkActionEntry;GtkActionEntry структура используется для создания действий с помощью gtk_action_group_add_actions().
| const gchar *name; | Имя действия | 
| const gchar *stock_id; | ID готового действия. | 
| 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; | Функция вызываемая при активации действия. | 
void        gtk_action_group_add_actions    (GtkActionGroup *action_group,
                                             const GtkActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data);Это удобная функция для создания нескольких действий и добавления их к группе действий.
Сигнал действий "activate" подключается к callback-функциям и их путям акселераторов установленных как <Actions>/group-name/action-name.
| action_group : | группа действий | 
| entries : | массив описаний действий | 
| n_entries : | число входов | 
| user_data : | данные помещаемые в callbacks-функции | 
Начиная с версии 2.4
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() с добавленным GDestroyNotify для user_data.
| action_group : | группа действий | 
| entries : | массив описаний действий | 
| n_entries : | число входов | 
| user_data : | данные помещаемые в callbacks-функции | 
| destroy : | Callback-функция разрушающего уведомления для user_data | 
Начиная с версии 2.4
typedef struct {
  const gchar     *name;
  const gchar     *stock_id;
  const gchar     *label;
  const gchar     *accelerator;
  const gchar     *tooltip;
  GCallback  callback;
  gboolean   is_active;
} GtkToggleActionEntry;GtkToggleActionEntry структура используется для создания переключателей действий с помощью gtk_action_group_add_toggle_actions().
| const gchar *name; | Имя действия | 
| const gchar *stock_id; | ID готового действия. | 
| 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; | Начальное состояние переключателя действия. | 
void        gtk_action_group_add_toggle_actions
                                            (GtkActionGroup *action_group,
                                             const GtkToggleActionEntry *entries,
                                             guint n_entries,
                                             gpointer user_data);Это удобная функция для создания переключателей действий и добавления их к группе действий.
Сигнал действия "activate" подключаемый к callback-функциям и их путям акселератора установленных как <Actions>/group-name/action-name.
| action_group : | группа действий | 
| entries : | Массив описаний переключателей действий | 
| n_entries : | число входов | 
| user_data : | данные помещаемые в callback-функции | 
Начиная с версии 2.4
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() с добавленным GDestroyNotify для user_data.
| action_group : | группа действий | 
| entries : | Массив описаний переключателей действий | 
| n_entries : | число входов | 
| user_data : | данные помещаемые в callbacks-функции | 
| destroy : | callback-функция уведомления разрушения для user_data | 
Начиная с версии 2.4
typedef struct {
  const gchar *name;
  const gchar *stock_id;
  const gchar *label;
  const gchar *accelerator;
  const gchar *tooltip;
  gint   value; 
} GtkRadioActionEntry;GtkRadioActionEntry структура используемая для создания групп радио действий gtk_action_group_add_radio_actions().
| const gchar *name; | Имя действия | 
| const gchar *stock_id; | ID готового действия. | 
| 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(). | 
void        gtk_action_group_add_radio_actions
                                            (GtkActionGroup *action_group,
                                             const GtkRadioActionEntry *entries,
                                             guint n_entries,
                                             gint value,
                                             GCallback on_change,
                                             gpointer user_data);Это удобная функция для создания группы радио действий и добавления их к группе действий.
Сигнал "changed" первого радио действия подключается к on_change callback-функции и путям акселератора действий установленных как <Actions>/group-name/action-name.
| action_group : | группа действий | 
| entries : | массив описаний радио действий | 
| n_entries : | число входов | 
| value : | первое активизируемое действие, или -1 если нет действия для активизации | 
| on_change : | callback-функция подключаемая к изменяющему сигналу | 
| user_data : | данные помещаемые в callbacks-функции | 
Начиная с версии 2.4
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);This variant of gtk_action_group_add_radio_actions() adds a GDestroyNotify callback for user_data.
| action_group : | группа действий | 
| entries : | массив описаний радио действий | 
| n_entries : | число входов | 
| value : | первое активизируемое действие, или -1 если нет действия для активизации | 
| on_change : | callback-функция подключаемая к изменяющему сигналу | 
| user_data : | данные помещаемые в callbacks-функции | 
| destroy : | функция разрушающего уведомления для user_data | 
Начиная с версии 2.4
void        gtk_action_group_set_translate_func
                                            (GtkActionGroup *action_group,
                                             GtkTranslateFunc func,
                                             gpointer data,
                                             GtkDestroyNotify notify);Устанавливает функцию для перевода label и tooltip GtkActionGroupEntrys добавленных с помощью gtk_action_group_add_actions().
Если вы выбрали gettext(), достаточно установить область перевода с помощью gtk_action_group_set_translation_domain().
| action_group : | |
| func : | |
| data : | данные помещаемые в func и notify | 
| notify : | GtkDestroyNotify функция вызываемая когда action_group разрушена и когда изменяется функция перевода | 
Начиная с версии 2.4
void        gtk_action_group_set_translation_domain
                                            (GtkActionGroup *action_group,
                                             const gchar *domain);Устанавливает область перевода и использует dgettext() для перевода label и tooltip GtkActionEntrys добавленных с помощью gtk_action_group_add_actions().
Если вы не используете gettext() для локализации, смотрите gtk_action_group_set_translate_func().
| action_group : | |
| domain : | Область перевода для использования в dgettext() вызове | 
Начиная с версии 2.4
const gchar* gtk_action_group_translate_string
                                            (GtkActionGroup *action_group,
                                             const gchar *string);Переводит строку используя специальную translate_func(). Это преимущественно для языковых привязок.
| action_group : | |
| string : | строка | 
| Возвращает : | переведённая string | 
Начиная с версии 2.6
"name" gchararray : Read / Write / Construct Only
Имя для группы действий.
Значение по умолчанию: NULL
"sensitive" gboolean : Read / Write
Включена ли группа действий.
Значение по умолчанию: TRUE
"visible" gboolean : Read / Write
Видима ли группа действий.
Значение по умолчанию: TRUE
void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            GtkWidget      *proxy,
                                            gpointer        user_data)         : Сигнал connect_proxy издаётся после подключения полномочий к действию в группе. Помните что эти полномочия возможно были прежде связаны с другим действием.
Это используется для простых настроек, для которых класс действий был бы слишком неуклюжим, например отображение подсказок для пунктов меню и инструментальных пунктов.
GtkUIManager обеспечивает сигнала и обеспечивает глобальное уведомление перед любым действием связанным с полномочием, которое наиболее удобно для использования.
| action_group : | группа | 
| action : | действие | 
| proxy : | полномочие | 
| user_data : | пользовательские данные подключаемые при обработке сигнала. | 
Начиная с версии 2.4
void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            GtkWidget      *proxy,
                                            gpointer        user_data)         : Сигнал disconnect_proxy издаётся после отключения полномочия от действия в группе.
GtkUIManager обеспечивает сигнала и обеспечивает глобальное уведомление перед любым действием связанным с полномочием, которое наиболее удобно для использования.
| action_group : | группа | 
| action : | действие | 
| proxy : | полномочие | 
| user_data : | пользовательские данные подключаемые при обработке сигнала. | 
Начиная с версии 2.4
void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : Сигнал post_activate издаётся после действия в action_group
Предназначено для GtkUIManager для сигнала полномочия и обеспечения глобального уведомления непосредственно после активизации любого действия.
| action_group : | группа | 
| action : | действие | 
| user_data : | пользовательские данные подключаемые при обработке сигнала. | 
Начиная с версии 2.4
void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : Сигнал pre_activate издаётся перед действием в action_group
Предназначено для GtkUIManager для сигнала полномочия и обеспечения глобального уведомления непосредственно перед активизацией любого действия.
| action_group : | группа | 
| action : | действие | 
| user_data : | пользовательские данные подключаемые при обработке сигнала. | 
Начиная с версии 2.4
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |