## GtkStackSidebar

GtkStackSidebar — An automatic sidebar widget

## Functions

GtkWidget * | gtk_stack_sidebar_new ()
void | gtk_stack_sidebar_set_stack ()
GtkStack * | gtk_stack_sidebar_get_stack ()

## Properties

GtkStack * | stack | Read / Write

## Types and Values

struct | GtkStackSidebar
struct | GtkStackSidebarClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GtkStackSidebar

## Implemented Interfaces

GtkStackSidebar implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <gtk/gtk.h>

## Description

A GtkStackSidebar enables you to quickly and easily provide a consistent "sidebar" object for your user interface.

In order to use a GtkStackSidebar, you simply use a GtkStack to organize your UI flow, and add the sidebar to your sidebar area. You can use `gtk_stack_sidebar_set_stack()` to connect the GtkStackSidebar to the GtkStack.

### CSS nodes

GtkStackSidebar has a single CSS node with name stacksidebar and style class .sidebar.

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

## Functions

### gtk_stack_sidebar_new ()

    GtkWidget *
    gtk_stack_sidebar_new (void);

Creates a new sidebar.

#### Returns

the new GtkStackSidebar

Since: 3.16

### gtk_stack_sidebar_set_stack ()

    void
    gtk_stack_sidebar_set_stack (GtkStackSidebar *sidebar,
                                 GtkStack *stack);

Set the GtkStack associated with this GtkStackSidebar.

The sidebar widget will automatically update according to the order (packing) and items within the given GtkStack.

#### Parameters

sidebar | a GtkStackSidebar |
stack | a GtkStack |

Since: 3.16

### gtk_stack_sidebar_get_stack ()

    GtkStack *
    gtk_stack_sidebar_get_stack (GtkStackSidebar *sidebar);

Retrieves the stack. See `gtk_stack_sidebar_set_stack()`.

#### Parameters

sidebar | a GtkStackSidebar |

#### Returns

the associated GtkStack or `NULL` if none has been set explicitly.

[nullable][transfer none]

Since: 3.16

## Types and Values

### struct GtkStackSidebar

    struct GtkStackSidebar;

### struct GtkStackSidebarClass

    struct GtkStackSidebarClass {
      GtkBinClass parent_class;

      /* Padding for future expansion */
      void (*_gtk_reserved1) (void);
      void (*_gtk_reserved2) (void);
      void (*_gtk_reserved3) (void);
      void (*_gtk_reserved4) (void);
    };

## Property Details

### The `“stack”` property

      “stack”                    GtkStack *

Associated stack for this GtkStackSidebar.

Flags: Read / Write