Gtk2HsContentsIndex
Graphics.UI.Gtk.Embedding.Plug
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-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
type NativeWindowId = Word32
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
show/hide Instances
class WindowClass o => PlugClass o
show/hide Instances
castToPlug :: GObjectClass obj => obj -> Plug
toPlug :: PlugClass o => o -> Plug
type NativeWindowId = Word32
The identifer of a window to be embedded.
Constructors
plugNew
:: Maybe NativeWindowIdsocketId - 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 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 NativeWindowIdreturns 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 socketAddId.
Signals
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