ShortcutController

open class ShortcutController(pointer: <Error class: unknown class><<Error class: unknown class>>) : EventController, Buildable

GtkShortcutController is an event controller that manages shortcuts.

Most common shortcuts are using this controller implicitly, e.g. by adding a mnemonic underline to a class@Gtk.Label, or by installing a key binding using method@Gtk.WidgetClass.add_binding, or by adding accelerators to global actions using method@Gtk.Application.set_accels_for_action.

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

GtkShortcutController implements iface@Gio.ListModel for querying the shortcuts that have been added to it.

GtkShortcutController as GtkBuildable

GtkShortcutControllers can be created in class@Gtk.Builder ui files, to set up shortcuts in the same place as the widgets.

An example of a UI definition fragment with 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>

This example creates a class@Gtk.ActivateAction for triggering the activate signal of the class@Gtk.Button. See ctor@Gtk.ShortcutAction.parse_string for the syntax for other kinds of class@Gtk.ShortcutAction. See ctor@Gtk.ShortcutTrigger.parse_string to learn more about the syntax for triggers.

Skipped during bindings generation

  • method item-type: Property has no getter nor setter

  • method model: Property has no getter nor setter

  • method n-items: Property has no getter nor setter

Constructors

Link copied to clipboard
constructor()

Creates a new shortcut controller.

constructor(model: <Error class: unknown class>)

Creates a new shortcut controller that takes its shortcuts from the given list model.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open val gioListModelPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gtkBuildablePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gtkEventControllerPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gtkShortcutControllerPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open var mnemonicModifiers: <Error class: unknown class>

The modifiers that need to be pressed to allow mnemonics activation.

Link copied to clipboard
open var name: String?

The name for this controller, typically used for debugging purposes.

Link copied to clipboard

The limit for which events this controller will handle.

Link copied to clipboard

The propagation phase at which this controller will handle events.

Link copied to clipboard

What scope the shortcuts will be handled in.

Link copied to clipboard
open val widget: Widget?

The widget receiving the GdkEvents that the controller will handle.

Functions

Link copied to clipboard
open fun addShortcut(shortcut: Shortcut)

Adds @shortcut to the list of shortcuts handled by @self.

Link copied to clipboard
open fun getBuildableId(): String?

Gets the ID of the @buildable object.

Link copied to clipboard
open fun getCurrentEvent(): <Error class: unknown class>?

Returns the event that is currently being handled by the controller.

Link copied to clipboard
open fun getCurrentEventDevice(): <Error class: unknown class>?

Returns the device of the event that is currently being handled by the controller.

Link copied to clipboard
open fun getCurrentEventState(): <Error class: unknown class>

Returns the modifier state of the event that is currently being handled by the controller.

Link copied to clipboard
open fun getCurrentEventTime(): <Error class: unknown class>

Returns the timestamp of the event that is currently being handled by the controller.

Link copied to clipboard
open fun removeShortcut(shortcut: Shortcut)

Removes @shortcut from the list of shortcuts handled by @self.

Link copied to clipboard
open fun reset()

Resets the @controller to a clean state.

Link copied to clipboard
open fun setStaticName(name: String? = null)

Sets a name on the controller that can be used for debugging.