Spec-Zone.ru › GTK 4.0

GtkShortcutController

GtkShortcutController — Контроллер событий для ярлыков

Функции

GtkEventController * gtk_shortcut_controller_new ()
GtkEventController * gtk_shortcut_controller_new_for_model ()
void gtk_shortcut_controller_set_mnemonics_modifiers ()
GdkModifierType gtk_shortcut_controller_get_mnemonics_modifiers ()
void gtk_shortcut_controller_set_scope ()
GtkShortcutScope gtk_shortcut_controller_get_scope ()
void gtk_shortcut_controller_add_shortcut ()
void gtk_shortcut_controller_remove_shortcut ()

Свойства

GdkModifierType mnemonic-modifiers Чтение / Запись
GListModel * model Запись / Только для создания
GtkShortcutScope scope Чтение / Запись

Типы и значения

GtkShortcutController
перечисление GtkShortcutScope
GtkShortcutManager
структура GtkShortcutManagerInterface

Иерархия объектов

    GInterface
    ╰── GtkShortcutManager
    GObject
    ╰── GtkEventController
        ╰── GtkShortcutController

Предварительные условия

GtkShortcutManager требует GObject.

Реализованные интерфейсы

GtkShortcutController реализует GListModel и GtkBuildable.

Известные реализации

GtkShortcutManager реализуется в GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkEmojiChooser, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkShortcutsWindow и GtkWindow.

Файлы включения

#include <gtk/gtk.h>

Описание

GtkShortcutController — это контроллер событий, управляющий ярлыками.

Большинство распространённых ярлыков неявно используют этот контроллер, например, добавляя подчёркнутый символ mnemonics к GtkLabel, или устанавливая привязку клавиш с помощью gtk_widget_class_add_binding(), или добавляя акселераторы к глобальным действиям с помощью gtk_application_set_accels_for_action().

Но можно создать свой контроллер ярлыков и добавить в него ярлыки.

GtkShortcutController реализует GListModel для запроса ярлыков, которые были добавлены в него.

GtkShortcutController как GtkBuildable

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

Пример фрагмента определения пользовательского интерфейса с GtkShortcutController:

<object class='GtkButton'>
  <child>
    <object class='GtkShortcutController'>
      <property name='scope'>managed</property>
      <child>
        <object class='GtkShortcut'>
          <property name='trigger'>&lt;Control&gt;k</property>
          <property name='action'>activate</property>
        </object>
      </child>
    </object>
  </child>
</object>

В этом примере создаётся GtkActivateAction для запуска сигнала activate GtkButton. Смотрите gtk_shortcut_action_parse_string() для синтаксиса других типов GtkShortcutAction. Смотрите gtk_shortcut_trigger_parse_string(), чтобы узнать больше о синтаксисе триггеров.

Функции

gtk_shortcut_controller_new ()

GtkEventController *
gtk_shortcut_controller_new (void);

Создаёт новый контроллер сочетаний клавиш.

Возвращает

новый созданный контроллер сочетаний клавиш

gtk_shortcut_controller_new_for_model ()

GtkEventController *
gtk_shortcut_controller_new_for_model (GListModel *model);

Создаёт новый контроллер сочетаний клавиш, получающий сочетания из заданного списка моделей.

Контроллер, созданный этой функцией, не позволяет добавлять или удалять отдельные сочетания клавиш с помощью API контроллера сочетаний клавиш, но вы можете изменять содержимое модели.

Параметры

model

a GListModel содержащий сочетания клавиш

Возвращает

новый созданный контроллер сочетаний клавиш

gtk_shortcut_controller_set_mnemonics_modifiers ()

void
gtk_shortcut_controller_set_mnemonics_modifiers
                               (GtkShortcutController *self,
                                GdkModifierType modifiers);

Устанавливает контроллер с заданными mnemonics_modifiers.

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

GTK обычно использует модификатор Alt для мнемоники, за исключением GtkPopoverMenu, где мнемоника может быть активирована без каких-либо модификаторов. Изменять это значение нужно очень редко, и это вероятно повлияет на другие сочетания клавиш.

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

Параметры

self

a GtkShortcutController

modifiers

новые модификаторы мнемоники для использования

gtk_shortcut_controller_get_mnemonics_modifiers ()

