{-# LINE 2 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
module Graphics.UI.Gtk.Layout.StackSwitcher (
StackSwitcher
, castToStackSwitcher
, gTypeStackSwitcher
, toStackSwitcher
, stackSwitcherNew
, stackSwitcherSetStack
, stackSwitcherGetStack
, stackSwitcherIconSize
, stackSwitcherStack
) where
import Control.Monad (liftM)
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 73 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
{-# LINE 75 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
stackSwitcherNew :: IO StackSwitcher
stackSwitcherNew =
makeNewObject mkStackSwitcher $
liftM (castPtr :: Ptr Widget -> Ptr StackSwitcher) $
gtk_stack_switcher_new
{-# LINE 86 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
stackSwitcherSetStack :: (StackSwitcherClass self, StackClass stack) => self
-> stack
-> IO ()
stackSwitcherSetStack self stack =
(\(StackSwitcher arg1) (Stack arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_stack_switcher_set_stack argPtr1 argPtr2)
{-# LINE 96 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
(toStackSwitcher self)
(toStack stack)
stackSwitcherGetStack :: StackSwitcherClass self => self
-> IO (Maybe Stack)
stackSwitcherGetStack self =
maybeNull (makeNewObject mkStack) $
(\(StackSwitcher arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_switcher_get_stack argPtr1)
{-# LINE 105 "./Graphics/UI/Gtk/Layout/StackSwitcher.chs" #-}
(toStackSwitcher self)
stackSwitcherIconSize :: StackSwitcherClass self => Attr self Int
stackSwitcherIconSize = newAttrFromIntProperty "icon-size"
stackSwitcherStack :: (StackSwitcherClass self, StackClass stack) =>
ReadWriteAttr self (Maybe Stack) (Maybe stack)
stackSwitcherStack = newAttrFromMaybeObjectProperty "stack" gTypeContainer
foreign import ccall unsafe "gtk_stack_switcher_new"
gtk_stack_switcher_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_stack_switcher_set_stack"
gtk_stack_switcher_set_stack :: ((Ptr StackSwitcher) -> ((Ptr Stack) -> (IO ())))
foreign import ccall safe "gtk_stack_switcher_get_stack"
gtk_stack_switcher_get_stack :: ((Ptr StackSwitcher) -> (IO (Ptr Stack)))