## GooCanvasTable GooCanvasTable — a table container to layout items. |

## Functions

GooCanvasItem * | goo_canvas_table_new ()

## Properties

double | column-spacing | Read / Write
gboolean | homogeneous-columns | Read / Write
gboolean | homogeneous-rows | Read / Write
double | horz-grid-line-width | Read / Write
double | row-spacing | Read / Write
double | vert-grid-line-width | Read / Write
double | x-border-spacing | Read / Write
double | y-border-spacing | Read / Write

## Child Properties

double | bottom-padding | Read / Write
guint | column | Read / Write
guint | columns | Read / Write
double | left-padding | Read / Write
double | right-padding | Read / Write
guint | row | Read / Write
guint | rows | Read / Write
double | top-padding | Read / Write
double | x-align | Read / Write
gboolean | x-expand | Read / Write
gboolean | x-fill | Read / Write
gboolean | x-shrink | Read / Write
double | y-align | Read / Write
gboolean | y-expand | Read / Write
gboolean | y-fill | Read / Write
gboolean | y-shrink | Read / Write

## Types and Values

struct | GooCanvasTable

## Object Hierarchy

        GObject
        ╰── GooCanvasItemSimple
            ╰── GooCanvasGroup
                ╰── GooCanvasTable

## Implemented Interfaces

GooCanvasTable implements GooCanvasItem.

## Description

GooCanvasTable is a table container used to lay out other canvas items. It is used in a similar way to how the GtkTable widget is used to lay out GTK+ widgets.

Items are added to the table using the normal methods, then `goo_canvas_item_set_child_properties()` is used to specify how each child item is to be positioned within the table (i.e. which row and column it is in, how much padding it should have and whether it should expand or shrink).

GooCanvasTable is a subclass of GooCanvasItemSimple and so inherits all of the style properties such as "stroke-color", "fill-color" and "line-width". Setting a style property on a GooCanvasTable will affect all children of the GooCanvasTable (unless the children override the property setting).

GooCanvasTable implements the GooCanvasItem interface, so you can use the GooCanvasItem functions such as `goo_canvas_item_raise()` and `goo_canvas_item_rotate()`, and the properties such as "visibility" and "pointer-events".

To create a GooCanvasTable use `goo_canvas_table_new()`.

To get or set the properties of an existing GooCanvasTable, use `g_object_get()` and `g_object_set()`.

## Functions

### goo_canvas_table_new ()

    GooCanvasItem *
    goo_canvas_table_new (GooCanvasItem *parent,
                          ...);

Creates a new table item.

Here's an example showing how to create a table with a square, a circle and a triangle in it:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    GooCanvasItem *table, *square, *circle, *triangle;

    table = goo_canvas_table_new (root,
                                  "row-spacing", 4.0,
                                  "column-spacing", 4.0,
                                  NULL);
    goo_canvas_item_translate (table, 400, 200);

    square = goo_canvas_rect_new (table, 0.0, 0.0, 50.0, 50.0,
                                  "fill-color", "red",
                                  NULL);
    goo_canvas_item_set_child_properties (table, square,
                                          "row", 0,
                                          "column", 0,
                                          NULL);

    circle = goo_canvas_ellipse_new (table, 0.0, 0.0, 25.0, 25.0,
                                     "fill-color", "blue",
                                     NULL);
    goo_canvas_item_set_child_properties (table, circle,
                                          "row", 0,
                                          "column", 1,
                                          NULL);

    triangle = goo_canvas_polyline_new (table, TRUE, 3,
                                        25.0, 0.0, 0.0, 50.0, 50.0, 50.0,
                                        "fill-color", "yellow",
                                        NULL);
    goo_canvas_item_set_child_properties (table, triangle,
                                          "row", 0,
                                          "column", 2,
                                          NULL);

#### Parameters

parent | the parent item, or `NULL`. If a parent is specified, it will assume ownership of the item, and the item will automatically be freed when it is removed from the parent. Otherwise call `g_object_unref()` to free it. | [skip]
... | optional pairs of property names and values, and a terminating `NULL`. |

#### Returns

a new table item.

[transfer full]

## Types and Values

### struct GooCanvasTable

    struct GooCanvasTable;

The GooCanvasTable struct contains private data only.

## Property Details

### The `“column-spacing”` property

      “column-spacing”           double

The default space between columns.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“homogeneous-columns”` property

      “homogeneous-columns”      gboolean

If all columns are the same width.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“homogeneous-rows”` property

      “homogeneous-rows”         gboolean

If all rows are the same height.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“horz-grid-line-width”` property

      “horz-grid-line-width”     double

The width of the grid line to draw between rows.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“row-spacing”` property

      “row-spacing”              double

The default space between rows.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“vert-grid-line-width”` property

      “vert-grid-line-width”     double

The width of the grid line to draw between columns.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“x-border-spacing”` property

      “x-border-spacing”         double

The amount of spacing between the lefmost and rightmost cells and the border grid line.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“y-border-spacing”` property

      “y-border-spacing”         double

The amount of spacing between the topmost and bottommost cells and the border grid line.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

## Child Property Details

### The `“bottom-padding”` child property

      “bottom-padding”           double

Extra space to add below the item.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“column”` child property

      “column”                   guint

The column to place the item in.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: <= 65535

Default value: 0

### The `“columns”` child property

      “columns”                  guint

The number of columns that the item spans.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: <= 65535

Default value: 1

### The `“left-padding”` child property

      “left-padding”             double

Extra space to add to the left of the item.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“right-padding”` child property

      “right-padding”            double

Extra space to add to the right of the item.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“row”` child property

      “row”                      guint

The row to place the item in.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: <= 65535

Default value: 0

### The `“rows”` child property

      “rows”                     guint

The number of rows that the item spans.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: <= 65535

Default value: 1

### The `“top-padding”` child property

      “top-padding”              double

Extra space to add above the item.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“x-align”` child property

      “x-align”                  double

The horizontal position of the item within its allocated space. 0.0 is left-aligned, 1.0 is right-aligned.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

### The `“x-expand”` child property

      “x-expand”                 gboolean

If the item expands horizontally as the table expands.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“x-fill”` child property

      “x-fill”                   gboolean

If the item fills all horizontal allocated space.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“x-shrink”` child property

      “x-shrink”                 gboolean

If the item can shrink smaller than its requested size horizontally.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“y-align”` child property

      “y-align”                  double

The vertical position of the item within its allocated space. 0.0 is top-aligned, 1.0 is bottom-aligned.

Owner: GooCanvasTable

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

### The `“y-expand”` child property

      “y-expand”                 gboolean

If the item expands vertically as the table expands.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“y-fill”` child property

      “y-fill”                   gboolean

If the item fills all vertical allocated space.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE

### The `“y-shrink”` child property

      “y-shrink”                 gboolean

If the item can shrink smaller than its requested size vertically.

Owner: GooCanvasTable

Flags: Read / Write

Default value: FALSE