Class
GtkPadController
Description [src]
final class Gtk.PadController : Gtk.EventController
{
/* No available fields */
}
GtkPadController
is an event controller for the pads found in drawing tablets.
Pads are the collection of buttons and tactile sensors often found around the stylus-sensitive area.
These buttons and sensors have no implicit meaning, and by default they
perform no action. GtkPadController
is provided to map those to
GAction
objects, thus letting the application give them a more
semantic meaning.
Buttons and sensors are not constrained to triggering a single action,
some GDK_SOURCE_TABLET_PAD
devices feature multiple “modes”. All these
input elements have one current mode, which may determine the final action
being triggered.
Pad devices often divide buttons and sensors into groups. All elements
in a group share the same current mode, but different groups may have
different modes. See gdk_device_pad_get_n_groups()
and
gdk_device_pad_get_group_n_modes()
.
Each of the actions that a given button/strip/ring performs for a given mode
is defined by a GtkPadActionEntry
. It contains an action name that
will be looked up in the given GActionGroup
and activated whenever
the specified input element and mode are triggered.
A simple example of GtkPadController
usage: Assigning button 1 in all
modes and pad devices to an “invert-selection” action:
GtkPadActionEntry *pad_actions[] = {
{ GTK_PAD_ACTION_BUTTON, 1, -1, "Invert selection", "pad-actions.invert-selection" },
…
};
…
action_group = g_simple_action_group_new ();
action = g_simple_action_new ("pad-actions.invert-selection", NULL);
g_signal_connect (action, "activate", on_invert_selection_activated, NULL);
g_action_map_add_action (G_ACTION_MAP (action_group), action);
…
pad_controller = gtk_pad_controller_new (action_group, NULL);
The actions belonging to rings/strips will be activated with a parameter
of type G_VARIANT_TYPE_DOUBLE
bearing the value of the given axis, it
is required that those are made stateful and accepting this GVariantType
.
Constructors
gtk_pad_controller_new
Creates a new GtkPadController
that will associate events from pad
to actions.
Instance methods
gtk_pad_controller_set_action_entries
A convenience function to add a group of action entries on
controller
.
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
Properties
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.