| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Группа акселераторовAccelerator Groups Группа глобальных акселераторов клавиатуры для всего GtkWindow | 
#include <gtk/gtk.h>
            GtkAccelGroup;
GtkAccelGroup* gtk_accel_group_new          (void);
#define     gtk_accel_group_ref
#define     gtk_accel_group_unref
void        gtk_accel_group_connect         (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods,
                                             GtkAccelFlags accel_flags,
                                             GClosure *closure);
void        gtk_accel_group_connect_by_path (GtkAccelGroup *accel_group,
                                             const gchar *accel_path,
                                             GClosure *closure);
gboolean    (*GtkAccelGroupActivate)        (GtkAccelGroup *accel_group,
                                             GObject *acceleratable,
                                             guint keyval,
                                             GdkModifierType modifier);
gboolean    (*GtkAccelGroupFindFunc)        (GtkAccelKey *key,
                                             GClosure *closure,
                                             gpointer data);
gboolean    gtk_accel_group_disconnect      (GtkAccelGroup *accel_group,
                                             GClosure *closure);
gboolean    gtk_accel_group_disconnect_key  (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods);
GtkAccelGroupEntry* gtk_accel_group_query   (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods,
                                             guint *n_entries);
gboolean    gtk_accel_group_activate        (GtkAccelGroup *accel_group,
                                             GQuark accel_quark,
                                             GObject *acceleratable,
                                             guint accel_key,
                                             GdkModifierType accel_mods);
void        gtk_accel_group_lock            (GtkAccelGroup *accel_group);
void        gtk_accel_group_unlock          (GtkAccelGroup *accel_group);
GtkAccelGroup* gtk_accel_group_from_accel_closure
                                            (GClosure *closure);
gboolean    gtk_accel_groups_activate       (GObject *object,
                                             guint accel_key,
                                             GdkModifierType accel_mods);
GSList*     gtk_accel_groups_from_object    (GObject *object);
GtkAccelKey* gtk_accel_group_find           (GtkAccelGroup *accel_group,
                                             GtkAccelGroupFindFunc find_func,
                                             gpointer data);
            GtkAccelKey;
gboolean    gtk_accelerator_valid           (guint keyval,
                                             GdkModifierType modifiers);
void        gtk_accelerator_parse           (const gchar *accelerator,
                                             guint *accelerator_key,
                                             GdkModifierType *accelerator_mods);
gchar*      gtk_accelerator_name            (guint accelerator_key,
                                             GdkModifierType accelerator_mods);
gchar*      gtk_accelerator_get_label       (guint accelerator_key,
                                             GdkModifierType accelerator_mods);
void        gtk_accelerator_set_default_mod_mask
                                            (GdkModifierType default_mod_mask);
guint       gtk_accelerator_get_default_mod_mask
                                            (void);GObject +----GtkAccelGroup
"accel-activate"
            gboolean    user_function      (GtkAccelGroup  *accel_group,
                                            GObject        *acceleratable,
                                            guint           keyval,
                                            GdkModifierType modifier,
                                            gpointer        user_data)          : Has details
"accel-changed"
            void        user_function      (GtkAccelGroup  *accel_group,
                                            guint           keyval,
                                            GdkModifierType modifier,
                                            GClosure       *accel_closure,
                                            gpointer        user_data)          : Run first / Has detailsGtkAccelGroup представляет группу акселераторов клавиатуры, обычно прикреплённых к высшему уровню GtkWindow (с помощью gtk_window_add_accel_group()). Обычно вам не потребуется непосредственное создание GtkAccelGroup; вместо этого используйте GtkItemFactory, GTK+ автоматически установит акселераторы для ваших меню используя производство пунктов в GtkAccelGroup.