GdkModifierType
gtk_shortcut_controller_get_mnemonics_modifiers
                               (GtkShortcutController *self);

Получает модификаторы мнемоники для активации сочетаний клавиш этим контроллером. Подробнее см. gtk_shortcut_controller_set_mnemonics_modifiers().

Параметры

self

a GtkShortcutController

Возвращает

модификаторы мнемоники контроллера

gtk_shortcut_controller_set_scope ()

void
gtk_shortcut_controller_set_scope (GtkShortcutController *self,
                                   GtkShortcutScope scope);

Устанавливает контроллер с указанным scope.

Область действия позволяет активировать сочетания клавиш за пределами обычной передачи событий. В частности, это позволяет устанавливать глобальные сочетания клавиш, которые могут быть активированы даже когда виджет не имеет фокуса.

С GTK_SHORTCUT_SCOPE_LOCAL, сочетания клавиш будут активированы только когда виджет имеет фокус.

Параметры

self

a GtkShortcutController

scope

новая область действия для использования

gtk_shortcut_controller_get_scope ()

GtkShortcutScope
gtk_shortcut_controller_get_scope (GtkShortcutController *self);

Получает область действия для активации сочетаний клавиш этим контроллером. Подробности см. в gtk_shortcut_controller_set_scope().

Параметры

self

a GtkShortcutController

Возвращает

область действия контроллера

gtk_shortcut_controller_add_shortcut ()

void
gtk_shortcut_controller_add_shortcut (GtkShortcutController *self,
                                      GtkShortcut *shortcut);

Добавляет shortcut в список сочетаний клавиш, обрабатываемых self.

Если этот контроллер использует внешний список сочетаний клавиш, эта функция ничего не делает.

Параметры

self

контроллер

shortcut

a GtkShortcut.

[transfer full]

gtk_shortcut_controller_remove_shortcut ()

void
gtk_shortcut_controller_remove_shortcut
                               (GtkShortcutController *self,
                                GtkShortcut *shortcut);

Удаляет shortcut из списка сочетаний клавиш, обрабатываемых self.

Если shortcut не был добавлен в controller или этот контроллер использует внешний список сочетаний клавиш, эта функция ничего не делает.

Параметры

self

контроллер

shortcut

a GtkShortcut

Типы и значения

GtkShortcutController

typedef struct _GtkShortcutController GtkShortcutController;

перечисление GtkShortcutScope

Описывает, где GtkСочетанияКлавиш добавленные в GtkShortcutController обрабатываются.

Элементы

GTK_SHORTCUT_SCOPE_LOCAL

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

GTK_SHORTCUT_SCOPE_MANAGED

Сочетания клавиш обрабатываются первым предком, который является GtkShortcutManager

GTK_SHORTCUT_SCOPE_GLOBAL

Сочетания клавиш обрабатываются корневым виджетом.

GtkShortcutManager

typedef struct _GtkShortcutManager GtkShortcutManager;

Этот объект используется для реализации поддержки GtkShortcutScopes. Каждый виджет, реализующий GtkShortcutManager, будет использоваться как GTK_SHORTCUT_SCOPE_MANAGED.

struct GtkShortcutManagerInterface

struct GtkShortcutManagerInterface {
  void                  (* add_controller)              (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
  void                  (* remove_controller)           (GtkShortcutManager           *self,
                                                         GtkShortcutController        *controller);
};

Список функций, которые можно реализовать для интерфейса GtkShortcutManager.

Обратите внимание, что реализация ни одной функции не является обязательной, стандартная реализация будет работать нормально.

Подробности свойств

Свойство “mnemonic-modifiers”

  “mnemonic-modifiers”       GdkModifierType

Модификаторы, которые нужно нажать, чтобы активировать мнемонику.

Владелец: GtkShortcutController

Флаги: Чтение / Запись

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

Свойство “model”

  “model”                    GListModel *

Модель списка для получения сочетаний клавиш

Владелец: GtkShortcutController

Флаги: Запись / Только для создания

Свойство “scope”

  “scope”                    GtkShortcutScope

Область действия, в которой будут обрабатываться сочетания клавиш.

Владелец: GtkShortcutController

Флаги: Чтение / Запись

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

См. также

GtkEventController, GtkShortcut

© 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/GtkShortcutController.html

Spec-Zone.ru

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