ScrollbarProtocol

public protocol ScrollbarProtocol : OrientableProtocol, WidgetProtocol

The GtkScrollbar widget is a horizontal or vertical scrollbar.

An example GtkScrollbar

Its position and movement are controlled by the adjustment that is passed to or created by [ctorGtk.Scrollbar.new]. See [classGtk.Adjustment] for more details. The [propertyGtk.Adjustment:value] field sets the position of the thumb and must be between [propertyGtk.Adjustment:lower] and [propertyGtk.Adjustment:upper] - [propertyGtk.Adjustment:page-size]. The [propertyGtk.Adjustment:page-size] represents the size of the visible scrollable area.

The fields [propertyGtk.Adjustment:step-increment] and [propertyGtk.Adjustment:page-increment] fields are added to or subtracted from the [propertyGtk.Adjustment:value] when the user asks to move by a step (using e.g. the cursor arrow keys) or by a page (using e.g. the Page Down/Up keys).

CSS nodes

scrollbar
╰── range[.fine-tune]
    ╰── trough
        ╰── slider

GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents. The main node gets the .horizontal or .vertical style classes applied, depending on the scrollbar’s orientation.

The range node gets the style class .fine-tune added when the scrollbar is in ‘fine-tuning’ mode.

Other style classes that may be added to scrollbars inside [classGtk.ScrolledWindow] include the positional classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).

Accessibility

GtkScrollbar uses the GTK_ACCESSIBLE_ROLE_SCROLLBAR role.

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.

  • ptr

    Untyped pointer to the underlying GtkScrollbar instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • scrollbar_ptr Default implementation

    Typed 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)

Scrollbar Class

  • 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 transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return 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:value:) Extension method

    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

Scrollbar Class: ScrollbarProtocol extension (methods and fields)