Помните, эти акселераторы (accelerators) отличаются от мнемоников (mnemonics). Акселераторы имеют комбинации клавиш для активации пунктов меню; они появляются рядом с пунктом меню для которого предназначены. Например "Ctrl+Q" может появиться рядом с пунктом меню "Quit". Мнемоники имеют комбинации клавиш для элементов GUI таких как ввод текста или кнопка; они появляются как подчеркнутые знаки. Смотрите gtk_label_new_with_mnemonic(). Пункты меню могут иметь и акселераторы и мнемоники.
typedef struct _GtkAccelGroup GtkAccelGroup;
Представление объекта и поддержка группы акселераторов.
GtkAccelGroup* gtk_accel_group_new (void);
Создаёт новый GtkAccelGroup.
| Возвращает : | Новый объект GtkAccelGroup | 
#define gtk_accel_group_ref g_object_ref
gtk_accel_group_ref устарел, поэтому не нужно его использовать во вновь создаваемом коде.
Используйте эквивалент g_object_ref().
| Возвращает : | Группу акселераторов в которую помещён | 
#define gtk_accel_group_unref g_object_unref
gtk_accel_group_unref устарел, поэтому не нужно его использовать во вновь создаваемом коде.
Используйте эквивалент g_object_unref().
void        gtk_accel_group_connect         (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods,
                                             GtkAccelFlags accel_flags,
                                             GClosure *closure);Устанавливает акселератор в группу. Когда accel_group активизируется в ответ на вызов gtk_accel_groups_activate(), closure будет вызван если accel_key и accel_mods из gtk_accel_groups_activate() соответствуют таковым в этом соединении.
Подпись используемая для closure - это GtkAccelGroupActivate.
Отметьте, что, из-за деталей выполнения, единственное закрытие может быть соединено только с одной группой акселераторов.
| accel_group : | Устанавливает акселератор в группу акселераторов | 
| accel_key : | Ключевое значение акселератора | 
| accel_mods : | Модифицирующая комбинация акселератора | 
| accel_flags : | Маска флага для конфигурирования акселератора | 
| closure : | Закрытие, которое будет выполнено после активации акселератора | 
void        gtk_accel_group_connect_by_path (GtkAccelGroup *accel_group,
                                             const gchar *accel_path,
                                             GClosure *closure);Устанавливает акселератор в эту группу, используя путь акселератора для просмотра соответствующего ключа и модификаторов (смотрите gtk_accel_map_add_entry()). Когда accel_group активизируется в ответ на вызов gtk_accel_groups_activate(), closure будет вызван если accel_key и accel_mods из gtk_accel_groups_activate() будут соответствовать ключу и модификатору в пути.
Подпись используемая для closure - это GtkAccelGroupActivate.
| accel_group : | Устанавливает акселератор в группу акселераторов | 
| accel_path : | Путь используемый для определения ключа и модификаторов. | 
| closure : | Закрытие, которое будет выполнено после активации акселератора | 
gboolean    (*GtkAccelGroupActivate)        (GtkAccelGroup *accel_group,
                                             GObject *acceleratable,
                                             guint keyval,
                                             GdkModifierType modifier);
| accel_group : | |
| acceleratable : | |
| keyval : | |
| modifier : | |
| Возвращает : | 
gboolean    (*GtkAccelGroupFindFunc)        (GtkAccelKey *key,
                                             GClosure *closure,
                                             gpointer data);
| key : | |
| closure : | |
| data : | |
| Возвращает : | 
Начиная с версии 2.2
gboolean    gtk_accel_group_disconnect      (GtkAccelGroup *accel_group,
                                             GClosure *closure);Удаляет акселератор предварительно установленный через gtk_accel_group_connect().
| accel_group : | Группа акселераторов из которой удаляется акселератор. | 
| closure : | Закрытие, чтобы удалить из этой группы акселератор | 
| Возвращает : | TRUE если закрытие было найдено и отсоединено | 
gboolean    gtk_accel_group_disconnect_key  (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods);Удаляет акселератор предварительно установленный через gtk_accel_group_connect().
| accel_group : | Группа акселераторов в которой установлен акселератор | 
| accel_key : | Ключевое значение акселератора | 
| accel_mods : | Модифицирующая комбинация акселератора | 
| Возвращает : | TRUE если акселератор был удален, иначе FALSE | 
GtkAccelGroupEntry* gtk_accel_group_query   (GtkAccelGroup *accel_group,
                                             guint accel_key,
                                             GdkModifierType accel_mods,
                                             guint *n_entries);Запрашивает группу акселераторов для всех соответствующих accel_key и accel_mods.
