## GtkToolShell

GtkToolShell — Interface for containers containing GtkToolItem widgets.

## Synopsis

    #include <gtk/gtk.h>

                        GtkToolShell;
                        GtkToolShellIface;
    GtkIconSize         gtk_tool_shell_get_icon_size        (GtkToolShell *shell);
    GtkOrientation      gtk_tool_shell_get_orientation      (GtkToolShell *shell);
    GtkReliefStyle      gtk_tool_shell_get_relief_style     (GtkToolShell *shell);
    GtkToolbarStyle     gtk_tool_shell_get_style            (GtkToolShell *shell);
    void                gtk_tool_shell_rebuild_menu         (GtkToolShell *shell);

## Object Hierarchy

      GInterface
       +----GtkToolShell

## Prerequisites

GtkToolShell requires GtkWidget.

## Known Implementations

GtkToolShell is implemented by GtkToolbar.

## Description

The GtkToolShell interface allows container widgets to provide additional information when embedding GtkToolItem widgets.

`see_also`: GtkToolbar, GtkToolItem

## Details

### GtkToolShell

    typedef struct _GtkToolShell GtkToolShell;

Dummy structure for accessing instances of GtkToolShellIface.

### GtkToolShellIface

    typedef struct {
      GtkIconSize     (*get_icon_size)    (GtkToolShell *shell);
      GtkOrientation  (*get_orientation)  (GtkToolShell *shell);
      GtkToolbarStyle (*get_style)        (GtkToolShell *shell);
      GtkReliefStyle  (*get_relief_style) (GtkToolShell *shell);
      void            (*rebuild_menu)     (GtkToolShell *shell);
    } GtkToolShellIface;

Virtual function table for the GtkToolShell interface.

`get_icon_size` () | mandatory implementation of `gtk_tool_shell_get_icon_size()`.
`get_orientation` () | mandatory implementation of `gtk_tool_shell_get_orientation()`.
`get_style` () | mandatory implementation of `gtk_tool_shell_get_style()`.
`get_relief_style` () | optional implementation of `gtk_tool_shell_get_relief_style()`.
`rebuild_menu` () | optional implementation of `gtk_tool_shell_rebuild_menu()`.

### gtk_tool_shell_get_icon_size ()

    GtkIconSize         gtk_tool_shell_get_icon_size        (GtkToolShell *shell);

Retrieves the icon size for the tool shell. Tool items must not call this function directly, but rely on `gtk_tool_item_get_icon_size()` instead.

`shell` : | a GtkToolShell
Returns : | the current size for icons of `shell`

Since 2.14

### gtk_tool_shell_get_orientation ()

    GtkOrientation      gtk_tool_shell_get_orientation      (GtkToolShell *shell);

Retrieves the current orientation for the tool shell. Tool items must not call this function directly, but rely on `gtk_tool_item_get_orientation()` instead.

`shell` : | a GtkToolShell
Returns : | the current orientation of `shell`

Since 2.14

### gtk_tool_shell_get_relief_style ()

    GtkReliefStyle      gtk_tool_shell_get_relief_style     (GtkToolShell *shell);

Returns the relief style of buttons on `shell`. Tool items must not call this function directly, but rely on `gtk_tool_item_get_relief_style()` instead.

`shell` : | a GtkToolShell
Returns : | The relief style of buttons on `shell`.

Since 2.14

### gtk_tool_shell_get_style ()

    GtkToolbarStyle     gtk_tool_shell_get_style            (GtkToolShell *shell);

Retrieves whether the tool shell has text, icons, or both. Tool items must not call this function directly, but rely on `gtk_tool_item_get_style()` instead.

`shell` : | a GtkToolShell
Returns : | the current style of `shell`

Since 2.14

### gtk_tool_shell_rebuild_menu ()

    void                gtk_tool_shell_rebuild_menu         (GtkToolShell *shell);

Calling this function signals the tool shell that the overflow menu item for tool items have changed. If there is an overflow menu and if it is visible when this function it called, the menu will be rebuilt.

Tool items must not call this function directly, but rely on `gtk_tool_item_rebuild_menu()` instead.

`shell` : | a GtkToolShell

Since 2.14