BonoboWidget

Name

BonoboWidget -- Simplified embedding of widgets in Bonobo.

Synopsis



#define     BONOBO_WIDGET_TYPE
#define     BONOBO_WIDGET                   (o)
#define     BONOBO_WIDGET_CLASS             (k)
#define     BONOBO_IS_WIDGET                (o)
#define     BONOBO_IS_WIDGET_CLASS          (k)
struct      BonoboWidget;
typedef     BonoboWidgetClass;
BonoboObjectClient* bonobo_widget_get_server
                                            (BonoboWidget *bw);
GtkWidget*  bonobo_widget_new_control       (const char *goad_id,
                                             Bonobo_UIContainer uih);
GtkWidget*  bonobo_widget_new_control_from_objref
                                            (Bonobo_Control control,
                                             Bonobo_UIContainer uih);
BonoboControlFrame* bonobo_widget_get_control_frame
                                            (BonoboWidget *bw);
GtkWidget*  bonobo_widget_new_subdoc        (const char *object_desc,
                                             Bonobo_UIContainer uih);
BonoboItemContainer* bonobo_widget_get_container
                                            (BonoboWidget *bw);
BonoboClientSite* bonobo_widget_get_client_site
                                            (BonoboWidget *bw);
BonoboViewFrame* bonobo_widget_get_view_frame
                                            (BonoboWidget *bw);
Bonobo_UIContainer bonobo_widget_get_uih    (BonoboWidget *bw);
void        bonobo_widget_set_property      (BonoboWidget *control,
                                             const char *first_prop,
                                             ...);
void        bonobo_widget_get_property      (BonoboWidget *control,
                                             const char *first_prop,
                                             ...);

Description

Bonobo component embedding for hydrocephalic imbeciles.

Pure cane sugar.

This purpose of BonoboWidget is to make container-side use of Bonobo as easy as pie. This widget has two functions:

  1. Provide a simple wrapper for embedding a single-view subdocument. In this case, BonoboWidget handles creating the embeddable, binding it to a local BonoboClientSite, creating a view for it, and displaying the view. You can use the accessor functions (bonobo_widget_get_view_frame, etc) to get at the actual Bonobo objects which underlie the whole process.

    In order to do this, just call:

    	bw = bonobo_widget_new_subdoc ("id of subdoc embeddable", top_level_uihandler);
              

    And then insert the 'bw' widget into the widget tree of your application like so:

    	gtk_container_add (some_container, bw);
              

    You are free to make the UIContainer argument to bonobo_widget_new_subdoc() be CORBA_OBJECT_NIL.

  2. Provide a simple wrapper for embedding Controls. Embedding controls is already really easy, but BonoboWidget reduces the work from about 5 lines to 1. To embed a given control, just do:

           bw = bonobo_widget_new_control ("id for control");
           gtk_container_add (some_container, bw);
              

There are also functions for fetching and setting values in the Control PropertyBag, but the use of these functions is discouraged.

Details

BONOBO_WIDGET_TYPE

#define BONOBO_WIDGET_TYPE        (bonobo_widget_get_type ())


BONOBO_WIDGET()

#define BONOBO_WIDGET(o)          (GTK_CHECK_CAST ((o), BONOBO_WIDGET_TYPE, BonoboWidget))

o : 


BONOBO_WIDGET_CLASS()

#define BONOBO_WIDGET_CLASS(k)    (GTK_CHECK_CLASS_CAST((k), BONOBO_WIDGET_TYPE, BonoboWidgetClass))

k : 


BONOBO_IS_WIDGET()

#define BONOBO_IS_WIDGET(o)       (GTK_CHECK_TYPE ((o), BONOBO_WIDGET_TYPE))

o : 


BONOBO_IS_WIDGET_CLASS()

#define BONOBO_IS_WIDGET_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), BONOBO_WIDGET_TYPE))

k : 


struct BonoboWidget

struct BonoboWidget;


BonoboWidgetClass

typedef struct {
	GtkBinClass	 bin_class;
} BonoboWidgetClass;


bonobo_widget_get_server ()

BonoboObjectClient* bonobo_widget_get_server
                                            (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_new_control ()

GtkWidget*  bonobo_widget_new_control       (const char *goad_id,
                                             Bonobo_UIContainer uih);

goad_id : 
uih : 
Returns : 


bonobo_widget_new_control_from_objref ()

GtkWidget*  bonobo_widget_new_control_from_objref
                                            (Bonobo_Control control,
                                             Bonobo_UIContainer uih);

control : 
uih : 
Returns : 


bonobo_widget_get_control_frame ()

BonoboControlFrame* bonobo_widget_get_control_frame
                                            (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_new_subdoc ()

GtkWidget*  bonobo_widget_new_subdoc        (const char *object_desc,
                                             Bonobo_UIContainer uih);

object_desc : 
uih : 
Returns : 


bonobo_widget_get_container ()

BonoboItemContainer* bonobo_widget_get_container
                                            (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_get_client_site ()

BonoboClientSite* bonobo_widget_get_client_site
                                            (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_get_view_frame ()

BonoboViewFrame* bonobo_widget_get_view_frame
                                            (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_get_uih ()

Bonobo_UIContainer bonobo_widget_get_uih    (BonoboWidget *bw);

bw : 
Returns : 


bonobo_widget_set_property ()

void        bonobo_widget_set_property      (BonoboWidget *control,
                                             const char *first_prop,
                                             ...);

control : 
first_prop : 
... : 


bonobo_widget_get_property ()

void        bonobo_widget_get_property      (BonoboWidget *control,
                                             const char *first_prop,
                                             ...);

control : 
first_prop : 
... : 

See Also

Object activation happens with bonobo_get_object().

BonoboControl, BonoboControlFrame, BonoboObject, BonoboView, BonoboEmbeddable, BonoboUIContainer, BonoboItemContainer.