module Graphics.UI.Gtk.Layout.Stack (
Stack
, castToStack
, gTypeStack
, toStack
, StackTransitionType(..)
, stackNew
, stackAddNamed
, stackAddTitled
, stackGetTransitionType
, stackSetTransitionType
, stackSetTransitionDuration
, stackGetTransitionDuration
, stackGetChildByName
, stackSetVisibleChild
, stackSetVisibleChildName
, stackGetVisibleChildName
, stackSetVisibleChildFull
, stackSetHomogeneous
, stackGetHomogeneous
, stackSetHhomogeneous
, stackGetHhomogeneous
, stackSetVhomogeneous
, stackGetVhomogeneous
, stackGetTransitionRunning
, stackSetInterpolateSize
, stackGetInterpolateSize
, stackHhomogeneous
, stackHomogeneous
, stackInterpolateSize
, stackTransitionDuration
, stackTransitionRunning
, stackTransitionType
, stackVhomogeneous
, stackVisibleChild
, stackVisibleChildName
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.General.Enums (StackTransitionType(..))
import Graphics.UI.Gtk.Types
stackNew :: IO Stack
stackNew =
makeNewObject mkStack $
liftM (castPtr :: Ptr Widget -> Ptr Stack) $
gtk_stack_new
stackAddNamed :: (StackClass self, WidgetClass child, GlibString name) => self
-> child
-> name
-> IO ()
stackAddNamed self child name =
withUTFString name $ \namePtr ->
(\(Stack arg1) (Widget arg2) arg3 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_stack_add_named argPtr1 argPtr2 arg3)
(toStack self)
(toWidget child)
namePtr
stackAddTitled :: (StackClass self, WidgetClass child,
GlibString name, GlibString title) => self
-> child
-> name
-> title
-> IO ()
stackAddTitled self child name title =
withUTFString name $ \namePtr ->
withUTFString title $ \titlePtr ->
(\(Stack arg1) (Widget arg2) arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_stack_add_titled argPtr1 argPtr2 arg3 arg4)
(toStack self)
(toWidget child)
namePtr
titlePtr
stackSetTransitionType :: StackClass self => self
-> StackTransitionType
-> IO ()
stackSetTransitionType self transitionType =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_transition_type argPtr1 arg2)
(toStack self)
(fromIntegral $ fromEnum transitionType)
stackGetTransitionType :: StackClass self => self
-> IO StackTransitionType
stackGetTransitionType self =
liftM (toEnum . fromIntegral) $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_transition_type argPtr1)
(toStack self)
stackSetTransitionDuration :: StackClass self => self
-> Int
-> IO ()
stackSetTransitionDuration self duration =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_transition_duration argPtr1 arg2)
(toStack self)
(fromIntegral duration)
stackGetTransitionDuration :: StackClass self => self
-> IO Int
stackGetTransitionDuration self =
liftM fromIntegral $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_transition_duration argPtr1)
(toStack self)
stackGetChildByName :: (StackClass self, GlibString name) => self
-> name
-> IO Widget
stackGetChildByName self name =
withUTFString name $ \namePtr ->
makeNewObject mkWidget $
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_child_by_name argPtr1 arg2)
(toStack self)
namePtr
stackGetVisibleChild :: StackClass self => self
-> IO (Maybe Widget)
stackGetVisibleChild self =
maybeNull (makeNewObject mkWidget) $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_visible_child argPtr1)
(toStack self)
stackSetVisibleChild :: (StackClass self, WidgetClass child) => self
-> child
-> IO ()
stackSetVisibleChild self child =
(\(Stack arg1) (Widget arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_stack_set_visible_child argPtr1 argPtr2)
(toStack self)
(toWidget child)
stackSetVisibleChildName :: (StackClass self, GlibString name) => self
-> name
-> IO ()
stackSetVisibleChildName self name =
withUTFString name $ \namePtr ->
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_visible_child_name argPtr1 arg2)
(toStack self)
namePtr
stackGetVisibleChildName :: (StackClass self, GlibString name) => self
-> IO (Maybe name)
stackGetVisibleChildName self =
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_visible_child_name argPtr1)
(toStack self)
>>= maybePeekUTFString
stackSetVisibleChildFull :: (StackClass self, GlibString name) => self
-> name
-> StackTransitionType
-> IO ()
stackSetVisibleChildFull self name transitionType =
withUTFString name $ \namePtr ->
(\(Stack arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_visible_child_full argPtr1 arg2 arg3)
(toStack self)
namePtr
(fromIntegral $ fromEnum transitionType)
stackSetHomogeneous :: StackClass self => self -> Bool -> IO ()
stackSetHomogeneous self homogeneous =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_homogeneous argPtr1 arg2)
(toStack self)
(fromBool homogeneous)
stackGetHomogeneous :: StackClass self => self -> IO Bool
stackGetHomogeneous self =
liftM toBool $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_homogeneous argPtr1)
(toStack self)
stackSetHhomogeneous :: StackClass self => self -> Bool -> IO ()
stackSetHhomogeneous self hhomogeneous =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_hhomogeneous argPtr1 arg2)
(toStack self)
(fromBool hhomogeneous)
stackGetHhomogeneous :: StackClass self => self -> IO Bool
stackGetHhomogeneous self =
liftM toBool $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_hhomogeneous argPtr1)
(toStack self)
stackSetVhomogeneous :: StackClass self => self -> Bool -> IO ()
stackSetVhomogeneous self vhomogeneous =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_vhomogeneous argPtr1 arg2)
(toStack self)
(fromBool vhomogeneous)
stackGetVhomogeneous :: StackClass self => self -> IO Bool
stackGetVhomogeneous self =
liftM toBool $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_vhomogeneous argPtr1)
(toStack self)
stackGetTransitionRunning :: StackClass self => self -> IO Bool
stackGetTransitionRunning self =
liftM toBool $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_transition_running argPtr1)
(toStack self)
stackGetInterpolateSize :: StackClass self => self -> IO Bool
stackGetInterpolateSize self =
liftM toBool $
(\(Stack arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_get_interpolate_size argPtr1)
(toStack self)
stackSetInterpolateSize :: StackClass self => self -> Bool -> IO ()
stackSetInterpolateSize self interpolateSize =
(\(Stack arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_stack_set_interpolate_size argPtr1 arg2)
(toStack self)
(fromBool interpolateSize)
stackHhomogeneous :: StackClass self => Attr self Bool
stackHhomogeneous = newAttr
stackGetHhomogeneous
stackSetHhomogeneous
stackHomogeneous :: StackClass self => Attr self Bool
stackHomogeneous = newAttr
stackGetHomogeneous
stackSetHomogeneous
stackInterpolateSize :: StackClass self => Attr self Bool
stackInterpolateSize = newAttr
stackGetInterpolateSize
stackSetInterpolateSize
stackTransitionDuration :: StackClass self => Attr self Int
stackTransitionDuration = newAttr
stackGetTransitionDuration
stackSetTransitionDuration
stackTransitionRunning :: StackClass self => ReadAttr self Bool
stackTransitionRunning = readAttr
stackGetTransitionRunning
stackTransitionType :: StackClass self => Attr self StackTransitionType
stackTransitionType = newAttr
stackGetTransitionType
stackSetTransitionType
stackVhomogeneous :: StackClass self => Attr self Bool
stackVhomogeneous = newAttr
stackGetVhomogeneous
stackSetVhomogeneous
stackVisibleChild :: StackClass self =>
ReadWriteAttr self (Maybe Widget) Widget
stackVisibleChild = newAttr
stackGetVisibleChild
stackSetVisibleChild
stackVisibleChildName :: StackClass self => ReadWriteAttr self (Maybe String) String
stackVisibleChildName = newAttr
stackGetVisibleChildName
stackSetVisibleChildName
foreign import ccall unsafe "gtk_stack_new"
gtk_stack_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_stack_add_named"
gtk_stack_add_named :: ((Ptr Stack) -> ((Ptr Widget) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "gtk_stack_add_titled"
gtk_stack_add_titled :: ((Ptr Stack) -> ((Ptr Widget) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ())))))
foreign import ccall unsafe "gtk_stack_set_transition_type"
gtk_stack_set_transition_type :: ((Ptr Stack) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_stack_get_transition_type"
gtk_stack_get_transition_type :: ((Ptr Stack) -> (IO CInt))
foreign import ccall unsafe "gtk_stack_set_transition_duration"
gtk_stack_set_transition_duration :: ((Ptr Stack) -> (CUInt -> (IO ())))
foreign import ccall unsafe "gtk_stack_get_transition_duration"
gtk_stack_get_transition_duration :: ((Ptr Stack) -> (IO CUInt))
foreign import ccall unsafe "gtk_stack_get_child_by_name"
gtk_stack_get_child_by_name :: ((Ptr Stack) -> ((Ptr CChar) -> (IO (Ptr Widget))))
foreign import ccall unsafe "gtk_stack_get_visible_child"
gtk_stack_get_visible_child :: ((Ptr Stack) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_stack_set_visible_child"
gtk_stack_set_visible_child :: ((Ptr Stack) -> ((Ptr Widget) -> (IO ())))
foreign import ccall unsafe "gtk_stack_set_visible_child_name"
gtk_stack_set_visible_child_name :: ((Ptr Stack) -> ((Ptr CChar) -> (IO ())))
foreign import ccall unsafe "gtk_stack_get_visible_child_name"
gtk_stack_get_visible_child_name :: ((Ptr Stack) -> (IO (Ptr CChar)))
foreign import ccall unsafe "gtk_stack_set_visible_child_full"
gtk_stack_set_visible_child_full :: ((Ptr Stack) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_stack_set_homogeneous"
gtk_stack_set_homogeneous :: ((Ptr Stack) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_stack_get_homogeneous"
gtk_stack_get_homogeneous :: ((Ptr Stack) -> (IO CInt))
foreign import ccall safe "gtk_stack_set_hhomogeneous"
gtk_stack_set_hhomogeneous :: ((Ptr Stack) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_stack_get_hhomogeneous"
gtk_stack_get_hhomogeneous :: ((Ptr Stack) -> (IO CInt))
foreign import ccall safe "gtk_stack_set_vhomogeneous"
gtk_stack_set_vhomogeneous :: ((Ptr Stack) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_stack_get_vhomogeneous"
gtk_stack_get_vhomogeneous :: ((Ptr Stack) -> (IO CInt))
foreign import ccall safe "gtk_stack_get_transition_running"
gtk_stack_get_transition_running :: ((Ptr Stack) -> (IO CInt))
foreign import ccall safe "gtk_stack_get_interpolate_size"
gtk_stack_get_interpolate_size :: ((Ptr Stack) -> (IO CInt))
foreign import ccall safe "gtk_stack_set_interpolate_size"
gtk_stack_set_interpolate_size :: ((Ptr Stack) -> (CInt -> (IO ())))