## GooCanvasGridModel GooCanvasGridModel — a model for grid items. |

## Synopsis

                        GooCanvasGridModel;
    GooCanvasItemModel* goo_canvas_grid_model_new           (GooCanvasItemModel *parent,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble x_step,
                                                             gdouble y_step,
                                                             gdouble x_offset,
                                                             gdouble y_offset,
                                                             ...);

## Object Hierarchy

      GObject
       +----GooCanvasItemModelSimple
             +----GooCanvasGridModel

## Implemented Interfaces

GooCanvasGridModel implements GooCanvasItemModel.

## Properties

      "border-color"             gchararray            : Write
      "border-color-rgba"        guint                 : Read / Write
      "border-pattern"           GooCairoPattern       : Read / Write
      "border-pixbuf"            GdkPixbuf             : Write
      "border-width"             gdouble               : Read / Write
      "height"                   gdouble               : Read / Write
      "horz-grid-line-color"     gchararray            : Write
      "horz-grid-line-color-rgba" guint                 : Read / Write
      "horz-grid-line-pattern"   GooCairoPattern       : Read / Write
      "horz-grid-line-pixbuf"    GdkPixbuf             : Write
      "horz-grid-line-width"     gdouble               : Read / Write
      "show-horz-grid-lines"     gboolean              : Read / Write
      "show-vert-grid-lines"     gboolean              : Read / Write
      "vert-grid-line-color"     gchararray            : Write
      "vert-grid-line-color-rgba" guint                 : Read / Write
      "vert-grid-line-pattern"   GooCairoPattern       : Read / Write
      "vert-grid-line-pixbuf"    GdkPixbuf             : Write
      "vert-grid-line-width"     gdouble               : Read / Write
      "vert-grid-lines-on-top"   gboolean              : Read / Write
      "width"                    gdouble               : Read / Write
      "x"                        gdouble               : Read / Write
      "x-offset"                 gdouble               : Read / Write
      "x-step"                   gdouble               : Read / Write
      "y"                        gdouble               : Read / Write
      "y-offset"                 gdouble               : Read / Write
      "y-step"                   gdouble               : Read / Write

## Description

GooCanvasGridModel represents a model for grid items.

It is a subclass of GooCanvasItemModelSimple and so inherits all of the style properties such as "stroke-color", "fill-color" and "line-width".

It also implements the GooCanvasItemModel interface, so you can use the GooCanvasItemModel functions such as `goo_canvas_item_model_raise()` and `goo_canvas_item_model_rotate()`.

To create a GooCanvasGridModel use `goo_canvas_grid_model_new()`.

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

To respond to events such as mouse clicks on the grid you must connect to the signal handlers of the corresponding GooCanvasGrid objects. (See `goo_canvas_get_item()` and "item-created".)

## Details

### GooCanvasGridModel

    typedef struct _GooCanvasGridModel GooCanvasGridModel;

The GooCanvasGridModel struct contains private data only.

### goo_canvas_grid_model_new ()

    GooCanvasItemModel* goo_canvas_grid_model_new           (GooCanvasItemModel *parent,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height,
                                                             gdouble x_step,
                                                             gdouble y_step,
                                                             gdouble x_offset,
                                                             gdouble y_offset,
                                                             ...);

Creates a new grid model.

`parent` : | the parent model, 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.
`x` : | the x coordinate of the left of the grid.
`y` : | the y coordinate of the top of the grid.
`width` : | the width of the grid.
`height` : | the height of the grid.
`x_step` : | the distance between the vertical grid lines.
`y_step` : | the distance between the horizontal grid lines.
`x_offset` : | the distance before the first vertical grid line.
`y_offset` : | the distance before the first horizontal grid line.
`...` : | optional pairs of property names and values, and a terminating `NULL`.
Returns : | a new grid model.

Here's an example showing how to create a grid:

     GooCanvasItemModel *grid = goo_canvas_grid_model_new (mygroup, 100.0, 100.0, 400.0, 200.0,
                                                           20.0, 20.0, 10.0, 10.0,
                                                           "horz-grid-line-width", 4.0,
                                                           "horz-grid-line-color", "yellow",
                                                           "vert-grid-line-width", 2.0,
                                                           "vert-grid-line-color", "red",
                                                           "border-width", 3.0,
                                                           "border-color", "white",
                                                           "fill-color", "blue",
                                                           NULL);