| accel_group : | Запрашиваемая группа акселераторов | 
| accel_key : | ключевое значение акселератора | 
| accel_mods : | Модифицирующая комбинация акселератора | 
| n_entries : | Число найденных записей, или NULL | 
| Возвращает : | массив n_entries GtkAccelGroupEntry элементов, или NULL. Массив принадлежит GTK+ и не может быть освобождён. | 
gboolean    gtk_accel_group_activate        (GtkAccelGroup *accel_group,
                                             GQuark accel_quark,
                                             GObject *acceleratable,
                                             guint accel_key,
                                             GdkModifierType accel_mods);
| accel_group : | |
| accel_quark : | |
| acceleratable : | |
| accel_key : | |
| accel_mods : | |
| Возвращает : | 
void gtk_accel_group_lock (GtkAccelGroup *accel_group);
Замыкает полученную группу акселераторов.
Замыкает группу акселераторов предотвращая изменение включённых акселераторов во время выполнения. Используйте gtk_accel_map_change_entry() для изменения акселераторов во время выполнения.
Если вызвана больше одного раза, accel_group останется замкнутым пока gtk_accel_group_unlock() не будет вызвана соответствующее количество раз.
| accel_group : | 
void gtk_accel_group_unlock (GtkAccelGroup *accel_group);
Уничтожает последний вызов gtk_accel_group_lock() для accel_group.
| accel_group : | 
GtkAccelGroup* gtk_accel_group_from_accel_closure
                                            (GClosure *closure);Находит GtkAccelGroup с которым связан closure; смотрите gtk_accel_group_connect().
| closure : | |
| Возвращает : | GtkAccelGroup связанный с closure , или NULL. | 
gboolean    gtk_accel_groups_activate       (GObject *object,
                                             guint accel_key,
                                             GdkModifierType accel_mods);Находит первый акселератор в любом присоединённом GtkAccelGroup, с соответствующими object, accel_key и accel_mods, и активизирует этот акселератор. Если акселератор активирован и соответствующее нажатие обработано, возвращается TRUE.
| object : | GObject, обычно GtkWindow, чтобы активизировать акселератор. | 
| accel_key : | Ключевое значение акселератора из ключевого события | 
| accel_mods : | Маска состояния клавиатуры из ключевого события | 
| Возвращает : | TRUE если акселератор обработан, иначе FALSE | 
GSList* gtk_accel_groups_from_object (GObject *object);
Получить список всех групп акселераторов прикреплённых к object.
| object : | |
| Возвращает : | список всех групп акселераторов прикреплённых к object | 
GtkAccelKey* gtk_accel_group_find           (GtkAccelGroup *accel_group,
                                             GtkAccelGroupFindFunc find_func,
                                             gpointer data);Находит первый вход в группе акселераторов, для которого find_func возвращает TRUE и возвращает его GtkAccelKey.
| accel_group : | |
| find_func : | Функция фильтрации записей в accel_group | 
| data : | Данные посылаемые find_func | 
| Возвращает : | Ключ первой записи помещенной find_func. Ключ принадлежит GTK+ и неможет быть освобождён. | 
typedef struct {
  guint           accel_key;
  GdkModifierType accel_mods;
  guint           accel_flags : 16;
} GtkAccelKey;
gboolean    gtk_accelerator_valid           (guint keyval,
                                             GdkModifierType modifiers);Определяет, составляют ли данное ключевое значение (keyval) и маска модификатора (modifiers) действительный модификатор клавиатуры. Например, ключевое значение GDK_a плюс GDK_CONTROL_MASK, действителен это акселератор "Ctrl+a". Но вы не можете, для ссылки, использовать ключевое значение GDK_Control_L как акселератор.
| keyval : | Ключевое значение GDK | 
| modifiers : | Маска модификатора | 
| Возвращает : | TRUE, если акселератор действителен | 
void        gtk_accelerator_parse           (const gchar *accelerator,
                                             guint *accelerator_key,
                                             GdkModifierType *accelerator_mods);Анализирует строку, представляющую акселератор. Формат примерно такой "<Control>a", или "<Shift><Alt>F1", или "<Release>z" (последний для ключевого высвобождения). Анализатор достаточно либерален и позволяет нижний или верхний регистр, или сокращения такие как "<Ctl>" и "<Ctrl>".
