RootProtocol
public protocol RootProtocol : NativeProtocol
GtkRoot
is the interface implemented by all widgets that can act as a toplevel
widget.
The root widget takes care of providing the connection to the windowing system and manages layout, drawing and event delivery for its widget hierarchy.
The obvious example of a GtkRoot
is GtkWindow
.
To get the display to which a GtkRoot
belongs, use
[methodGtk.Root.get_display
].
GtkRoot
also maintains the location of keyboard focus inside its widget
hierarchy, with [methodGtk.Root.set_focus
] and [methodGtk.Root.get_focus
].
The RootProtocol
protocol exposes the methods and properties of an underlying GtkRoot
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 Root
.
Alternatively, use RootRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkRoot
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
root_ptr
Default implementationTyped pointer to the underlying
GtkRoot
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkRoot
instance.Declaration
Swift
var root_ptr: UnsafeMutablePointer<GtkRoot>! { get }
-
Required Initialiser for types conforming to
RootProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
RootPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: RootPropertyName, 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 Root property
Declaration
Swift
@inlinable func get(property: RootPropertyName) -> 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 Root property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: RootPropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
getDisplay()
Extension methodReturns the display that this
GtkRoot
is on.Declaration
Swift
@inlinable func getDisplay() -> Gdk.DisplayRef!
-
getFocus()
Extension methodRetrieves the current focused widget within the root.
Note that this is the widget that would have the focus if the root is active; if the root is not focused then
gtk_widget_has_focus (widget)
will befalse
for the widget.Declaration
Swift
@inlinable func getFocus() -> WidgetRef!
-
set(focus:
Extension method) If
focus
is not the current focus widget, and is focusable, sets it as the focus widget for the root.If
focus
isnil
, unsets the focus widget for the root.To set the focus to a particular widget in the root, it is usually more convenient to use [method
Gtk.Widget.grab_focus
] instead of this function.Declaration
Swift
@inlinable func set(focus: WidgetRef? = nil)
-
set(focus:
Extension method) If
focus
is not the current focus widget, and is focusable, sets it as the focus widget for the root.If
focus
isnil
, unsets the focus widget for the root.To set the focus to a particular widget in the root, it is usually more convenient to use [method
Gtk.Widget.grab_focus
] instead of this function.Declaration
Swift
@inlinable func set<WidgetT>(focus: WidgetT?) where WidgetT : WidgetProtocol
-
display
Extension methodReturns the display that this
GtkRoot
is on.Declaration
Swift
@inlinable var display: Gdk.DisplayRef! { get }
-
focus
Extension methodRetrieves the current focused widget within the root.
Note that this is the widget that would have the focus if the root is active; if the root is not focused then
gtk_widget_has_focus (widget)
will befalse
for the widget.Declaration
Swift
@inlinable var focus: WidgetRef! { get nonmutating set }