# ECanvas

## Name

ECanvas --

## Synopsis

    #define     E_CANVAS_TYPE
    void        (*ECanvasItemReflowFunc)        (GnomeCanvasItem *item,
                                                 gint flags);
    void        (*ECanvasItemSelectionFunc)     (GnomeCanvasItem *item,
                                                 gint flags,
                                                 gpointer user_data);
    gint        (*ECanvasItemSelectionCompareFunc)
                                                (GnomeCanvasItem *item,
                                                 gpointer data1,
                                                 gpointer data2,
                                                 gint flags);
    typedef     ECanvasSelectionInfo;
                ECanvas;
    GtkWidget*  e_canvas_new                    (void);
    void        e_canvas_item_grab_focus        (GnomeCanvasItem *item);
    void        e_canvas_item_request_reflow    (GnomeCanvasItem *item);
    void        e_canvas_item_request_parent_reflow
                                                (GnomeCanvasItem *item);
    void        e_canvas_item_set_reflow_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemReflowFunc func);
    void        e_canvas_item_set_selection_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemSelectionFunc func);
    void        e_canvas_item_set_selection_compare_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemSelectionCompareFunc func);
    void        e_canvas_item_set_cursor        (GnomeCanvasItem *item,
                                                 gpointer id);
    void        e_canvas_item_add_selection     (GnomeCanvasItem *item,
                                                 gpointer id);
    void        e_canvas_item_remove_selection  (GnomeCanvasItem *item,
                                                 gpointer id);
    void        e_canvas_item_set_cursor_end    (GnomeCanvasItem *item,
                                                 gpointer id);

## Object Hierarchy

      GtkObject
       +----GtkWidget
             +----GtkContainer
                   +----GtkLayout
                         +----GnomeCanvas
                               +----ECanvas

## Signal Prototypes

    "reflow"    void        user_function      (ECanvas *ecanvas,
                                                gpointer user_data);

## Description

## Details

### E_CANVAS_TYPE

    #define E_CANVAS_TYPE			(e_canvas_get_type ())

### ECanvasItemReflowFunc ()

    void        (*ECanvasItemReflowFunc)        (GnomeCanvasItem *item,
                                                 gint flags);

`item` : |
`flags` : |

### ECanvasItemSelectionFunc ()

    void        (*ECanvasItemSelectionFunc)     (GnomeCanvasItem *item,
                                                 gint flags,
                                                 gpointer user_data);

`item` : |
`flags` : |
`user_data` : |

### ECanvasItemSelectionCompareFunc ()

    gint        (*ECanvasItemSelectionCompareFunc)
                                                (GnomeCanvasItem *item,
                                                 gpointer data1,
                                                 gpointer data2,
                                                 gint flags);

`item` : |
`data1` : |
`data2` : |
`flags` : |
Returns : |

### ECanvasSelectionInfo

    typedef struct {
    	GnomeCanvasItem *item;
    	gpointer         id;
    } ECanvasSelectionInfo;

### ECanvas

    typedef struct _ECanvas ECanvas;

### e_canvas_new ()

    GtkWidget*  e_canvas_new                    (void);

Returns : |

### e_canvas_item_grab_focus ()

    void        e_canvas_item_grab_focus        (GnomeCanvasItem *item);

Makes the specified item take the keyboard focus, so all keyboard events will be sent to it. If the canvas widget itself did not have the focus and `widget_too` is `TRUE`, it grabs that focus as well.

`item` : | A canvas item.

### e_canvas_item_request_reflow ()

    void        e_canvas_item_request_reflow    (GnomeCanvasItem *item);

`item` : |

### e_canvas_item_request_parent_reflow ()

    void        e_canvas_item_request_parent_reflow
                                                (GnomeCanvasItem *item);

`item` : |

### e_canvas_item_set_reflow_callback ()

    void        e_canvas_item_set_reflow_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemReflowFunc func);

`item` : |
`func` : |

### e_canvas_item_set_selection_callback ()

    void        e_canvas_item_set_selection_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemSelectionFunc func);

`item` : |
`func` : |

### e_canvas_item_set_selection_compare_callback ()

    void        e_canvas_item_set_selection_compare_callback
                                                (GnomeCanvasItem *item,
                                                 ECanvasItemSelectionCompareFunc func);

`item` : |
`func` : |

### e_canvas_item_set_cursor ()

    void        e_canvas_item_set_cursor        (GnomeCanvasItem *item,
                                                 gpointer id);

`item` : |
`id` : |

### e_canvas_item_add_selection ()

    void        e_canvas_item_add_selection     (GnomeCanvasItem *item,
                                                 gpointer id);

`item` : |
`id` : |

### e_canvas_item_remove_selection ()

    void        e_canvas_item_remove_selection  (GnomeCanvasItem *item,
                                                 gpointer id);

`item` : |
`id` : |

### e_canvas_item_set_cursor_end ()

    void        e_canvas_item_set_cursor_end    (GnomeCanvasItem *item,
                                                 gpointer id);

`item` : |
`id` : |

## Signals

### The "reflow" signal

    void        user_function                  (ECanvas *ecanvas,
                                                gpointer user_data);

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