## GnomeDbCanvasItem GnomeDbCanvasItem — Base class for all the GnomeCanvasItem derived widgets in libgnomedb. |

## Synopsis

                        GnomeDbCanvasItem;
                        GnomeDbCanvasItemClass;
    GnomeDbCanvas *     gnome_db_canvas_item_get_canvas     (GnomeDbCanvasItem *item);
    GnomeDbGraphItem *  gnome_db_canvas_item_get_graph_item (GnomeDbCanvasItem *item);
    void                gnome_db_canvas_item_get_edge_nodes (GnomeDbCanvasItem *item,
                                                             GnomeDbCanvasItem **from,
                                                             GnomeDbCanvasItem **to);

## Object Hierarchy

      GObject
       +----GooCanvasItemSimple
             +----GooCanvasGroup
                   +----GnomeDbCanvasItem
                         +----GnomeDbCanvasText
                         +----GnomeDbCanvasCursor
                         +----GnomeDbCanvasFkey
                         +----GnomeDbCanvasTable

## Implemented Interfaces

GnomeDbCanvasItem implements GooCanvasItem.

## Properties

      "allow-drag"               gboolean              : Read / Write
      "allow-move"               gboolean              : Read / Write
      "graph-item"               GnomeDbGraphItem*     : Read / Write
      "tip-text"                 gchar*                : Read / Write

## Signals

      "destroy"                                        : Run First
      "drag-action"                                    : Run First
      "moved"                                          : Run First
      "moving"                                         : Run First
      "shifted"                                        : Run First

## Description

This object adds some functionnalities on top of the GnomeCanvasItem objects such as synchronisation with a GdaGraphItem object (to have a persistent position on the canvas), the ability to be moved on the canvas, and the ability to initiate and report simple drag and drop within the canvas.

## Details

### GnomeDbCanvasItem

    typedef struct _GnomeDbCanvasItem GnomeDbCanvasItem;

### GnomeDbCanvasItemClass

    typedef struct {
    	GooCanvasGroupClass    parent_class;

    	/* signals */
    	void (*moved)        (GnomeDbCanvasItem *citem);
    	void (*moving)       (GnomeDbCanvasItem *citem);
    	void (*shifted)      (GnomeDbCanvasItem *citem);
    	void (*drag_action)  (GnomeDbCanvasItem *citem, GnomeDbCanvasItem * dragged_from, GnomeDbCanvasItem * dragged_to);
    	void (*destroy)      (GnomeDbCanvasItem *citem);

    	/* virtual functions */
    	void (*extra_event)  (GnomeDbCanvasItem *citem, GdkEventType event_type);
    	void (*get_edge_nodes)(GnomeDbCanvasItem *citem, GnomeDbCanvasItem **from, GnomeDbCanvasItem **to);
    } GnomeDbCanvasItemClass;

### gnome_db_canvas_item_get_canvas ()

    GnomeDbCanvas *     gnome_db_canvas_item_get_canvas     (GnomeDbCanvasItem *item);

Get the GnomeDbCanvas on which `item` is drawn

`item` : | a GnomeDbCanvasItem object
Returns : | the GnomeDbCanvas widget

### gnome_db_canvas_item_get_graph_item ()

    GnomeDbGraphItem *  gnome_db_canvas_item_get_graph_item (GnomeDbCanvasItem *item);

Get the associated GnomeDbGraphItem to `item`.

`item` : | a GnomeDbCanvasItem object
Returns : | the GnomeDbGraphItem, or `NULL`

### gnome_db_canvas_item_get_edge_nodes ()

    void                gnome_db_canvas_item_get_edge_nodes (GnomeDbCanvasItem *item,
                                                             GnomeDbCanvasItem **from,
                                                             GnomeDbCanvasItem **to);

If the `item` canvas item represents a "link" between two other canvas items (an edge), then set `from` and `to` to those items.

`item` : | a GnomeDbCanvasItem object
`from` : | a place to store the FROM part of the edge, or `NULL`
`to` : | a place to store the TO part of the edge, or `NULL`

## Property Details

### The `"allow-drag"` property

      "allow-drag"               gboolean              : Read / Write

Default value: FALSE

### The `"allow-move"` property

      "allow-move"               gboolean              : Read / Write

Default value: TRUE

### The `"graph-item"` property

      "graph-item"               GnomeDbGraphItem*     : Read / Write

### The `"tip-text"` property

      "tip-text"                 gchar*                : Read / Write

Default value: NULL

## Signal Details

### The `"destroy"` signal

    void                user_function                      (GnomeDbCanvasItem *dbcanvasitem,
                                                            gpointer           user_data)         : Run First

`dbcanvasitem` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"drag-action"` signal

    void                user_function                      (GnomeDbCanvasItem *dbcanvasitem,
                                                            gpointer           arg1,
                                                            gpointer           arg2,
                                                            gpointer           user_data)         : Run First

`dbcanvasitem` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.

### The `"moved"` signal

    void                user_function                      (GnomeDbCanvasItem *dbcanvasitem,
                                                            gpointer           user_data)         : Run First

`dbcanvasitem` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"moving"` signal

    void                user_function                      (GnomeDbCanvasItem *dbcanvasitem,
                                                            gpointer           user_data)         : Run First

`dbcanvasitem` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"shifted"` signal

    void                user_function                      (GnomeDbCanvasItem *dbcanvasitem,
                                                            gpointer           user_data)         : Run First

`dbcanvasitem` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.