Spec-Zone.ru › GTK 4.0

Клавишные ускорители

Клавишные ускорители — Утилиты для ускорителей

Функции

gboolean gtk_accelerator_valid ()
gboolean gtk_accelerator_parse ()
char * gtk_accelerator_name ()
char * gtk_accelerator_get_label ()
gboolean gtk_accelerator_parse_with_keycode ()
char * gtk_accelerator_name_with_keycode ()
char * gtk_accelerator_get_label_with_keycode ()
GdkModifierType gtk_accelerator_get_default_mod_mask ()

Включаемые файлы

#include <gtk/gtk.h>

Описание

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

Если вам нужно настроить клавишные ускорители для виджетов, GtkShortcutTrigger вероятно, более удобен, чем функции в этом разделе.

Функции

gtk_accelerator_valid ()

gboolean
gtk_accelerator_valid (guint keyval,
                       GdkModifierType modifiers);

Определяет, является ли заданная комбинация клавиш и модификаторов действительной комбинацией для клавиатурного ускорителя. Например, клавиша GDK_KEY_a плюс GDK_CONTROL_MASK является действительной комбинацией — это ускоритель «Ctrl+a». Но, например, вы не можете использовать клавишу GDK_KEY_Control_L в качестве ускорителя.

Параметры

keyval

значение клавиши GDK

modifiers

маска модификаторов

Возвращает

TRUE , если ускоритель действителен

gtk_accelerator_parse ()

gboolean
gtk_accelerator_parse (const char *accelerator,
                       guint *accelerator_key,
                       GdkModifierType *accelerator_mods);

Разбирает строку, представляющую ускоритель. Формат строки похож на «<Control>a» или «<Shift><Alt>F1».

Парсер достаточно либерален и допускает использование строчных или заглавных букв, а также сокращения, такие как «<Ctl>» и «<Ctrl>». Названия клавиш разбираются с помощью gdk_keyval_from_name(). Для символьных клавиш имя не является символом, а является строчным именем, например, следует использовать «<Ctrl>minus» вместо «<Ctrl>-».

Если разбор завершается неудачно, accelerator_key и accelerator_mods будут установлены в 0 (ноль).

Параметры

accelerator

строка, представляющая ускоритель

accelerator_key

место для возврата значения клавиши ускорителя или NULL.

[out][allow-none]

accelerator_mods

место для возврата маски модификаторов ускорителя, NULL.

[out][allow-none]

gtk_accelerator_name ()

char *
gtk_accelerator_name (guint accelerator_key,
                      GdkModifierType accelerator_mods);

Преобразует значение клавиши ускорителя и маску модификаторов в строку, которую можно разобрать с помощью gtk_accelerator_parse(). Например, если вы передаете GDK_KEY_q и GDK_CONTROL_MASK, эта функция возвращает «<Control>q».

Если вам нужно отобразить ускорители в пользовательском интерфейсе, см. gtk_accelerator_get_label().

Параметры

accelerator_key

значение клавиши ускорителя

accelerator_mods

маска модификаторов ускорителя

Возвращает

имя ускорителя, выделенное из памяти.

gtk_accelerator_get_label ()

char *
gtk_accelerator_get_label (guint accelerator_key,
                           GdkModifierType accelerator_mods);

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

Параметры

accelerator_key

значение клавиши ускорителя

accelerator_mods

маска модификаторов ускорителя

Возвращает

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

gtk_accelerator_parse_with_keycode ()

gboolean
gtk_accelerator_parse_with_keycode (const char *accelerator,
                                    GdkDisplay *display,
                                    guint *accelerator_key,
                                    guint **accelerator_codes,
                                    GdkModifierType *accelerator_mods);

Разбирает строку, представляющую ускоритель, аналогично gtk_accelerator_parse(), но обрабатывает и кодовые значения клавиш. Это полезно только для компонентов системного уровня, приложения должны использовать gtk_accelerator_parse().

Если accelerator_codes задано, и результат, хранящийся в нём, не NULL, результат необходимо освободить с помощью g_free().

Если в ускорителе присутствует код клавиши, и accelerator_codes не задано, разбор завершится неудачей.

Если разбор завершится неудачей, accelerator_key, accelerator_mods и accelerator_codes будут установлены в 0 (ноль).

Параметры

accelerator

строка, представляющая ускоритель

display

GdkDisplay для поиска accelerator_codes в нём.

[allow-none]

accelerator_key

место для возврата значения клавиши ускорителя или NULL.

[out][allow-none]

accelerator_codes

место для возврата кодов клавиш ускорителя или NULL.

[out][array нуль-терминированный=1][transfer full][allow-none]

accelerator_mods

место для возврата маски модификаторов ускорителя, NULL.

[out][allow-none]

Возвращает

TRUE , если разбор выполнен успешно

gtk_accelerator_name_with_keycode ()

char *
gtk_accelerator_name_with_keycode (GdkDisplay *display,
                                   guint accelerator_key,
                                   guint keycode,
                                   GdkModifierType accelerator_mods);

Преобразует значение клавиши ускорителя и маску модификаторов в строку, которую можно разобрать с помощью gtk_accelerator_parse_with_keycode(), аналогично gtk_accelerator_name(), но учитывая кодовые значения клавиш. Это полезно только для компонентов системного уровня, приложения должны использовать gtk_accelerator_parse().

Параметры

display

GdkDisplay или NULL для использования системного дисплея.

[allow-none]

accelerator_key

значение клавиши ускорителя

keycode

код клавиши ускорителя

accelerator_mods

маска модификаторов ускорителя

Возвращает

имя ускорителя, выделенное из памяти.

gtk_accelerator_get_label_with_keycode ()

char *
gtk_accelerator_get_label_with_keycode
                               (GdkDisplay *display,
                                guint accelerator_key,
                                guint keycode,
                                GdkModifierType accelerator_mods);

Преобразует комбинацию клавиш (keyval и маску модификаторов) в (возможно переведённую) строку, которую можно отобразить пользователю, аналогично gtk_accelerator_get_label(), но учитывая коды клавиш.

Это полезно только для компонентов системного уровня, приложения должны использовать gtk_accelerator_parse() вместо этого.

Параметры

display

объект GdkDisplay или NULL для использования системного дисплея.

[allow-none]

accelerator_key

значение клавиши комбинации

keycode

код клавиши комбинации

accelerator_mods

маска модификаторов комбинации

Возвращаемое значение

новое строковое значение, представляющее комбинацию клавиш.

gtk_accelerator_get_default_mod_mask ()

GdkModifierType
gtk_accelerator_get_default_mod_mask (void);

Возвращает маску модификаторов.

Маска модификаторов определяет, какие модификаторы считаются значимыми для комбинаций клавиш. Это включает все модификаторы клавиатуры, кроме GDK_LOCK_MASK.

Возвращаемое значение

маска модификаторов для комбинаций клавиш

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/gtk4-Keyboard-Accelerators.html

Spec-Zone.ru

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