EventControllerProtocol
public protocol EventControllerProtocol : ObjectProtocol
GtkEventController
is the base class for event controllers.
These are ancillary objects associated to widgets, which react
to GdkEvents
, and possibly trigger actions as a consequence.
Event controllers are added to a widget with
[methodGtk.Widget.add_controller
]. It is rarely necessary to
explicitly remove a controller with [methodGtk.Widget.remove_controller
].
See the chapter on input handling for an overview of the basic concepts, such as the capture and bubble phases of even propagation.
The EventControllerProtocol
protocol exposes the methods and properties of an underlying GtkEventController
instance.
The default implementation of these can be found in the protocol extension below.
For a concrete class that implements these methods and properties, see EventController
.
Alternatively, use EventControllerRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkEventController
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
event_controller_ptr
Default implementationTyped pointer to the underlying
GtkEventController
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkEventController
instance.Declaration
Swift
var event_controller_ptr: UnsafeMutablePointer<GtkEventController>! { get }
-
Required Initialiser for types conforming to
EventControllerProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
EventControllerPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: EventControllerPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol
Parameters
source_property
the source property to bind
target
the target object to bind to
target_property
the target property to bind to
flags
the flags to pass to the
Binding
transform_from
ValueTransformer
to use for forward transformationtransform_to
ValueTransformer
to use for backwards transformationReturn Value
binding reference or
nil
in case of an error -
get(property:
Extension method) Get the value of a EventController property
Declaration
Swift
@inlinable func get(property: EventControllerPropertyName) -> GLibObject.Value
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
set(property:
Extension methodvalue: ) Set the value of a EventController property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: EventControllerPropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
getCurrentEvent()
Extension methodReturns the event that is currently being handled by the controller.
At other times,
nil
is returned.Declaration
Swift
@inlinable func getCurrentEvent() -> Gdk.EventRef!
-
getCurrentEventDevice()
Extension methodReturns the device of the event that is currently being handled by the controller.
At other times,
nil
is returned.Declaration
Swift
@inlinable func getCurrentEventDevice() -> Gdk.DeviceRef!
-
getCurrentEventState()
Extension methodReturns the modifier state of the event that is currently being handled by the controller.
At other times, 0 is returned.
Declaration
Swift
@inlinable func getCurrentEventState() -> Gdk.ModifierType
-
getCurrentEventTime()
Extension methodReturns the timestamp of the event that is currently being handled by the controller.
At other times, 0 is returned.
Declaration
Swift
@inlinable func getCurrentEventTime() -> guint32
-
getName()
Extension methodGets the name of
controller
.Declaration
Swift
@inlinable func getName() -> String!
-
getPropagationLimit()
Extension methodGets the propagation limit of the event controller.
Declaration
Swift
@inlinable func getPropagationLimit() -> GtkPropagationLimit
-
getPropagationPhase()
Extension methodGets the propagation phase at which
controller
handles events.Declaration
Swift
@inlinable func getPropagationPhase() -> GtkPropagationPhase
-
getWidget()
Extension methodReturns the
GtkWidget
this controller relates to.Declaration
Swift
@inlinable func getWidget() -> WidgetRef!
-
reset()
Extension methodResets the
controller
to a clean state.Declaration
Swift
@inlinable func reset()
-
set(name:
Extension method) Sets a name on the controller that can be used for debugging.
Declaration
Swift
@inlinable func set(name: UnsafePointer<CChar>!)
-
setPropagation(limit:
Extension method) Sets the event propagation limit on the event controller.
If the limit is set to
GTK_LIMIT_SAME_NATIVE
, the controller won’t handle events that are targeted at widgets on a different surface, such as popovers.Declaration
Swift
@inlinable func setPropagation(limit: GtkPropagationLimit)
-
setPropagation(phase:
Extension method) Sets the propagation phase at which a controller handles events.
If
phase
isGTK_PHASE_NONE
, no automatic event handling will be performed, but other additional gesture maintenance will.Declaration
Swift
@inlinable func setPropagation(phase: GtkPropagationPhase)
-
currentEvent
Extension methodReturns the event that is currently being handled by the controller.
At other times,
nil
is returned.Declaration
Swift
@inlinable var currentEvent: Gdk.EventRef! { get }
-
currentEventDevice
Extension methodReturns the device of the event that is currently being handled by the controller.
At other times,
nil
is returned.Declaration
Swift
@inlinable var currentEventDevice: Gdk.DeviceRef! { get }
-
currentEventState
Extension methodReturns the modifier state of the event that is currently being handled by the controller.
At other times, 0 is returned.
Declaration
Swift
@inlinable var currentEventState: Gdk.ModifierType { get }
-
currentEventTime
Extension methodReturns the timestamp of the event that is currently being handled by the controller.
At other times, 0 is returned.
Declaration
Swift
@inlinable var currentEventTime: guint32 { get }
-
name
Extension methodThe name for this controller, typically used for debugging purposes.
Declaration
Swift
@inlinable var name: String! { get nonmutating set }
-
propagationLimit
Extension methodGets the propagation limit of the event controller.
Declaration
Swift
@inlinable var propagationLimit: GtkPropagationLimit { get nonmutating set }
-
propagationPhase
Extension methodGets the propagation phase at which
controller
handles events.Declaration
Swift
@inlinable var propagationPhase: GtkPropagationPhase { get nonmutating set }
-
widget
Extension methodThe widget receiving the
GdkEvents
that the controller will handle.Declaration
Swift
@inlinable var widget: WidgetRef! { get }