Bonobo API Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
typedef BonoboCanvasComponent; typedef BonoboCanvasComponentClass; GnomeCanvas* bonobo_canvas_new (gboolean is_aa, Bonobo_Canvas_ComponentProxy proxy); BonoboCanvasComponent* bonobo_canvas_component_construct (BonoboCanvasComponent *comp, GnomeCanvasItem *item); BonoboCanvasComponent* bonobo_canvas_component_new (GnomeCanvasItem *item); GnomeCanvasItem* bonobo_canvas_component_get_item (BonoboCanvasComponent *comp); Bonobo_UIContainer bonobo_canvas_component_get_ui_container (BonoboCanvasComponent *comp); void bonobo_canvas_component_grab (BonoboCanvasComponent *comp, guint mask, GdkCursor *cursor, guint32 time); void bonobo_canvas_component_ungrab (BonoboCanvasComponent *comp, guint32 time); |
The BonoboCanvasComponent objects are used to wrap GnomeCanvasItems and export them to container applications. Typically the bonobo_component_canvas_new() function will be invoked in a callback from a BonoboEmbeddable object.
Here is an example of how to export Gnome Canvas Items in a simple way.
Example 1. Wrapping a Gnome Canvas Item
/* * Here is where the GnomeCanvasItem (in this case an ellipse) * is created and wrapped in a BonoboCanvasComponent. * * This function is invoked on demand on the embeddable * argument. Embeddables are the document model, and the * items returned are the views. */ BonoboCanvasComponent * my_item_creator (BonoboEmbeddable *embeddable, GnomeCanvas *canvas, void *data) { GnomeCanvasItem *item = gnome_canvas_item_new ( gnome_canvas_root (canvas), gnome_canvas_ellipse_get_type(), "x1", 5.0, "y1", 5.0, "x2", 95.0, "y2", 95.0, "fill_color", "white", "outline_color", "black", NULL); return bonobo_canvas_component_new (item); } /* * This is a routine that creates a BonoboEmbeddable that * uses CanvasItems. */ BonoboEmbeddable *make_embeddable (void) { return bonobo_embeddable_new_canvas_item (my_item_creator, NULL); } |
Applications that do not use the base BonoboEmbeddable class, but use their own types derived from the BonoboEmbeddable can use the bonobo_embeddable_construct() during their construction phase.
On the client side (the application that will embed this component) an object of the type BonoboCanvasItem is used.
typedef struct { BonoboXObject base; BonoboCanvasComponentPrivate *priv; } BonoboCanvasComponent; |
typedef struct { BonoboXObjectClass parent_class; POA_Bonobo_Canvas_Component__epv epv; /* Signals */ void (*set_bounds) (BonoboCanvasComponent *component, Bonobo_Canvas_DRect *bbox, CORBA_Environment *ev); gboolean (*event) (BonoboCanvasComponent *component, GdkEvent *event); } BonoboCanvasComponentClass; |
GnomeCanvas* bonobo_canvas_new (gboolean is_aa, Bonobo_Canvas_ComponentProxy proxy); |
BonoboCanvasComponent* bonobo_canvas_component_construct (BonoboCanvasComponent *comp, GnomeCanvasItem *item); |
Creates a CORBA server for the interface Bonobo::Canvas::Item wrapping item.
comp : | a BonoboCanvasComponent to initialize |
item : | A GnomeCanvasItem that is being exported |
Returns : | The BonoboCanvasComponent. |
BonoboCanvasComponent* bonobo_canvas_component_new (GnomeCanvasItem *item); |
Creates a CORBA server for the interface Bonobo::Canvas::Item wrapping item.
GnomeCanvasItem* bonobo_canvas_component_get_item (BonoboCanvasComponent *comp); |
comp : | A BonoboCanvasComponent object |
Returns : | The GnomeCanvasItem that this BonoboCanvasComponent proxies |
Bonobo_UIContainer bonobo_canvas_component_get_ui_container (BonoboCanvasComponent *comp); |
comp : | A BonoboCanvasComponent object |
Returns : | The UI container for the component's remote proxy. |
void bonobo_canvas_component_grab (BonoboCanvasComponent *comp, guint mask, GdkCursor *cursor, guint32 time); |
Grabs the mouse focus via a call to the remote proxy.
comp : | A BonoboCanvasComponent object |
mask : | Mask of events to grab |
cursor : | GdkCursor to display during grab |
time : | Time of last event before grab |
void bonobo_canvas_component_ungrab (BonoboCanvasComponent *comp, guint32 time); |
Grabs the mouse focus via a call to the remote proxy.
comp : | A BonoboCanvasComponent object |
time : | Time of last event before grab |