## AgsExpander

AgsExpander — A expander widget

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_EXPANDER_CHILD()
AgsExpanderChild * | ags_expander_child_alloc ()
void | ags_expander_child_free ()
AgsExpanderChild * | ags_expander_child_find ()
void | ags_expander_add ()
void | ags_expander_remove ()
AgsExpander * | ags_expander_new ()

## Types and Values

enum | AgsExpanderFlags
struct | AgsExpanderChild

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkBox
                    ╰── AgsExpander

## Includes

    #include <ags/widget/ags_expander.h>

## Description

AgsExpander is a composite widget containing a GtkGrid. It is mainly used to layout childs in rows and columns that can be expanded.

## Functions

### AGS_EXPANDER_CHILD()

    #define AGS_EXPANDER_CHILD(ptr) ((AgsExpanderChild *)(ptr))

### ags_expander_child_alloc ()

    AgsExpanderChild *
    ags_expander_child_alloc (guint x,
                              guint y,
                              guint width,
                              guint height);

Allocate AgsExpanderChild.

#### Parameters

x | the x position |
y | the y position |
width | the width |
height | the height |

#### Returns

the new AgsExpanderChild.

[type gpointer][transfer full]

Since: 3.0.0

### ags_expander_child_free ()

    void
    ags_expander_child_free (AgsExpanderChild *expander_child);

Free `expander_child` .

#### Parameters

expander_child | the AgsExpanderChild. | [type gpointer][transfer full]

Since: 3.2.2

### ags_expander_child_find ()

    AgsExpanderChild *
    ags_expander_child_find (AgsExpander *expander,
                             GtkWidget *child);

Find `child` of `expander` .

#### Parameters

expander | the AgsExpander |
child | the GtkWidget |

#### Returns

the matching AgsExpanderChild.

[type gpointer][transfer none]

Since: 3.0.0

### ags_expander_add ()

    void
    ags_expander_add (AgsExpander *expander,
                      GtkWidget *widget,
                      guint x,
                      guint y,
                      guint width,
                      guint height);

Adds a GtkWidget to AgsExpander

#### Parameters

expander | the AgsExpander |
widget | the child GtkWidget |
x | x-position |
y | y-position |
width | allocation width |
height | allocation height |

Since: 3.0.0

### ags_expander_remove ()

    void
    ags_expander_remove (AgsExpander *expander,
                         GtkWidget *widget);

Removes a GtkWidget of AgsExpander

#### Parameters

expander | the AgsExpander |
widget | the child GtkWidget |

Since: 3.0.0

### ags_expander_new ()

    AgsExpander *
    ags_expander_new ();

Creates an AgsExpander

#### Returns

a new AgsExpander

Since: 3.0.0

## Types and Values

### enum AgsExpanderFlags

#### Members

AGS_EXPANDER_DRAW_BORDER |  |

### struct AgsExpanderChild

    struct AgsExpanderChild {
      GtkWidget *child;

      guint x;
      guint y;

      guint width;
      guint height;
    };