| Gtk2Hs | Contents | Index

Graphics.UI.Gtk.Embedding.Plug

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net

Contents

Detail
Class Hierarchy
Types
Constructors
Methods
Signals

Description
Toplevel for embedding into other processes
Synopsis

data Plug
class WindowClass o => PlugClass o
castToPlug :: GObjectClass obj => obj -> Plug
toPlug :: PlugClass o => o -> Plug
data NativeWindowId
plugNew :: Maybe NativeWindowId -> IO Plug
plugGetId :: PlugClass self => self -> IO NativeWindowId
onEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)
afterEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)

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

     |  GObject
     |   +----Object
     |         +----Widget
     |               +----Container
     |                     +----Bin
     |                           +----Window
     |                                 +----Plug

Types
data Plug

Instances

GObjectClass Plug
PlugClass Plug
WindowClass Plug
BinClass Plug
ContainerClass Plug
WidgetClass Plug
ObjectClass Plug

class WindowClass o => PlugClass o

Instances

PlugClass Plug

castToPlug :: GObjectClass obj => obj -> Plug
toPlug :: PlugClass o => o -> Plug
data NativeWindowId

The identifer of a window of the underlying windowing system.
Instances

Eq NativeWindowId
Show NativeWindowId

Constructors
plugNew

:: Maybe NativeWindowId | `socketId` - the window ID of the socket, or `Nothing`.
-> IO Plug |

Creates a new plug widget inside the `Socket` identified by `socketId`. If `socketId` is `Nothing`, the plug is left "unplugged" and can later be plugged into a `Socket` by Graphics.UI.Gtk.Embedding.Socket.socketAddId.

If a NativeWindowId is supplied the foreign application window will immediatly appear in this `Plug` once it is shown. If `Nothing` is passed then a `NativeWindowId` can be extracted from this `Plug` using `plugGetId` and be passed to the application which is to be embedded.

Methods
plugGetId

:: PlugClass self |
=> self |
-> IO NativeWindowId | returns the window ID for the plug
Gets the window ID of a `Plug` widget, which can then be used to embed this window inside another window, for instance with Graphics.UI.Gtk.Embedding.Socket.socketAddId.

Signals
onEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)
afterEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)
This plug received another application.
Produced by Haddock version 2.4.2