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

gint | icon-size | Read / Write
GtkStack * | stack | Read / Write / Construct

## Types and Values

struct | GtkStackSwitcher

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── GtkStackSwitcher

## Implemented Interfaces

GtkStackSwitcher implements AtkImplementorIface, GtkBuildable and GtkOrientable.

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

Since: 3.10

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

Since: 3.10

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

Since: 3.10

## Types and Values

### struct GtkStackSwitcher

    struct GtkStackSwitcher;

## Property Details

### The `“icon-size”` property

      “icon-size”                gint

Use the "icon-size" property to change the size of the image displayed when a GtkStackSwitcher is displaying icons.

Owner: GtkStackSwitcher

Flags: Read / Write

Allowed values: >= 0

Default value: 1

Since: 3.20

### The `“stack”` property

      “stack”                    GtkStack *

Stack.

Owner: GtkStackSwitcher

Flags: Read / Write / Construct

## See Also

GtkStack