## GtkStackSwitcher GtkStackSwitcher — A controller for GtkStack |

## Functions

GtkWidget * | gtk_stack_switcher_new ()
void | gtk_stack_switcher_set_stack ()
GtkStack * | gtk_stack_switcher_get_stack ()

## Properties

GtkStack * | stack | Read / Write / Construct

## Types and Values

| GtkStackSwitcher

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkStackSwitcher

## Implemented Interfaces

GtkStackSwitcher implements AtkImplementorIface, GtkBuildable and GtkConstraintTarget.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkStackSwitcher widget acts as a controller for a GtkStack; it shows a row of buttons to switch between the various pages of the associated stack widget.

All the content for the buttons comes from the child properties of the GtkStack; 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.

The GtkStackSwitcher widget was added in 3.10.

### 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.

## Functions

### gtk_stack_switcher_new ()

    GtkWidget *
    gtk_stack_switcher_new (void);

Create a new GtkStackSwitcher.

#### Returns

a new GtkStackSwitcher.

### gtk_stack_switcher_set_stack ()

    void
    gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher,
                                  GtkStack *stack);

Sets the stack to control.

#### Parameters

switcher | a GtkStackSwitcher |
stack | a GtkStack. | [allow-none]

### gtk_stack_switcher_get_stack ()

    GtkStack *
    gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher);

Retrieves the stack. See `gtk_stack_switcher_set_stack()`.

#### Parameters

switcher | a GtkStackSwitcher |

#### Returns

the stack, or `NULL` if none has been set explicitly.

[nullable][transfer none]

## Types and Values

### GtkStackSwitcher

    typedef struct _GtkStackSwitcher GtkStackSwitcher;

## Property Details

### The `“stack”` property

      “stack”                    GtkStack *

Stack.

Owner: GtkStackSwitcher

Flags: Read / Write / Construct

## See Also

GtkStack