Class
GtkShortcutController
Description [src]
final class Gtk.ShortcutController : Gtk.EventController
implements Gio.ListModel, Gtk.Buildable {
/* No available fields */
}
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 GtkLabel
, or by installing a key
binding using gtk_widget_class_add_binding()
, or by adding accelerators
to global actions using gtk_application_set_accels_for_action()
.
But it is possible to create your own shortcut controller, and add shortcuts to it.
GtkShortcutController
implements GListModel
for querying the
shortcuts that have been added to it.
GtkShortcutController as GtkBuildable
GtkShortcutController
s can be created in GtkBuilder
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'><Control>k</property>
<property name='action'>activate</property>
</object>
</child>
</object>
</child>
</object>
This example creates a GtkActivateAction
for triggering the
activate
signal of the GtkButton
. See gtk_shortcut_action_parse_string()
for the syntax for other kinds of GtkShortcutAction
. See
gtk_shortcut_trigger_parse_string()
to learn more about the syntax
for triggers.
Constructors
gtk_shortcut_controller_new_for_model
Creates a new shortcut controller that takes its shortcuts from the given list model.
Instance methods
gtk_shortcut_controller_get_mnemonics_modifiers
Gets the mnemonics modifiers for when this controller activates its shortcuts.
gtk_shortcut_controller_remove_shortcut
Removes shortcut
from the list of shortcuts handled by self
.
gtk_shortcut_controller_set_mnemonics_modifiers
Sets the controller to use the given modifier for mnemonics.
Methods inherited from GtkEventController (13)
gtk_event_controller_get_current_event
Returns the event that is currently being handled by the controller.
gtk_event_controller_get_current_event_device
Returns the device of the event that is currently being handled by the controller.
gtk_event_controller_get_current_event_state
Returns the modifier state of the event that is currently being handled by the controller.
gtk_event_controller_get_current_event_time
Returns the timestamp of the event that is currently being handled by the controller.
gtk_event_controller_get_name
Gets the name of controller
.
gtk_event_controller_get_propagation_limit
Gets the propagation limit of the event controller.
gtk_event_controller_get_propagation_phase
Gets the propagation phase at which controller
handles events.
gtk_event_controller_get_widget
Returns the GtkWidget
this controller relates to.
gtk_event_controller_reset
Resets the controller
to a clean state.
gtk_event_controller_set_name
Sets a name on the controller that can be used for debugging.
gtk_event_controller_set_propagation_limit
Sets the event propagation limit on the event controller.
gtk_event_controller_set_propagation_phase
Sets the propagation phase at which a controller handles events.
gtk_event_controller_set_static_name
Sets a name on the controller that can be used for debugging.
since: 4.8
Methods inherited from GListModel (5)
g_list_model_get_item
Get the item at position
.
g_list_model_get_item_type
Gets the type of the items in list
.
g_list_model_get_n_items
Gets the number of items in list
.
g_list_model_get_object
Get the item at position
.
g_list_model_items_changed
Emits the GListModel::items-changed
signal on list
.
Methods inherited from GtkBuildable (1)
Properties
Gtk.ShortcutController:mnemonic-modifiers
The modifiers that need to be pressed to allow mnemonics activation.
Properties inherited from GtkEventController (4)
Gtk.EventController:name
The name for this controller, typically used for debugging purposes.
Gtk.EventController:propagation-limit
The limit for which events this controller will handle.
Gtk.EventController:propagation-phase
The propagation phase at which this controller will handle events.
Gtk.EventController:widget
The widget receiving the GdkEvents
that the controller will handle.
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Signals inherited from GListModel (1)
GListModel::items-changed
This signal is emitted whenever items were added to or removed
from list
. At position
, removed
items were removed and added
items were added in their place.