Bonobo API Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# BonoboPlug

## Name

BonoboPlug -- Toplevel for embedding into other processes.

## Synopsis

    typedef     BonoboPlug;
    typedef     BonoboPlugClass;
    void        bonobo_plug_construct           (BonoboPlug *plug,
                                                 guint32 socket_id);
    GtkWidget*  bonobo_plug_new                 (guint32 socket_id);

## Object Hierarchy

      GtkObject
       +----GtkWidget
             +----GtkContainer
                   +----GtkBin
                         +----GtkWindow
                               +----BonoboPlug

## Description

This is an internal support routine of the X code in Bonobo.

Together with BonoboSocket, BonoboPlug provides the ability to embed widgets from one process into another process in a fashion that is transparent to the user. One process creates a BonoboSocket widget and, passes the XID of that widgets window to the other process, which then creates a BonoboPlug window with that XID. Any widgets contained in the BonoboPlug then will appear inside the first applications window.

This code is a modified copy of GtkPlug, it is included in bonobo since this forked version could be effectively bug fixed, and integrated with the BonoboControl / BonoboControlframe CORBA pipe, to ensure synchronization between the X and CORBA transports.

## Details

### BonoboPlug

    typedef struct {
    	GtkWindow window;

    	GdkWindow *socket_window;
    	gint same_app;
    } BonoboPlug;

### BonoboPlugClass

    typedef struct {
    	GtkWindowClass parent_class;
    } BonoboPlugClass;

### bonobo_plug_construct ()

    void        bonobo_plug_construct           (BonoboPlug *plug,
                                                 guint32 socket_id);

Finish the creation of a BonoboPlug widget. This function will generally only be used by classes deriving from BonoboPlug.

`plug` : | The BonoboPlug.
`socket_id` : | the XID of the socket's window.

### bonobo_plug_new ()

    GtkWidget*  bonobo_plug_new                 (guint32 socket_id);

Create a new plug widget inside the GtkSocket identified by `socket_id`.

`socket_id` : | the XID of the socket's window.
Returns : | the new BonoboPlug widget.

## See Also

BonoboSocket, BonoboControlFrame.

<<< Previous Page | Home | Up | Next Page >>>
Supporting Classes | BonoboSocket