GnomeDbCanvas

GnomeDbCanvas — Base class for all the GnomeCanvas derived widgets in libgnomedb.

Synopsis

                    GnomeDbCanvas;
                    GnomeDbCanvasClass;
GnomeDbGraph *      gnome_db_canvas_get_graph           (GnomeDbCanvas *canvas);
GtkWidget *         gnome_db_canvas_set_in_scrolled_window
                                                        (GnomeDbCanvas *canvas);
void                gnome_db_canvas_declare_item        (GnomeDbCanvas *canvas,
                                                         GnomeDbCanvasItem *item);
void                gnome_db_canvas_set_zoom_factor     (GnomeDbCanvas *canvas,
                                                         gdouble n);
gdouble             gnome_db_canvas_get_zoom_factor     (GnomeDbCanvas *canvas);
gdouble             gnome_db_canvas_fit_zoom_factor     (GnomeDbCanvas *canvas);
gboolean            gnome_db_canvas_auto_layout_enabled (GnomeDbCanvas *canvas);
void                gnome_db_canvas_perform_auto_layout (GnomeDbCanvas *canvas,
                                                         gboolean animate,
                                                         GnomeDbCanvasLayoutAlgorithm algorithm);
void                gnome_db_canvas_center              (GnomeDbCanvas *canvas);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GooCanvas
                                 +----GnomeDbCanvas

Implemented Interfaces

GnomeDbCanvas implements AtkImplementorIface and GtkBuildable.

Properties

  "graph"                    GnomeDbGraph*         : Read / Write

Signals

  "drag-action"                                    : Run First

Description

This abstract class adds some basic functionnalities on top of the GnomeCanvas canvas such as:

  • synchronisation with a GdaGraph object (to be able to save the position of each canvas item) and management of the list of items drawn on the canvas.

  • zoom settings

The GnomeDbCanvas widget can be used with or without any associated GdaGraph object.

Details

GnomeDbCanvas

typedef struct _GnomeDbCanvas GnomeDbCanvas;


GnomeDbCanvasClass

typedef struct {
	GooCanvasClass      parent_class;

	/* virtual functions */
	void           (*create_canvas_items) (GnomeDbCanvas *canvas); /* create individual GnomeDbCanvasItem objects */
	void           (*clean_canvas_items)  (GnomeDbCanvas *canvas); /* clean any extra structure, not the individual items */

	void           (*graph_item_added)    (GnomeDbCanvas *canvas, GnomeDbGraphItem *item);
	void           (*graph_item_dropped)  (GnomeDbCanvas *canvas, GnomeDbGraphItem *item);

	GtkWidget     *(*build_context_menu)  (GnomeDbCanvas *canvas);

	/* signals */
	void           (*drag_action)        (GnomeDbCanvas *canvas, GnomeDbCanvasItem *from_item, GnomeDbCanvasItem *to_item);
} GnomeDbCanvasClass;


gnome_db_canvas_get_graph ()

GnomeDbGraph *      gnome_db_canvas_get_graph           (GnomeDbCanvas *canvas);


gnome_db_canvas_set_in_scrolled_window ()

GtkWidget *         gnome_db_canvas_set_in_scrolled_window
                                                        (GnomeDbCanvas *canvas);

Creates a new GtkScrolledWindow object and put canvas in it. canvas can be retrieved using a "canvas" user property of the new scrolled window.

canvas :

a GnomeDbCanvas widget

Returns :

the new scrolled window.

gnome_db_canvas_declare_item ()

void                gnome_db_canvas_declare_item        (GnomeDbCanvas *canvas,
                                                         GnomeDbCanvasItem *item);

Declares item to be listed by canvas as one of its items. This functions should be called after each GnomeDbCanvasItem is added to canvas.

If it was not called for one item, then that item won't be used in canvas's computations (no drag and drop, cleanup, etc).

canvas :

a GnomeDbCanvas widget

item :

a GnomeDbCanvasItem object

gnome_db_canvas_set_zoom_factor ()

void                gnome_db_canvas_set_zoom_factor     (GnomeDbCanvas *canvas,
                                                         gdouble n);

Sets the zooming factor of a canvas by specifying the number of pixels that correspond to one canvas unit. A zoom factor of 1.0 is the default value; greater than 1.0 makes a zoom in and lower than 1.0 makes a zoom out.

canvas :

a GnomeDbCanvas widget

n :

the zoom factor

gnome_db_canvas_get_zoom_factor ()

gdouble             gnome_db_canvas_get_zoom_factor     (GnomeDbCanvas *canvas);

Get the current zooming factor of a canvas.

canvas :

a GnomeDbCanvas widget

Returns :

the zooming factor.

gnome_db_canvas_fit_zoom_factor ()

gdouble             gnome_db_canvas_fit_zoom_factor     (GnomeDbCanvas *canvas);

Compute and set the correct zoom factor so that all the items on canvas can be displayed at once.

canvas :

a GnomeDbCanvas widget

Returns :

the new zooming factor.

gnome_db_canvas_auto_layout_enabled ()

gboolean            gnome_db_canvas_auto_layout_enabled (GnomeDbCanvas *canvas);

Tells if canvas has the possibility to automatically adjust its layout using the GraphViz library.

canvas :

a GnomeDbCanvas widget

Returns :

TRUE if canvas can automatically adjust its layout

gnome_db_canvas_perform_auto_layout ()

void                gnome_db_canvas_perform_auto_layout (GnomeDbCanvas *canvas,
                                                         gboolean animate,
                                                         GnomeDbCanvasLayoutAlgorithm algorithm);


gnome_db_canvas_center ()

void                gnome_db_canvas_center              (GnomeDbCanvas *canvas);

Centers the display on the layout

canvas :

a GnomeDbCanvas widget

Property Details

The "graph" property

  "graph"                    GnomeDbGraph*         : Read / Write

Signal Details

The "drag-action" signal

void                user_function                      (GnomeDbCanvas *dbcanvas,
                                                        gpointer       arg1,
                                                        gpointer       arg2,
                                                        gpointer       user_data)      : Run First

dbcanvas :

the object which received the signal.

user_data :

user data set when the signal handler was connected.