Filter:   InfoImg
download bonobo-canvas-component.h
Language: C++
Copyright: (C) 1999 Helix Code, Inc.
LOC: 51
Project Info
libbonoboui
Server: Gnome
Type: cvs
...onoboui\libbonoboui\bonobo\
   .cvsignore
   bonobo-a11y.c
   bonobo-a11y.h
   bonobo-canvas-component.c
   bonobo-canvas-component.h
   bonobo-canvas-item.c
   bonobo-canvas-item.h
   bonobo-control-frame.c
   bonobo-control-frame.h
   bonobo-control-internal.h
   bonobo-control.c
   bonobo-control.h
   bonobo-dock-band.c
   bonobo-dock-band.h
   bonobo-dock-item-grip.c
   bonobo-dock-item-grip.h
   bonobo-dock-item.c
   bonobo-dock-item.h
   bonobo-dock-layout.c
   bonobo-dock-layout.h
   bonobo-dock.c
   bonobo-dock.h
   ...bo-embeddable-factory.h
   ...bo-file-selector-util.c
   ...bo-file-selector-util.h
   ...bo-insert-component.xpm
   bonobo-plug.c
   bonobo-plug.h
   bonobo-property-control.c
   bonobo-property-control.h
   bonobo-selector-widget.c
   bonobo-selector-widget.h
   bonobo-selector.c
   bonobo-selector.h
   bonobo-socket.c
   bonobo-socket.h
   bonobo-ui-component.c
   bonobo-ui-component.h
   bonobo-ui-config-widget.c
   bonobo-ui-config-widget.h
   bonobo-ui-container.c
   bonobo-ui-container.h
   bonobo-ui-engine-config.c
   bonobo-ui-engine-config.h
   bonobo-ui-engine-private.h
   bonobo-ui-engine.c
   bonobo-ui-engine.h
   bonobo-ui-init-gtk.c
   ...o-ui-internal-toolbar.c
   bonobo-ui-main.c
   bonobo-ui-main.h
   bonobo-ui-marshal-main.c
   bonobo-ui-marshal.list
   bonobo-ui-node-private.h
   bonobo-ui-node.c
   bonobo-ui-node.h
   bonobo-ui-preferences.c
   bonobo-ui-preferences.h
   bonobo-ui-private.h
   bonobo-ui-sync-keys.c
   bonobo-ui-sync-keys.h
   bonobo-ui-sync-menu.c
   bonobo-ui-sync-menu.h
   bonobo-ui-sync-status.c
   bonobo-ui-sync-status.h
   bonobo-ui-sync-toolbar.c
   bonobo-ui-sync-toolbar.h
   bonobo-ui-sync.c
   bonobo-ui-sync.h
   ...i-toolbar-button-item.c
   ...i-toolbar-button-item.h
   ...-toolbar-control-item.c
   ...-toolbar-control-item.h
   bonobo-ui-toolbar-item.c
   bonobo-ui-toolbar-item.h
   ...ui-toolbar-popup-item.c
   ...ui-toolbar-popup-item.h
   ...ar-toggle-button-item.c
   ...ar-toggle-button-item.h
   bonobo-ui-toolbar.c
   bonobo-ui-toolbar.h
   bonobo-ui-util.c
   bonobo-ui-util.h
   bonobo-ui-win32.c
   bonobo-ui-xml.c
   bonobo-ui-xml.h
   bonobo-widget.c
   bonobo-widget.h
   bonobo-window.c
   bonobo-window.h
   bonobo-wrapper.h
   bonobo-zoomable-frame.c
   bonobo-zoomable-frame.h
   bonobo-zoomable.c
   bonobo-zoomable.h
   ...i-2.0-uninstalled.pc.in
   libbonoboui-2.0.pc.in
   Makefile.am

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/**
 * bonobo-canvas-component.h: implements the CORBA interface for
 * the Bonobo::Canvas:Item interface used in Bonobo::Views.
 *
 * Author:
 *   Miguel de Icaza (miguel@kernel.org)
 *
 * (C) 1999 Helix Code, Inc.
 */
#ifndef _BONOBO_CANVAS_COMPONENT_H_
#define _BONOBO_CANVAS_COMPONENT_H_

#include <glib/gmacros.h>
#include <gdk/gdk.h>
#include <bonobo/bonobo-object.h>
#include <libgnomecanvas/gnome-canvas.h>

#ifndef BONOBO_UI_DISABLE_DEPRECATED

G_BEGIN_DECLS
 
#define BONOBO_TYPE_CANVAS_COMPONENT        (bonobo_canvas_component_get_type ())
#define BONOBO_CANVAS_COMPONENT(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), BONOBO_TYPE_CANVAS_COMPONENT, BonoboCanvasComponent))
#define BONOBO_CANVAS_COMPONENT_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), BONOBO_TYPE_CANVAS_COMPONENT_, BonoboCanvasComponentClass))
#define BONOBO_IS_CANVAS_COMPONENT(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), BONOBO_TYPE_CANVAS_COMPONENT))
#define BONOBO_IS_CANVAS_COMPONENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BONOBO_TYPE_CANVAS_COMPONENT))

typedef struct _BonoboCanvasComponentPrivate BonoboCanvasComponentPrivate;

typedef struct {
	BonoboObject base;
	BonoboCanvasComponentPrivate *priv;
} BonoboCanvasComponent;

typedef struct {
	BonoboObjectClass 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;

GType                   bonobo_canvas_component_get_type         (void) G_GNUC_CONST;
BonoboCanvasComponent  *bonobo_canvas_component_construct        (BonoboCanvasComponent *comp,
								  GnomeCanvasItem       *item);
BonoboCanvasComponent  *bonobo_canvas_component_new              (GnomeCanvasItem       *item);
GnomeCanvasItem        *bonobo_canvas_component_get_item         (BonoboCanvasComponent *comp);
void		        bonobo_canvas_component_grab		 (BonoboCanvasComponent *comp,
								  guint                  mask,
								  GdkCursor             *cursor,
								  guint32                time,
								  CORBA_Environment     *opt_ev);
void		        bonobo_canvas_component_ungrab		 (BonoboCanvasComponent *comp,
								  guint32                time,
								  CORBA_Environment     *opt_ev);
Bonobo_UIContainer      bonobo_canvas_component_get_ui_container (BonoboCanvasComponent *comp,
								  CORBA_Environment     *opt_ev);
					  
/* This is a helper function for creating a canvas with the root item replaced
 * by a proxy to the client side proxy.
 */
GnomeCanvas *bonobo_canvas_new (gboolean                     is_aa,
				Bonobo_Canvas_ComponentProxy proxy);


/* Sets up a callback to be invoked when the container activates the object.
 * Creating the component factory will do nothing until the container connects.
 */
typedef BonoboCanvasComponent *(*GnomeItemCreator) 
   (GnomeCanvas *canvas, void *user_data);

BonoboObject *bonobo_canvas_component_factory_new(GnomeItemCreator item_factory,
      void *data);

G_END_DECLS

#endif /* BONOBO_UI_DISABLE_DEPRECATED */

#endif /* */