BonoboControlFrame

BonoboControlFrame — An implementation of the container's frame containing a Control

Functions

Signals

void activate-uri Run Last
void activated Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── BonoboObject
        ╰── BonoboControlFrame

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.

Figure 2. The Bonobo::ControlFrame interface

The Bonobo::ControlFrame interface

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
}


Functions

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.

Parameters

control_frame

The BonoboControlFrame object to be initialized.

 

ui_container

A CORBA object for the UIContainer for the container application.

 

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

Parameters

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.

Parameters

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.

Parameters

uic

A Bonobo_UIContainer object reference.

 

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.

Parameters

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.

Parameters

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.

Parameters

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_autoactivate ()

gboolean
bonobo_control_frame_get_autoactivate (BonoboControlFrame *control_frame);

Returns

A boolean which indicates whether or not frame is set to automatically activate its Control. See bonobo_control_frame_set_autoactivate().


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

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 .

Parameters

propbag

A BonoboPropertyBag which will hold frame 's ambient properties.

 

bonobo_control_frame_get_propbag ()

BonoboPropertyBag *
bonobo_control_frame_get_propbag (BonoboControlFrame *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 .

Parameters

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.

Parameters

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

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 .

Parameters

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

Returns

The Bonobo_Control CORBA interface for the remote Control which is bound to frame . See also bonobo_control_frame_bind_to_control().


bonobo_control_frame_get_ui_container ()

Bonobo_UIContainer
bonobo_control_frame_get_ui_container (BonoboControlFrame *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);

Returns

Types and Values

struct BonoboControlFrame

struct 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"

Signal Details

The “activate-uri” signal

void
user_function (BonoboControlFrame *bonobocontrolframe,
               gchar              *arg1,
               gboolean            arg2,
               gpointer            user_data)

Parameters

bonobocontrolframe

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “activated” signal

void
user_function (BonoboControlFrame *bonobocontrolframe,
               gboolean            arg1,
               gpointer            user_data)

Parameters

bonobocontrolframe

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

BonoboWidget, bonobo_widget_new()