## Property Details

### The `"border-color"` property

      "border-color"             gchararray            : Write

The color to use for the border.

Default value: NULL

### The `"border-color-rgba"` property

      "border-color-rgba"        guint                 : Read / Write

The color to use for the border, specified as a 32-bit integer value.

Default value: 0

### The `"border-pattern"` property

      "border-pattern"           GooCairoPattern       : Read / Write

The cairo pattern to paint the border with.

### The `"border-pixbuf"` property

      "border-pixbuf"            GdkPixbuf             : Write

The pixbuf to use to draw the border.

### The `"border-width"` property

      "border-width"             gdouble               : Read / Write

The width of the border around the grid.

Default value: -1

### The `"height"` property

      "height"                   gdouble               : Read / Write

The height of the grid.

Allowed values: >= 0

Default value: 0

### The `"horz-grid-line-color"` property

      "horz-grid-line-color"     gchararray            : Write

The color to use for the horizontal grid lines.

Default value: NULL

### The `"horz-grid-line-color-rgba"` property

      "horz-grid-line-color-rgba" guint                 : Read / Write

The color to use for the horizontal grid lines, specified as a 32-bit integer value.

Default value: 0

### The `"horz-grid-line-pattern"` property

      "horz-grid-line-pattern"   GooCairoPattern       : Read / Write

The cairo pattern to paint the horizontal grid lines with.

### The `"horz-grid-line-pixbuf"` property

      "horz-grid-line-pixbuf"    GdkPixbuf             : Write

The pixbuf to use to draw the horizontal grid lines.

### The `"horz-grid-line-width"` property

      "horz-grid-line-width"     gdouble               : Read / Write

The width of the horizontal grid lines.

Default value: -1

### The `"show-horz-grid-lines"` property

      "show-horz-grid-lines"     gboolean              : Read / Write

If the horizontal grid lines are shown.

Default value: TRUE

### The `"show-vert-grid-lines"` property

      "show-vert-grid-lines"     gboolean              : Read / Write

If the vertical grid lines are shown.

Default value: TRUE

### The `"vert-grid-line-color"` property

      "vert-grid-line-color"     gchararray            : Write

The color to use for the vertical grid lines.

Default value: NULL

### The `"vert-grid-line-color-rgba"` property

      "vert-grid-line-color-rgba" guint                 : Read / Write

The color to use for the vertical grid lines, specified as a 32-bit integer value.

Default value: 0

### The `"vert-grid-line-pattern"` property

      "vert-grid-line-pattern"   GooCairoPattern       : Read / Write

The cairo pattern to paint the vertical grid lines with.

### The `"vert-grid-line-pixbuf"` property

      "vert-grid-line-pixbuf"    GdkPixbuf             : Write

The pixbuf to use to draw the vertical grid lines.

### The `"vert-grid-line-width"` property

      "vert-grid-line-width"     gdouble               : Read / Write

The width of the vertical grid lines.

Default value: -1

### The `"vert-grid-lines-on-top"` property

      "vert-grid-lines-on-top"   gboolean              : Read / Write

If the vertical grid lines are painted above the horizontal grid lines.

Default value: FALSE

### The `"width"` property

      "width"                    gdouble               : Read / Write

The width of the grid.

Allowed values: >= 0

Default value: 0

### The `"x"` property

      "x"                        gdouble               : Read / Write

The x coordinate of the grid.

Default value: 0

### The `"x-offset"` property

      "x-offset"                 gdouble               : Read / Write

The distance before the first vertical grid line.

Allowed values: >= 0

Default value: 0

### The `"x-step"` property

      "x-step"                   gdouble               : Read / Write

The distance between the vertical grid lines.

Allowed values: >= 0

Default value: 10

### The `"y"` property

      "y"                        gdouble               : Read / Write

The y coordinate of the grid.

Default value: 0

### The `"y-offset"` property

      "y-offset"                 gdouble               : Read / Write

The distance before the first horizontal grid line.

Allowed values: >= 0

Default value: 0

### The `"y-step"` property

      "y-step"                   gdouble               : Read / Write

The distance between the horizontal grid lines.

Allowed values: >= 0

Default value: 10