## GtkToolItemGroup

GtkToolItemGroup — A sub container used in a tool palette

## Functions

gboolean | gtk_tool_item_group_get_collapsed ()
GtkToolItem * | gtk_tool_item_group_get_drop_item ()
PangoEllipsizeMode | gtk_tool_item_group_get_ellipsize ()
gint | gtk_tool_item_group_get_item_position ()
guint | gtk_tool_item_group_get_n_items ()
const gchar * | gtk_tool_item_group_get_label ()
GtkWidget * | gtk_tool_item_group_get_label_widget ()
GtkToolItem * | gtk_tool_item_group_get_nth_item ()
GtkReliefStyle | gtk_tool_item_group_get_header_relief ()
void | gtk_tool_item_group_insert ()
GtkWidget * | gtk_tool_item_group_new ()
void | gtk_tool_item_group_set_collapsed ()
void | gtk_tool_item_group_set_ellipsize ()
void | gtk_tool_item_group_set_item_position ()
void | gtk_tool_item_group_set_label ()
void | gtk_tool_item_group_set_label_widget ()
void | gtk_tool_item_group_set_header_relief ()

## Properties

gboolean | collapsed | Read / Write
PangoEllipsizeMode | ellipsize | Read / Write
GtkReliefStyle | header-relief | Read / Write
char * | label | Read / Write
GtkWidget * | label-widget | Read / Write

## Child Properties

gboolean | expand | Read / Write
gboolean | fill | Read / Write
gboolean | homogeneous | Read / Write
gboolean | new-row | Read / Write
int | position | Read / Write

## Style Properties

int | expander-size | Read
int | header-spacing | Read

## Types and Values

struct | GtkToolItemGroup
struct | GtkToolItemGroupClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkToolItemGroup

## Implemented Interfaces

GtkToolItemGroup implements AtkImplementorIface, GtkBuildable and GtkToolShell.

## Includes

    #include <gtk/gtk.h>

## Description

A GtkToolItemGroup is used together with GtkToolPalette to add GtkToolItems to a palette like container with different categories and drag and drop support.

### CSS nodes

GtkToolItemGroup has a single CSS node named toolitemgroup.

## Functions

### gtk_tool_item_group_get_collapsed ()

    gboolean
    gtk_tool_item_group_get_collapsed (GtkToolItemGroup *group);

Gets whether `group` is collapsed or expanded.

#### Parameters

group | a GtkToolItemGroup |

#### Returns

`TRUE` if `group` is collapsed, `FALSE` if it is expanded

Since: 2.20

### gtk_tool_item_group_get_drop_item ()

    GtkToolItem *
    gtk_tool_item_group_get_drop_item (GtkToolItemGroup *group,
                                       gint x,
                                       gint y);

Gets the tool item at position (x, y).

#### Parameters

group | a GtkToolItemGroup |
x | the x position |
y | the y position |

#### Returns

the GtkToolItem at position (x, y).

[transfer none]

Since: 2.20

### gtk_tool_item_group_get_ellipsize ()

    PangoEllipsizeMode
    gtk_tool_item_group_get_ellipsize (GtkToolItemGroup *group);

Gets the ellipsization mode of `group` .

#### Parameters

group | a GtkToolItemGroup |

#### Returns

the PangoEllipsizeMode of `group`

Since: 2.20

### gtk_tool_item_group_get_item_position ()

    gint
    gtk_tool_item_group_get_item_position (GtkToolItemGroup *group,
                                           GtkToolItem *item);

Gets the position of `item` in `group` as index.

#### Parameters

group | a GtkToolItemGroup |
item | a GtkToolItem |

#### Returns

the index of `item` in `group` or -1 if `item` is no child of `group`

Since: 2.20

### gtk_tool_item_group_get_n_items ()

    guint
    gtk_tool_item_group_get_n_items (GtkToolItemGroup *group);

Gets the number of tool items in `group` .

#### Parameters

group | a GtkToolItemGroup |

#### Returns

the number of tool items in `group`

Since: 2.20

### gtk_tool_item_group_get_label ()

    const gchar *
    gtk_tool_item_group_get_label (GtkToolItemGroup *group);

Gets the label of `group` .

#### Parameters

group | a GtkToolItemGroup |

#### Returns

the label of `group` . The label is an internal string of `group` and must not be modified. Note that `NULL` is returned if a custom label has been set with `gtk_tool_item_group_set_label_widget()`

Since: 2.20

### gtk_tool_item_group_get_label_widget ()

    GtkWidget *
    gtk_tool_item_group_get_label_widget (GtkToolItemGroup *group);

Gets the label widget of `group` . See `gtk_tool_item_group_set_label_widget()`.

#### Parameters

group | a GtkToolItemGroup |

#### Returns

the label widget of `group` .

[transfer none]

Since: 2.20

### gtk_tool_item_group_get_nth_item ()

    GtkToolItem *
    gtk_tool_item_group_get_nth_item (GtkToolItemGroup *group,
                                      guint index);

Gets the tool item at `index` in group.

#### Parameters

group | a GtkToolItemGroup |
index | the index |

#### Returns

the GtkToolItem at index.

[transfer none]

Since: 2.20

### gtk_tool_item_group_get_header_relief ()

    GtkReliefStyle
    gtk_tool_item_group_get_header_relief (GtkToolItemGroup *group);

