gtk.shortcut_controller

Module for ShortcutController class

Types 3

gtk.shortcut_controller.ShortcutController is an event controller that manages shortcuts.

Most common shortcuts are using this controller implicitly, e.g. by adding a mnemonic underline to a gtk.label.Label, or by installing a key binding using gtk.widget_class.WidgetClass.addBinding, or by adding accelerators to global actions using gtk.application.Application.setAccelsForAction.

But it is possible to create your own shortcut controller, and add shortcuts to it.

gtk.shortcut_controller.ShortcutController implements gio.list_model.ListModel for querying the shortcuts that have been added to it.

GtkShortcutController as GtkBuildable

gtk.shortcut_controller.ShortcutControllers can be created in gtk.builder.Builder ui files, to set up shortcuts in the same place as the widgets.

An example of a UI definition fragment with gtk.shortcut_controller.ShortcutController:

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

This example creates a gtk.activate_action.ActivateAction for triggering the activate signal of the gtk.button.Button. See gtk.shortcut_action.ShortcutAction.parseString for the syntax for other kinds of gtk.shortcut_action.ShortcutAction. See gtk.shortcut_trigger.ShortcutTrigger.parseString to learn more about the syntax for triggers.

Methods
GType _gType() @property
ShortcutController self()Returns `this`, for use in `with` statements.
ShortcutControllerGidBuilder builder()Get builder for [gtk.shortcut_controller.ShortcutController] Returns: New builder object
gobject.types.GType itemType() @propertyGet `itemType` property. Returns: The type of items. See [gio.list_model.ListModel.getItemType].
gdk.types.ModifierType mnemonicModifiers() @propertyGet `mnemonicModifiers` property. Returns: The modifiers that need to be pressed to allow mnemonics activation.
void mnemonicModifiers(gdk.types.ModifierType propval) @propertySet `mnemonicModifiers` property. Params: propval = The modifiers that need to be pressed to allow mnemonics activation.
uint nItems() @propertyGet `nItems` property. Returns: The number of items. See [gio.list_model.ListModel.getNItems].
gtk.types.ShortcutScope scope_() @propertyGet `scope_` property. Returns: What scope the shortcuts will be handled in.
void scope_(gtk.types.ShortcutScope propval) @propertySet `scope_` property. Params: propval = What scope the shortcuts will be handled in.
gtk.shortcut_controller.ShortcutController newForModel(gio.list_model.ListModel model)Creates a new shortcut controller that takes its shortcuts from the given list model.
void addShortcut(gtk.shortcut.Shortcut shortcut)Adds shortcut to the list of shortcuts handled by self.
gdk.types.ModifierType getMnemonicsModifiers()Gets the mnemonics modifiers for when this controller activates its shortcuts. Returns: the controller's mnemonics modifiers
gtk.types.ShortcutScope getScope()Gets the scope for when this controller activates its shortcuts.
void removeShortcut(gtk.shortcut.Shortcut shortcut)Removes shortcut from the list of shortcuts handled by self.
void setMnemonicsModifiers(gdk.types.ModifierType modifiers)Sets the controller to use the given modifier for mnemonics.
void setScope(gtk.types.ShortcutScope scope_)Sets the controller to have the given scope.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new shortcut controller. Returns: a newly created shortcut controller

Fluent builder implementation template for gtk.shortcut_controller.ShortcutController

Methods
T mnemonicModifiers(gdk.types.ModifierType propval)Set `mnemonicModifiers` property. Params: propval = The modifiers that need to be pressed to allow mnemonics activation. Returns: Builder instance for fluent chaining
T model(gio.list_model.ListModel propval)Set `model` property. Params: propval = A list model to take shortcuts from. Returns: Builder instance for fluent chaining
T scope_(gtk.types.ShortcutScope propval)Set `scope_` property. Params: propval = What scope the shortcuts will be handled in. Returns: Builder instance for fluent chaining