StackSwitcherProtocol

public protocol StackSwitcherProtocol : OrientableProtocol, WidgetProtocol

The GtkStackSwitcher shows a row of buttons to switch between GtkStack pages.

An example GtkStackSwitcher

It acts as a controller for the associated GtkStack.

All the content for the buttons comes from the properties of the stacks [classGtk.StackPage] objects; the button visibility in a GtkStackSwitcher widget is controlled by the visibility of the child in the GtkStack.

It is possible to associate multiple GtkStackSwitcher widgets with the same GtkStack widget.

CSS nodes

GtkStackSwitcher has a single CSS node named stackswitcher and style class .stack-switcher.

When circumstances require it, GtkStackSwitcher adds the .needs-attention style class to the widgets representing the stack pages.

Accessibility

GtkStackSwitcher uses the GTK_ACCESSIBLE_ROLE_TAB_LIST role and uses the GTK_ACCESSIBLE_ROLE_TAB for its buttons.

Orientable

Since GTK 4.4, GtkStackSwitcher implements GtkOrientable allowing the stack switcher to be made vertical with gtk_orientable_set_orientation().

The StackSwitcherProtocol protocol exposes the methods and properties of an underlying GtkStackSwitcher 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 StackSwitcher. Alternatively, use StackSwitcherRef as a lighweight, unowned reference if you already have an instance you just want to use.

  • ptr

    Untyped pointer to the underlying GtkStackSwitcher instance.

    Declaration

    Swift

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

    Typed pointer to the underlying GtkStackSwitcher instance.

    Default Implementation

    Return the stored, untyped pointer as a typed pointer to the GtkStackSwitcher instance.

    Declaration

    Swift

    var stack_switcher_ptr: UnsafeMutablePointer<GtkStackSwitcher>! { get }
  • Required Initialiser for types conforming to StackSwitcherProtocol

    Declaration

    Swift

    init(raw: UnsafeMutableRawPointer)

StackSwitcher Class

  • Bind a StackSwitcherPropertyName source property to a given target object.

    Declaration

    Swift

    @discardableResult
    @inlinable
    func bind<Q, T>(property source_property: StackSwitcherPropertyName, 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 StackSwitcher property

    Declaration

    Swift

    @inlinable
    func get(property: StackSwitcherPropertyName) -> 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 StackSwitcher property. Note that this will only have an effect on properties that are writable and not construct-only!

    Declaration

    Swift

    @inlinable
    func set(property: StackSwitcherPropertyName, value v: GLibObject.Value)

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

StackSwitcher Class: StackSwitcherProtocol extension (methods and fields)