Gets the relief mode of the header button of `group` .

#### Parameters

group | a GtkToolItemGroup |

#### Returns

the GtkReliefStyle

Since: 2.20

### gtk_tool_item_group_insert ()

    void
    gtk_tool_item_group_insert (GtkToolItemGroup *group,
                                GtkToolItem *item,
                                gint position);

Inserts `item` at `position` in the list of children of `group` .

#### Parameters

group | a GtkToolItemGroup |
item | the GtkToolItem to insert into `group` |
position | the position of `item` in `group` , starting with 0. The position -1 means end of list. |

Since: 2.20

### gtk_tool_item_group_new ()

    GtkWidget *
    gtk_tool_item_group_new (const gchar *label);

Creates a new tool item group with label `label` .

#### Parameters

label | the label of the new group |

#### Returns

a new GtkToolItemGroup.

Since: 2.20

### gtk_tool_item_group_set_collapsed ()

    void
    gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group,
                                       gboolean collapsed);

Sets whether the `group` should be collapsed or expanded.

#### Parameters

group | a GtkToolItemGroup |
collapsed | whether the `group` should be collapsed or expanded |

Since: 2.20

### gtk_tool_item_group_set_ellipsize ()

    void
    gtk_tool_item_group_set_ellipsize (GtkToolItemGroup *group,
                                       PangoEllipsizeMode ellipsize);

Sets the ellipsization mode which should be used by labels in `group` .

#### Parameters

group | a GtkToolItemGroup |
ellipsize | the PangoEllipsizeMode labels in `group` should use |

Since: 2.20

### gtk_tool_item_group_set_item_position ()

    void
    gtk_tool_item_group_set_item_position (GtkToolItemGroup *group,
                                           GtkToolItem *item,
                                           gint position);

Sets the position of `item` in the list of children of `group` .

#### Parameters

group | a GtkToolItemGroup |
item | the GtkToolItem to move to a new position, should be a child of `group` . |
position | the new position of `item` in `group` , starting with 0. The position -1 means end of list. |

Since: 2.20

### gtk_tool_item_group_set_label ()

    void
    gtk_tool_item_group_set_label (GtkToolItemGroup *group,
                                   const gchar *label);

Sets the label of the tool item group. The label is displayed in the header of the group.

#### Parameters

group | a GtkToolItemGroup |
label | the new human-readable label of of the group |

Since: 2.20

### gtk_tool_item_group_set_label_widget ()

    void
    gtk_tool_item_group_set_label_widget (GtkToolItemGroup *group,
                                          GtkWidget *label_widget);

Sets the label of the tool item group. The label widget is displayed in the header of the group, in place of the usual label.

#### Parameters

group | a GtkToolItemGroup |
label_widget | the widget to be displayed in place of the usual label |

Since: 2.20

### gtk_tool_item_group_set_header_relief ()

    void
    gtk_tool_item_group_set_header_relief (GtkToolItemGroup *group,
                                           GtkReliefStyle style);

Set the button relief of the group header. See `gtk_button_set_relief()` for details.

#### Parameters

group | a GtkToolItemGroup |
style | the GtkReliefStyle |

Since: 2.20

## Types and Values

### struct GtkToolItemGroup

    struct GtkToolItemGroup;

This should not be accessed directly. Use the accessor functions below.

### struct GtkToolItemGroupClass

    struct GtkToolItemGroupClass {
      GtkContainerClass parent_class;
    };

#### Members

## Property Details

### The `“collapsed”` property

      “collapsed”                gboolean

Whether the group has been collapsed and items are hidden.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: FALSE

### The `“ellipsize”` property

      “ellipsize”                PangoEllipsizeMode

Ellipsize for item group headers.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: PANGO_ELLIPSIZE_NONE

### The `“header-relief”` property

      “header-relief”            GtkReliefStyle

Relief of the group header button.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: GTK_RELIEF_NORMAL

### The `“label”` property

      “label”                    char *

The human-readable title of this item group.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: ""

### The `“label-widget”` property

      “label-widget”             GtkWidget *

A widget to display in place of the usual label.

Owner: GtkToolItemGroup

Flags: Read / Write

## Child Property Details

### The `“expand”` child property

      “expand”                   gboolean

Whether the item should receive extra space when the group grows.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: FALSE

### The `“fill”` child property

      “fill”                     gboolean

Whether the item should fill the available space.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: TRUE

### The `“homogeneous”` child property

      “homogeneous”              gboolean

Whether the item should be the same size as other homogeneous items.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: TRUE

### The `“new-row”` child property

      “new-row”                  gboolean

Whether the item should start a new row.

Owner: GtkToolItemGroup

Flags: Read / Write

Default value: FALSE

### The `“position”` child property

      “position”                 int

Position of the item within this group.

Owner: GtkToolItemGroup

Flags: Read / Write

Allowed values: >= 0

Default value: 0

## Style Property Details

### The `“expander-size”` style property

      “expander-size”            int

Size of the expander arrow.

Owner: GtkToolItemGroup

Flags: Read

Allowed values: >= 0

Default value: 16

### The `“header-spacing”` style property

      “header-spacing”           int

Spacing between expander arrow and caption.

Owner: GtkToolItemGroup

Flags: Read

Allowed values: >= 0

Default value: 2