Description
The BonoboControlFrame object is used to embed a Control. Most
people will want to use BonoboWidget instead of the control frame
since it provides lots of nice auxiliary features to make embedding
easy.
The control frame is coupled to an embedded control and is used
to allow the Control to communicate with its environment, particuarly
getting the BonoboUIContainer for merging its menu / toolbar
UI elements.
Example 3. A nice use of a BonoboControlFrame
BonoboWidget *
bonobo_widget_construct_control_from_objref (BonoboWidget *bw,
Bonobo_Control control,
Bonobo_UIContainer uic)
{
GtkWidget *control_frame_widget;
/*
* Create a local ControlFrame for it.
*/
bw->priv->control_frame = bonobo_control_frame_new (uic);
bonobo_control_frame_bind_to_control (bw->priv->control_frame, control);
...
bonobo_control_frame_set_autoactivate (bw->priv->control_frame, TRUE);
/*
* Grab the actual widget which visually contains the remote
* Control. This is a GtkSocket, in reality.
*/
control_frame_widget = bonobo_control_frame_get_widget (bw->priv->control_frame);
/*
* Now stick it into this BonoboWidget.
*/
gtk_container_add (GTK_CONTAINER (bw),
control_frame_widget);
/*
* Always remember to show the widget before reporting bugs.
*/
gtk_widget_show (control_frame_widget);
if (uic != CORBA_OBJECT_NIL)
bw->priv->uic = bonobo_object_dup_ref (uic, NULL);
return bw;
}
Details
BonoboControlFrame
typedef struct _BonoboControlFrame BonoboControlFrame;
BonoboControlFramePrivate
typedef struct _BonoboControlFramePrivate BonoboControlFramePrivate;
BonoboControlFrameClass
typedef struct {
BonoboObjectClass parent_class;
POA_Bonobo_ControlFrame__epv epv;
gpointer dummy[4];
/* Signals. */
void (*activated) (BonoboControlFrame *control_frame, gboolean state);
void (*activate_uri) (BonoboControlFrame *control_frame, const char *uri, gboolean relative);
} BonoboControlFrameClass;
BONOBO_CONTROL_FRAME_TOPLEVEL_PROP
#define BONOBO_CONTROL_FRAME_TOPLEVEL_PROP "bonobo:toplevel"
bonobo_control_frame_construct ()
BonoboControlFrame * bonobo_control_frame_construct (BonoboControlFrame *control_frame
,
Bonobo_UIContainer ui_container
,
CORBA_Environment *ev
);
Initializes control_frame
with the parameters.
control_frame : |
The BonoboControlFrame object to be initialized.
|
ui_container : |
A CORBA object for the UIContainer for the container application.
|
ev : |
|
Returns : |
the initialized BonoboControlFrame object control_frame that implements the
Bonobo::ControlFrame CORBA service.
|
bonobo_control_frame_new ()
BonoboControlFrame * bonobo_control_frame_new (Bonobo_UIContainer ui_container
);
ui_container : |
The Bonobo_UIContainer for the container application.
|
Returns : |
BonoboControlFrame object that implements the
Bonobo::ControlFrame CORBA service.
|
bonobo_control_frame_get_widget ()
GtkWidget * bonobo_control_frame_get_widget (BonoboControlFrame *frame
);
Use this function when you want to embed a BonoboControl into your
container's widget hierarchy. Once you have bound the
BonoboControlFrame to a remote BonoboControl, place the widget
returned by bonobo_control_frame_get_widget()
into your widget
hierarchy and the control will appear in your application.
frame : |
The BonoboControlFrame whose widget is being requested.a
|
Returns : |
A GtkWidget which has the remote BonoboControl physically
inside it.
|
bonobo_control_frame_set_ui_container ()
void bonobo_control_frame_set_ui_container
(BonoboControlFrame *control_frame
,
Bonobo_UIContainer uic
,
CORBA_Environment *ev
);
Associates a new Bonobo_UIContainer
object with this ControlFrame. This
is only allowed while the Control is deactivated.
control_frame : |
|
uic : |
A Bonobo_UIContainer object reference.
|
ev : |
|
bonobo_control_frame_control_activate ()
void bonobo_control_frame_control_activate
(BonoboControlFrame *control_frame
);
Activates the BonoboControl embedded in control_frame
by calling the
activate()
Bonobo_Control interface method on it.
control_frame : |
The BonoboControlFrame object whose control should be
activated.
|
bonobo_control_frame_control_deactivate ()
void bonobo_control_frame_control_deactivate
(BonoboControlFrame *control_frame
);
Deactivates the BonoboControl embedded in frame
by calling
the activate()
CORBA method on it with the parameter FALSE
.
control_frame : |
The BonoboControlFrame object whose control should be
deactivated.
|
bonobo_control_frame_set_autoactivate ()
void bonobo_control_frame_set_autoactivate
(BonoboControlFrame *control_frame
,
gboolean autoactivate
);
Modifies the autoactivate behavior of frame
. If
frame
is set to autoactivate, then it will automatically
send an "activate" message to the Control to which it is bound when
it gets a focus-in event, and a "deactivate" message when it gets a
focus-out event. Autoactivation is off by default.
control_frame : |
|
autoactivate : |
A flag which indicates whether or not the
ControlFrame should automatically perform activation on the Control
to which it is bound.
|
bonobo_control_frame_get_control_property_bag ()
Bonobo_PropertyBag bonobo_control_frame_get_control_property_bag
(BonoboControlFrame *control_frame
,
CORBA_Environment *opt_ev
);
This retrives a Bonobo_PropertyBag reference from its
associated Bonobo Control
control_frame : |
|
opt_ev : |
|
Returns : |
CORBA property bag reference or CORBA_OBJECT_NIL
|
bonobo_control_frame_set_propbag ()
void bonobo_control_frame_set_propbag (BonoboControlFrame *control_frame
,
BonoboPropertyBag *propbag
);
Makes frame
use propbag
for its ambient properties. When
frame
's Control requests the ambient properties, it will
get them from propbag
.
control_frame : |
|
propbag : |
A BonoboPropertyBag which will hold frame 's
ambient properties.
|
bonobo_control_frame_get_propbag ()
BonoboPropertyBag * bonobo_control_frame_get_propbag (BonoboControlFrame *control_frame
);
control_frame : |
|
Returns : |
The BonoboPropertyBag object which has been associated with
frame .
|
bonobo_control_frame_control_set_state ()
void bonobo_control_frame_control_set_state
(BonoboControlFrame *control_frame
,
GtkStateType state
);
Proxies state
to the control bound to frame
.
control_frame : |
|
state : |
A GtkStateType value, specifying the widget state to apply
to the remote control.
|
bonobo_control_frame_set_autostate ()
void bonobo_control_frame_set_autostate (BonoboControlFrame *control_frame
,
gboolean autostate
);
Changes whether or not frame
automatically proxies
state changes to its associated control. The default mode
is for the control frame to autopropagate.
control_frame : |
|
autostate : |
Whether or not GtkWidget state changes should be
automatically propagated down to the Control.
|
bonobo_control_frame_get_autostate ()
gboolean bonobo_control_frame_get_autostate (BonoboControlFrame *control_frame
);
control_frame : |
|
Returns : |
Whether or not this control frame will automatically
proxy GtkState changes to its associated Control.
|
bonobo_control_frame_bind_to_control ()
void bonobo_control_frame_bind_to_control
(BonoboControlFrame *control_frame
,
Bonobo_Control control
,
CORBA_Environment *opt_ev
);
Associates control
with this frame
.
control_frame : |
|
control : |
The CORBA object for the BonoboControl embedded
in this BonoboControlFrame.
|
opt_ev : |
Optional exception environment
|
bonobo_control_frame_get_control ()
Bonobo_Control bonobo_control_frame_get_control (BonoboControlFrame *control_frame
);
bonobo_control_frame_get_ui_container ()
Bonobo_UIContainer bonobo_control_frame_get_ui_container
(BonoboControlFrame *control_frame
);
control_frame : |
|
Returns : |
The Bonobo_UIContainer object reference associated with this
ControlFrame. This ui_container is specified when the ControlFrame is
created. See bonobo_control_frame_new() .
|
bonobo_control_frame_get_popup_component ()
BonoboUIComponent * bonobo_control_frame_get_popup_component
(BonoboControlFrame *control_frame
,
CORBA_Environment *opt_ev
);
control_frame : |
|
opt_ev : |
|
Returns : |
|