ScrollbarProtocol
public protocol ScrollbarProtocol : RangeProtocol
The GtkScrollbar
widget is a horizontal or vertical scrollbar,
depending on the value of the GtkOrientable:orientation
property.
Its position and movement are controlled by the adjustment that is passed to
or created by gtk_scrollbar_new()
. See GtkAdjustment
for more details. The
GtkAdjustment:value
field sets the position of the thumb and must be between
GtkAdjustment:lower
and GtkAdjustment:upper
- GtkAdjustment:page-size
. The
GtkAdjustment:page-size
represents the size of the visible scrollable area.
The fields GtkAdjustment:step-increment
and GtkAdjustment:page-increment
fields are added to or subtracted from the GtkAdjustment:value
when the user
asks to move by a step (using e.g. the cursor arrow keys or, if present, the
stepper buttons) or by a page (using e.g. the Page Down/Up keys).
CSS nodes
(plain Language Example):
scrollbar[.fine-tune]
╰── contents
├── [button.up]
├── [button.down]
├── trough
│ ╰── slider
├── [button.up]
╰── [button.down]
GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents, with subnodes named trough and slider.
The main node gets the style class .fine-tune added when the scrollbar is in ‘fine-tuning’ mode.
If steppers are enabled, they are represented by up to four additional subnodes with name button. These get the style classes .up and .down to indicate in which direction they are moving.
Other style classes that may be added to scrollbars inside GtkScrolledWindow
include the positional classes (.left, .right, .top, .bottom) and style
classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).
The ScrollbarProtocol
protocol exposes the methods and properties of an underlying GtkScrollbar
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 Scrollbar
.
Alternatively, use ScrollbarRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkScrollbar
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
scrollbar_ptr
Default implementationTyped pointer to the underlying
GtkScrollbar
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkScrollbar
instance.Declaration
Swift
var scrollbar_ptr: UnsafeMutablePointer<GtkScrollbar>! { get }
-
Required Initialiser for types conforming to
ScrollbarProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
ScrollbarPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: ScrollbarPropertyName, 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 Scrollbar property
Declaration
Swift
@inlinable func get(property: ScrollbarPropertyName) -> 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 Scrollbar property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: ScrollbarPropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
range
Extension methodUndocumented
Declaration
Swift
@inlinable var range: GtkRange { get }