<< Back to man.ChinaUnix.net

<< Back to man.ChinaUnix.net

GtkPlug

GtkPlug — Toplevel for embedding into other processes

Synopsis


#include <gtk/gtk.h>


            GtkPlug;
void        gtk_plug_construct              (GtkPlug *plug,
                                             GdkNativeWindow socket_id);
void        gtk_plug_construct_for_display  (GtkPlug *plug,
                                             GdkDisplay *display,
                                             GdkNativeWindow socket_id);
GtkWidget*  gtk_plug_new                    (GdkNativeWindow socket_id);
GtkWidget*  gtk_plug_new_for_display        (GdkDisplay *display,
                                             GdkNativeWindow socket_id);
GdkNativeWindow gtk_plug_get_id             (GtkPlug *plug);


Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkPlug

Implemented Interfaces

GtkPlug implements AtkImplementorIface.

Signal Prototypes


"embedded"  void        user_function      (GtkPlug *plug,
                                            gpointer user_data);

Description

Together with GtkSocket, GtkPlug 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 GtkSocket widget and, passes the ID of that widgets window to the other process, which then creates a GtkPlug with that window ID. Any widgets contained in the GtkPlug then will appear inside the first applications window.

Note

The GtkPlug and GtkSocket widgets are currently not available on all platforms supported by GTK+.

Details

GtkPlug

typedef struct _GtkPlug GtkPlug;


gtk_plug_construct ()

void        gtk_plug_construct              (GtkPlug *plug,
                                             GdkNativeWindow socket_id);

Finish the initialization of plug for a given GtkSocket identified by socket_id. This function will generally only be used by classes deriving from GtkPlug.

plug : a GtkPlug.
socket_id : the XID of the socket's window.

gtk_plug_construct_for_display ()

void        gtk_plug_construct_for_display  (GtkPlug *plug,
                                             GdkDisplay *display,
                                             GdkNativeWindow socket_id);

Finish the initialization of plug for a given GtkSocket identified by socket_id which is currently displayed on display. This function will generally only be used by classes deriving from GtkPlug.

plug : a GtkPlug.
display : the GdkDisplay associated with socket_id's GtkSocket.
socket_id : the XID of the socket's window.

Since 2.2


gtk_plug_new ()

GtkWidget*  gtk_plug_new                    (GdkNativeWindow socket_id);

Creates a new plug widget inside the GtkSocket identified by socket_id. If socket_id is 0, the plug is left "unplugged" and can later be plugged into a GtkSocket by gtk_socket_add_id().

socket_id : the window ID of the socket, or 0.
Returns : the new GtkPlug widget.

gtk_plug_new_for_display ()

GtkWidget*  gtk_plug_new_for_display        (GdkDisplay *display,
                                             GdkNativeWindow socket_id);

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

display : the GdkDisplay on which socket_id is displayed
socket_id : the XID of the socket's window.
Returns : the new GtkPlug widget.

Since 2.2


gtk_plug_get_id ()

GdkNativeWindow gtk_plug_get_id             (GtkPlug *plug);

Gets the window ID of a GtkPlug widget, which can then be used to embed this window inside another window, for instance with gtk_socket_add_id().

plug : a GtkPlug.
Returns : the window ID for the plug

Signals

The "embedded" signal

void        user_function                  (GtkPlug *plug,
                                            gpointer user_data);

plug :the object which received the signal.
user_data :user data set when the signal handler was connected.

See Also

GtkSocket

the widget that a GtkPlug plugs into.