|Portability||portable (depends on GHC)|
|Toplevel for embedding into other processes
|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.
|data Plug |
|class WindowClass o => PlugClass o |
|castToPlug :: GObjectClass obj => obj -> Plug|
|toPlug :: PlugClass o => o -> Plug|
|type NativeWindowId = Word32|
|The identifer of a window to be embedded.
|:: Maybe NativeWindowId||socketId - the window ID of the socket, or
|-> 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 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.
|:: PlugClass 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
|onEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)|
|This plug received another application.
|afterEmbedded :: PlugClass self => self -> IO () -> IO (ConnectId self)|
|Produced by Haddock version 0.8|