Если анализ не удался, accelerator_key и accelerator_mods будут установлены в значение 0 (zero).
| accelerator : | Строка представляющая акселератор | 
| accelerator_key : | Размещение возвращаемого ключевого значения акселератора | 
| accelerator_mods : | Размещение возвращаемого маски модификатора акселератора | 
gchar*      gtk_accelerator_name            (guint accelerator_key,
                                             GdkModifierType accelerator_mods);Преобразует ключевое значение и маску модификатора в строку анализируемую gtk_accelerator_parse(). Например, если вы поместили GDK_q и GDK_CONTROL_MASK, эта функция вернёт "<Control>q".
Если вам нужно отобразить акселераторы на интерфейсе пользователя, смотрите gtk_accelerator_get_label().
| accelerator_key : | Ключевое значение акселератора | 
| accelerator_mods : | Маска модификатора акселератора | 
| Возвращает : | Вновь-размещённое имя акселератора | 
gchar*      gtk_accelerator_get_label       (guint accelerator_key,
                                             GdkModifierType accelerator_mods);Преобразует ключевое значение акселератора и маску модификатора в строку которая может использоваться для отображения акселератора на пользовательском интерфейсе.
| accelerator_key : | Ключевое значение акселератора | 
| accelerator_mods : | Маска модификатора акселератора | 
| Возвращает : | Вновь-размещённая строка для отображения акселератора. | 
Начиная с версии 2.6
void        gtk_accelerator_set_default_mod_mask
                                            (GdkModifierType default_mod_mask);Устанавливает модификаторы которые будут существенно продуманны для акселераторов клавиатуры. По умолчанию модифицирующая маска GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK, это, Control, Shift и Alt. Другие модификаторы по умолчанию игнорируются GtkAccelGroup. Вы должны включить по крайней мере три модификатора по умолчанию в любое значение переданное этой функции.
По умолчанию модифицирующая маска должна быть изменена при запуске приложения, перед использованием любых групп акселераторов.
| default_mod_mask : | Маска модификации акселератора | 
guint       gtk_accelerator_get_default_mod_mask
                                            (void);Устанавливает значение gtk_accelerator_set_default_mod_mask().
| Возвращает : | Маска модификатора по умолчанию | 
gboolean    user_function                  (GtkAccelGroup  *accel_group,
                                            GObject        *acceleratable,
                                            guint           keyval,
                                            GdkModifierType modifier,
                                            gpointer        user_data)          : Has detailsСигнал accel-activate реализует детали GtkAccelGroup и не предполагает использование приложением.
| accel_group : | GtkAccelGroup который получил сигнал | 
| acceleratable : | Объект который активизировал акселератор | 
| keyval : | Ключевое значение акселератора | 
| modifier : | Модифицирующая комбинация для акселератора | 
| user_data : | Пользовательские данные установленные подключенным обработчиком сигнала. | 
| Возвращает : | TRUE если акселератор активизирован | 
void        user_function                  (GtkAccelGroup  *accel_group,
                                            guint           keyval,
                                            GdkModifierType modifier,
                                            GClosure       *accel_closure,
                                            gpointer        user_data)          : Run first / Has detailsСигнал accel-changed создаётся когда GtkAccelGroupEntry добавляется или удаляется из группы акселераторов.
Виджеты, такие как GtkAccelLabel, которые отображают ассоциированные акселераторы должны подключаться к этому сигналу и восстанавливать их визуальное представление, если accel_closure им соответствует.
| accel_group : | GtkAccelGroup который получил сигнал | 
| keyval : | Ключевое значение акселератора | 
| modifier : | Модифицирующая комбинация акселератора | 
| accel_closure : | Объект GClosure акселератора | 
| user_data : | Пользовательские данные установленные когда подключен обработчик сигнала. | 
gtk_window_add_accel_group(), gtk_accel_map_change_entry(), gtk_item_factory_new(), gtk_label_new_with_mnemonic()
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |