Клавишные ускорители
Клавишные ускорители — Утилиты для ускорителей
Функции
| 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 | место для возврата значения клавиши ускорителя или | [out][allow-none] |
accelerator_mods | место для возврата маски модификаторов ускорителя, | [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 для поиска | [allow-none] |
accelerator_key | место для возврата значения клавиши ускорителя или | [out][allow-none] |
accelerator_codes | место для возврата кодов клавиш ускорителя или | [out][array нуль-терминированный=1][transfer full][allow-none] |
accelerator_mods | место для возврата маски модификаторов ускорителя, | [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 или | [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 или | [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