GnomeDbCanvas

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

Synopsis




struct      GnomeDbCanvas;
struct      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
                                       +----GnomeDbCanvasDbRelations

Implemented Interfaces

GnomeDbCanvas implements AtkImplementorIface and GtkBuildable.

Properties


  "graph"                GnomeDbGraph         : Read / Write

Signal Prototypes


"drag-action"
            void        user_function      (GnomeDbCanvas *dbcanvas,
                                            gpointer arg1,
                                            gpointer arg2,
                                            gpointer user_data);

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

struct GnomeDbCanvas

struct GnomeDbCanvas;


struct GnomeDbCanvasClass

struct GnomeDbCanvasClass {

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


gnome_db_canvas_get_graph ()

GnomeDbGraph* gnome_db_canvas_get_graph     (GnomeDbCanvas *canvas);

canvas :
Returns :

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

canvas :
animate :
algorithm :

gnome_db_canvas_center ()

void        gnome_db_canvas_center          (GnomeDbCanvas *canvas);

Centers the display on the layout

canvas : a GnomeDbCanvas widget

Properties

"graph" (GnomeDbGraph : Read / Write)

Signals

The "drag-action" signal

void        user_function                  (GnomeDbCanvas *dbcanvas,
                                            gpointer arg1,
                                            gpointer arg2,
                                            gpointer user_data);

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