{-# LINE 2 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
module Graphics.UI.Gtk.Embedding.Plug (
Plug,
PlugClass,
castToPlug, gTypePlug,
toPlug,
NativeWindowId,
plugNew,
plugNewForDisplay,
plugGetId,
plugGetEmbedded,
plugGetSocketWindow,
plugAttrEmbedded,
plugAttrSocketWindow,
plugEmbedded,
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 91 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
import Graphics.UI.Gtk.Embedding.Types
{-# LINE 92 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 93 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
import Graphics.UI.Gtk.Embedding.Embedding
import Graphics.UI.Gtk.General.Structs
{-# LINE 99 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
plugNew ::
Maybe NativeWindowId
-> IO Plug
plugNew socketId =
makeNewObject mkPlug $
liftM (castPtr :: Ptr Widget -> Ptr Plug) $
gtk_plug_new
{-# LINE 120 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))
plugNewForDisplay ::
Display
-> Maybe NativeWindowId
-> IO Plug
plugNewForDisplay display socketId =
makeNewObject mkPlug $
liftM (castPtr :: Ptr Widget -> Ptr Plug) $
(\(Display arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_plug_new_for_display argPtr1 arg2)
{-# LINE 136 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
display
(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))
plugGetId :: PlugClass self => self
-> IO NativeWindowId
plugGetId self =
liftM toNativeWindowId $
(\(Plug arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_plug_get_id argPtr1)
{-# LINE 152 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
(toPlug self)
plugGetEmbedded :: PlugClass self => self
-> IO Bool
plugGetEmbedded self =
liftM toBool $
(\(Plug arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_plug_get_embedded argPtr1)
{-# LINE 164 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
(toPlug self)
plugGetSocketWindow :: PlugClass self => self
-> IO (Maybe DrawWindow)
plugGetSocketWindow self =
maybeNull (makeNewGObject mkDrawWindow) $
(\(Plug arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_plug_get_socket_window argPtr1)
{-# LINE 175 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
(toPlug self)
plugAttrEmbedded :: PlugClass self => ReadAttr self Bool
plugAttrEmbedded = readAttrFromBoolProperty "embedded"
plugAttrSocketWindow :: PlugClass self => ReadAttr self (Maybe DrawWindow)
plugAttrSocketWindow = readAttrFromMaybeObjectProperty "socket-window"
gdk_window_object_get_type
{-# LINE 198 "./Graphics/UI/Gtk/Embedding/Plug.chs" #-}
plugEmbedded :: PlugClass self => Signal self (IO ())
plugEmbedded = Signal (connect_NONE__NONE "embedded")
foreign import ccall unsafe "gtk_plug_new"
gtk_plug_new :: (CUInt -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_plug_new_for_display"
gtk_plug_new_for_display :: ((Ptr Display) -> (CUInt -> (IO (Ptr Widget))))
foreign import ccall unsafe "gtk_plug_get_id"
gtk_plug_get_id :: ((Ptr Plug) -> (IO CUInt))
foreign import ccall safe "gtk_plug_get_embedded"
gtk_plug_get_embedded :: ((Ptr Plug) -> (IO CInt))
foreign import ccall safe "gtk_plug_get_socket_window"
gtk_plug_get_socket_window :: ((Ptr Plug) -> (IO (Ptr DrawWindow)))
foreign import ccall unsafe "gdk_window_object_get_type"
gdk_window_object_get_type :: CULong