Scrollbar

open class Scrollbar : Widget, ScrollbarProtocol

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 Scrollbar type acts as a reference-counted owner of an underlying GtkScrollbar instance. It provides the methods that can operate on this data type through ScrollbarProtocol conformance. Use Scrollbar as a strong reference or owner of a GtkScrollbar instance.

  • Designated initialiser from the underlying `C` data type.
    

    This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    public init(_ op: UnsafeMutablePointer<GtkScrollbar>)

    Parameters

    op

    pointer to the underlying object

  • Designated initialiser from a constant pointer to the underlying C data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    public init(_ op: UnsafePointer<GtkScrollbar>)

    Parameters

    op

    pointer to the underlying object

  • Optional initialiser from a non-mutating gpointer to the underlying C data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    override public init!(gpointer op: gpointer?)

    Parameters

    op

    gpointer to the underlying object

  • Optional initialiser from a non-mutating gconstpointer to the underlying C data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    override public init!(gconstpointer op: gconstpointer?)

    Parameters

    op

    pointer to the underlying object

  • Optional initialiser from a constant pointer to the underlying C data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    public init!(_ op: UnsafePointer<GtkScrollbar>?)

    Parameters

    op

    pointer to the underlying object

  • Optional initialiser from the underlying C data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    public init!(_ op: UnsafeMutablePointer<GtkScrollbar>?)

    Parameters

    op

    pointer to the underlying object

  • Designated initialiser from the underlying C data type. Will retain GtkScrollbar. i.e., ownership is transferred to the Scrollbar instance.

    Declaration

    Swift

    @inlinable
    public init(retaining op: UnsafeMutablePointer<GtkScrollbar>)

    Parameters

    op

    pointer to the underlying object

  • Reference intialiser for a related type that implements ScrollbarProtocol Will retain GtkScrollbar.

    Declaration

    Swift

    @inlinable
    public init<T>(scrollbar other: T) where T : ScrollbarProtocol

    Parameters

    other

    an instance of a related type that implements ScrollbarProtocol

  • Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init<T>(cPointer p: UnsafeMutablePointer<T>)

    Parameters

    cPointer

    pointer to the underlying object

  • Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)

    Parameters

    cPointer

    pointer to the underlying object

  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init(raw p: UnsafeRawPointer)

    Parameters

    p

    raw pointer to the underlying object

  • Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init(retainingRaw raw: UnsafeRawPointer)
  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    public required init(raw p: UnsafeMutableRawPointer)

    Parameters

    p

    mutable raw pointer to the underlying object

  • Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    required public init(retainingRaw raw: UnsafeMutableRawPointer)

    Parameters

    raw

    mutable raw pointer to the underlying object

  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init(opaquePointer p: OpaquePointer)

    Parameters

    p

    opaque pointer to the underlying object

  • Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to ScrollbarProtocol.

    Declaration

    Swift

    @inlinable
    override public init(retainingOpaquePointer p: OpaquePointer)

    Parameters

    p

    opaque pointer to the underlying object

  • Creates a new scrollbar with the given orientation.

    Declaration

    Swift

    @inlinable
    public init<AdjustmentT>(orientation: GtkOrientation, adjustment: AdjustmentT?) where AdjustmentT : AdjustmentProtocol