The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Signals

GtkActionGroup

GtkActionGroup Группа действий

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

#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+ убеждается в правильности отображаемого значка рядом с пунктом меню.

Детали

GtkActionGroup

typedef struct _GtkActionGroup GtkActionGroup;

GtkActionGroup структура содержит только закрытые данные и не должна использоваться на прямую.


gtk_action_group_new ()

GtkActionGroup* gtk_action_group_new        (const gchar *name);

Создаёт новый GtkActionGroup объект. Имя группы действий используется для привязки keybindings к действиям.

name :

Имя группы действия.

Возвращает :

новый GtkActionGroup

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


gtk_action_group_get_name ()

const gchar* gtk_action_group_get_name      (GtkActionGroup *action_group);

Определяет имя группы действия.

action_group :

Группа действия

Возвращает :

Имя группы действия.

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


gtk_action_group_get_sensitive ()

gboolean    gtk_action_group_get_sensitive  (GtkActionGroup *action_group);

Возвращает 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);

Изменяет чувствительность action_group

action_group :

группа действий

sensitive :

состояние чувствительности

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


gtk_action_group_get_visible ()

gboolean    gtk_action_group_get_visible    (GtkActionGroup *action_group);

Возвращает 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);

Изменяет видимость action_group.

action_group :

группа действий

visible :

Состояние видимости

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


gtk_action_group_get_action ()

GtkAction*  gtk_action_group_get_action     (GtkActionGroup *action_group,
                                             const gchar *action_name);

Находит действие в группе действий по имени.

action_group :

Группа действий

action_name :

Имя действия

Возвращает :

Действие, или NULL если нет действий для этого имени

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


gtk_action_group_list_actions ()

GList*      gtk_action_group_list_actions   (GtkActionGroup *action_group);

Список действий в группе действий.

action_group :

группа действий

Возвращает :

Список объектов действий в группе действий

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


gtk_action_group_add_action ()

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


gtk_action_group_add_action_with_accel ()

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


gtk_action_group_remove_action ()

void        gtk_action_group_remove_action  (GtkActionGroup *action_group,
                                             GtkAction *action);

Удаляет объект действия из группы действий.

action_group :

группа действий

action :

действие

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


GtkActionEntry

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;

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


gtk_action_group_add_actions ()

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


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() с добавленным GDestroyNotify для user_data.

action_group :

группа действий

entries :

массив описаний действий

n_entries :

число входов

user_data :

данные помещаемые в callbacks-функции

destroy :

Callback-функция разрушающего уведомления для user_data

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


GtkToggleActionEntry

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;

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


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

Это удобная функция для создания переключателей действий и добавления их к группе действий.

Сигнал действия "activate" подключаемый к callback-функциям и их путям акселератора установленных как <Actions>/group-name/action-name.

action_group :

группа действий

entries :

Массив описаний переключателей действий

n_entries :

число входов

user_data :

данные помещаемые в callback-функции

Начиная с версии 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() с добавленным GDestroyNotify для user_data.

action_group :

группа действий

entries :

Массив описаний переключателей действий

n_entries :

число входов

user_data :

данные помещаемые в callbacks-функции

destroy :

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

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


GtkRadioActionEntry

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().


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

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

Сигнал "changed" первого радио действия подключается к on_change callback-функции и путям акселератора действий установленных как <Actions>/group-name/action-name.

action_group :

группа действий

entries :

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

n_entries :

число входов

value :

первое активизируемое действие, или -1 если нет действия для активизации

on_change :

callback-функция подключаемая к изменяющему сигналу

user_data :

данные помещаемые в callbacks-функции

Начиная с версии 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);

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


gtk_action_group_set_translate_func ()

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 :

GtkActionGroup

func :

GtkTranslateFunc

data :

данные помещаемые в func и notify

notify :

GtkDestroyNotify функция вызываемая когда action_group разрушена и когда изменяется функция перевода

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


gtk_action_group_set_translation_domain ()

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 :

GtkActionGroup

domain :

Область перевода для использования в dgettext() вызове

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


gtk_action_group_translate_string ()

const gchar* gtk_action_group_translate_string
                                            (GtkActionGroup *action_group,
                                             const gchar *string);

Переводит строку используя специальную translate_func(). Это преимущественно для языковых привязок.

action_group :

GtkActionGroup

string :

строка

Возвращает :

переведённая string

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

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

Свойство "name"

  "name"                 gchararray            : Read / Write / Construct Only

Имя для группы действий.

Значение по умолчанию: NULL


Свойство "sensitive"

  "sensitive"            gboolean              : Read / Write

Включена ли группа действий.

Значение по умолчанию: TRUE


Свойство "visible"

  "visible"              gboolean              : Read / Write

Видима ли группа действий.

Значение по умолчанию: TRUE

Детали сигналов

Сигнал "connect-proxy"

void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            GtkWidget      *proxy,
                                            gpointer        user_data)         : 

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

Это используется для простых настроек, для которых класс действий был бы слишком неуклюжим, например отображение подсказок для пунктов меню и инструментальных пунктов.

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

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 обеспечивает сигнала и обеспечивает глобальное уведомление перед любым действием связанным с полномочием, которое наиболее удобно для использования.

action_group :

группа

action :

действие

proxy :

полномочие

user_data :

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

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


Сигнал "post-activate"

void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : 

Сигнал post_activate издаётся после действия в action_group

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

action_group :

группа

action :

действие

user_data :

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

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


Сигнал "pre-activate"

void        user_function                  (GtkActionGroup *action_group,
                                            GtkAction      *action,
                                            gpointer        user_data)         : 

Сигнал pre_activate издаётся перед действием в action_group

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

action_group :

группа

action :

действие

user_data :

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру