## GtkToolShell

GtkToolShell — Interface for containers containing GtkToolItem widgets

## Synopsis

    #include <gtk/gtk.h>

                        GtkToolShell;
                        GtkToolShellIface;
    PangoEllipsizeMode  gtk_tool_shell_get_ellipsize_mode   (GtkToolShell *shell);
    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);
    gfloat              gtk_tool_shell_get_text_alignment   (GtkToolShell *shell);
    GtkOrientation      gtk_tool_shell_get_text_orientation (GtkToolShell *shell);
    void                gtk_tool_shell_rebuild_menu         (GtkToolShell *shell);
    GtkSizeGroup *      gtk_tool_shell_get_text_size_group  (GtkToolShell *shell);

## Object Hierarchy

      GInterface
       +----GtkToolShell

## Prerequisites

GtkToolShell requires GtkWidget.

## Known Implementations

GtkToolShell is implemented by GtkToolItemGroup and 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);
      GtkOrientation     (*get_text_orientation) (GtkToolShell *shell);
      gfloat             (*get_text_alignment)   (GtkToolShell *shell);
      PangoEllipsizeMode (*get_ellipsize_mode)   (GtkToolShell *shell);
      GtkSizeGroup *     (*get_text_size_group)  (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()`.
`get_text_orientation` () | optional implementation of `gtk_tool_shell_get_text_orientation()`.
`get_text_alignment` () | optional implementation of `gtk_tool_shell_get_text_alignment()`.
`get_ellipsize_mode` () | optional implementation of `gtk_tool_shell_get_ellipsize_mode()`.
`get_text_size_group` () | optional implementation of `gtk_tool_shell_get_text_size_group()`.

### gtk_tool_shell_get_ellipsize_mode ()

    PangoEllipsizeMode  gtk_tool_shell_get_ellipsize_mode   (GtkToolShell *shell);

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

`shell` : | a GtkToolShell
Returns : | the current ellipsize mode of `shell`

Since 2.20

### 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`. [type int]

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_get_text_alignment ()

    gfloat              gtk_tool_shell_get_text_alignment   (GtkToolShell *shell);

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

`shell` : | a GtkToolShell
Returns : | the current text alignment of `shell`

Since 2.20

### gtk_tool_shell_get_text_orientation ()

    GtkOrientation      gtk_tool_shell_get_text_orientation (GtkToolShell *shell);

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

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

Since 2.20

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

### gtk_tool_shell_get_text_size_group ()

    GtkSizeGroup *      gtk_tool_shell_get_text_size_group  (GtkToolShell *shell);

Retrieves the current text size group for the tool shell. Tool items must not call this function directly, but rely on `gtk_tool_item_get_text_size_group()` instead.

`shell` : | a GtkToolShell
Returns : | the current text size group of `shell`

Since 2.20