## GnomeDbCanvasItem

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

##

# Synopsis

    struct      GnomeDbCanvasItem;
    struct      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"             gchararray           : Read / Write

## Signal Prototypes

    "destroy"   void        user_function      (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer user_data);
    "drag-action"
                void        user_function      (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer arg1,
                                                gpointer arg2,
                                                gpointer user_data);
    "moved"     void        user_function      (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer user_data);
    "moving"    void        user_function      (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer user_data);
    "shifted"   void        user_function      (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer user_data);

## 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

### struct GnomeDbCanvasItem

    struct GnomeDbCanvasItem;

### struct GnomeDbCanvasItemClass

    struct GnomeDbCanvasItemClass {

    	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);
    };

### 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`

## Properties

"`allow-drag`" (gboolean : Read / Write) |
"`allow-move`" (gboolean : Read / Write) |
"`graph-item`" (GnomeDbGraphItem : Read / Write) |
"`tip-text`" (gchararray : Read / Write) |

## Signals

### The "destroy" signal

    void        user_function                  (GnomeDbCanvasItem *dbcanvasitem,
                                                gpointer user_data);

`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);

`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);

`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);

`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);

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