## ExoWrapTable

ExoWrapTable — A container widget with automatic child layouting

## Synopsis

    #include <exo/exo.h>

                        ExoWrapTable;
    GtkWidget*          exo_wrap_table_new                  (gboolean homogeneous);
    guint               exo_wrap_table_get_col_spacing      (const ExoWrapTable *table);
    void                exo_wrap_table_set_col_spacing      (ExoWrapTable *table,
                                                             guint col_spacing);
    guint               exo_wrap_table_get_row_spacing      (const ExoWrapTable *table);
    void                exo_wrap_table_set_row_spacing      (ExoWrapTable *table,
                                                             guint row_spacing);
    gboolean            exo_wrap_table_get_homogeneous      (const ExoWrapTable *table);
    void                exo_wrap_table_set_homogeneous      (ExoWrapTable *table,
                                                             gboolean homogeneous);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----ExoWrapTable

## Implemented Interfaces

ExoWrapTable implements AtkImplementorIface and GtkBuildable.

## Properties

      "col-spacing"              guint                 : Read / Write
      "homogeneous"              gboolean              : Read / Write
      "row-spacing"              guint                 : Read / Write

## Description

The ExoWrapTable class layouts its children automatically according to the available width allocated to the container class.

## Details

### ExoWrapTable

    typedef struct _ExoWrapTable ExoWrapTable;

The ExoWrapTable struct contains only private fields and should not be directly accessed.

Since 0.3.1

### exo_wrap_table_new ()

    GtkWidget*          exo_wrap_table_new                  (gboolean homogeneous);

Allocates a new ExoWrapTable.

`homogeneous` : | `TRUE` if all children are to be given equal space allotments.
Returns : | the newly allocated ExoWrapTable.

Since 0.3.1

### exo_wrap_table_get_col_spacing ()

    guint               exo_wrap_table_get_col_spacing      (const ExoWrapTable *table);

Returns the amount of space between consecutive columns in `table`.

`table` : | an ExoWrapTable.
Returns : | the amount of space between consecutive columns.

Since 0.3.1

### exo_wrap_table_set_col_spacing ()

    void                exo_wrap_table_set_col_spacing      (ExoWrapTable *table,
                                                             guint col_spacing);

Sets the amount of space between consecutive columns in `table` to `col_spacing`.

`table` : | an ExoWrapTable.
`col_spacing` : | the new column spacing.

Since 0.3.1

### exo_wrap_table_get_row_spacing ()

    guint               exo_wrap_table_get_row_spacing      (const ExoWrapTable *table);

Returns the amount of space between consecutive rows in `table`.

`table` : | an ExoWrapTable.
Returns : | the amount of space between consecutive rows in `table`.

Since 0.3.1

### exo_wrap_table_set_row_spacing ()

    void                exo_wrap_table_set_row_spacing      (ExoWrapTable *table,
                                                             guint row_spacing);

Sets the amount of spacing between consecutive rows in `table` to `row_spacing`.

`table` : | an ExoWrapTable.
`row_spacing` : | the new row spacing.

Since 0.3.1

### exo_wrap_table_get_homogeneous ()

    gboolean            exo_wrap_table_get_homogeneous      (const ExoWrapTable *table);

Returns whether the table cells are all constrained to the same width and height.

`table` : | an ExoWrapTable.
Returns : | `TRUE` if the cells are all constrained to the same size.

Since 0.3.1

### exo_wrap_table_set_homogeneous ()

    void                exo_wrap_table_set_homogeneous      (ExoWrapTable *table,
                                                             gboolean homogeneous);

Changes the homogenous property of `table` cells, ie. whether all cells are an equal size or not.

`table` : | an ExoWrapTable.
`homogeneous` : | Set to `TRUE` to ensure all `table` cells are the same size. Set to `FALSE` if this is not your desired behaviour.

Since 0.3.1

## Property Details

### The `"col-spacing"` property

      "col-spacing"              guint                 : Read / Write

The amount of space between two consecutive columns.

Default value: 0

### The `"homogeneous"` property

      "homogeneous"              gboolean              : Read / Write

Whether the children should be all the same size.

Default value: FALSE

### The `"row-spacing"` property

      "row-spacing"              guint                 : Read / Write

The amount of space between two consecutive rows.

Default value: 0