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"             gchar*                : 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"     gchar*                : 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"     gchar*                : 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. A grid consists of a number of equally-spaced horizontal and vertical grid lines, plus an optional border.

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".)

The grid's position and size is specified with the "x", "y", "width" and "height" properties.

The "x-step" and "y-step" properties specify the distance between grid lines. The "x-offset" and "y-offset" properties specify the distance before the first grid lines.

The horizontal or vertical grid lines can be hidden using the "show-horz-grid-lines" and "show-vert-grid-lines" properties.

The width of the border can be set using the "border-width" property. The border is drawn outside the area specified with the "x", "y", "width" and "height" properties.

Other properties allow the colors and widths of the grid lines to be set. The grid line color and width properties override the standard "stroke-color" and "line-width" properties, enabling different styles for horizontal and vertical grid lines.

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:

1
2
3
4
5
6
7
8
9
10
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"             gchar*                : 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"     gchar*                : 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"     gchar*                : 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