{-# LINE 1 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
{-# LANGUAGE CPP, TypeSynonymInstances, FlexibleInstances, MultiParamTypeClasses, FlexibleContexts, UndecidableInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Graphics.UI.FLTK.LowLevel.Tabs
(
tabsNew,
TabsHeightOffset(..)
)
where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import C2HS hiding (cFromEnum, cFromBool, cToBool,cToEnum)
import Foreign.C.Types
import Graphics.UI.FLTK.LowLevel.Fl_Enumerations
import Graphics.UI.FLTK.LowLevel.Fl_Types
import Graphics.UI.FLTK.LowLevel.Utils
import Graphics.UI.FLTK.LowLevel.Dispatch
import qualified Data.Text as T
import Graphics.UI.FLTK.LowLevel.Hierarchy
data TabsHeightOffset = TabsAtTop (Maybe Int) | TabsAtBottom (Maybe Int)
tabsNew' :: (Int) -> (Int) -> (Int) -> (Int) -> IO ((Ptr ()))
tabsNew' a1 a2 a3 a4 =
let {a1' = fromIntegral a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
let {a4' = fromIntegral a4} in
tabsNew''_ a1' a2' a3' a4' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 31 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
tabsNewWithLabel' :: (Int) -> (Int) -> (Int) -> (Int) -> (T.Text) -> IO ((Ptr ()))
tabsNewWithLabel' a1 a2 a3 a4 a5 =
let {a1' = fromIntegral a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
let {a4' = fromIntegral a4} in
let {a5' = unsafeToCString a5} in
tabsNewWithLabel''_ a1' a2' a3' a4' a5' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 32 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
tabsNew :: Rectangle -> Maybe T.Text -> IO (Ref Tabs)
tabsNew rectangle l' =
let (x_pos, y_pos, width, height) = fromRectangle rectangle
in case l' of
Nothing -> tabsNew' x_pos y_pos width height >>= toRef
Just l -> tabsNewWithLabel' x_pos y_pos width height l >>= toRef
handle' :: (Ptr ()) -> (Int) -> IO ((Int))
handle' a1 a2 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
handle''_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 40 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (impl ~ (Event -> IO (Either UnknownEvent ()))) => Op (Handle ()) Tabs orig impl where
runOp _ _ tabs event = withRef tabs (\p -> handle' p (fromIntegral . fromEnum $ event)) >>= return . successOrUnknownEvent
value' :: (Ptr ()) -> IO ((Ptr ()))
value' a1 =
let {a1' = id a1} in
value''_ a1' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 44 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (impl ~ (IO (Maybe (Ref Widget)))) => Op (GetValue ()) Tabs orig impl where
runOp _ _ tabs = withRef tabs $ \tabsPtr -> value' tabsPtr >>= toMaybeRef
setValue' :: (Ptr ()) -> (Ptr ()) -> IO ((Int))
setValue' a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
setValue''_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 48 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (Parent a Widget, impl ~ (Maybe ( Ref a ) -> IO (Either NoChange ()))) => Op (SetValue ()) Tabs orig impl where
runOp _ _ tabs w = withRef tabs $ \tabsPtr -> withMaybeRef w $ \wPtr -> setValue' tabsPtr wPtr >>= return . successOrNoChange
push' :: (Ptr ()) -> IO ((Ptr ()))
push' a1 =
let {a1' = id a1} in
push''_ a1' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 52 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (impl ~ (IO (Maybe (Ref Widget)))) => Op (GetPush ()) Tabs orig impl where
runOp _ _ tabs = withRef tabs $ \tabsPtr -> push' tabsPtr >>= toMaybeRef
setPush' :: (Ptr ()) -> (Ptr ()) -> IO ((Int))
setPush' a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
setPush''_ a1' a2' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 56 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (Parent a Widget, impl ~ (Maybe ( Ref a ) -> IO (Either NoChange ()))) => Op (SetPush ()) Tabs orig impl where
runOp _ _ tabs w = withRef tabs $ \tabsPtr -> withMaybeRef w $ \wPtr -> setPush' tabsPtr wPtr >>= return . successOrNoChange
which' :: (Ptr ()) -> (Int) -> (Int) -> IO ((Ptr ()))
which' a1 a2 a3 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
which''_ a1' a2' a3' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 60 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (impl ~ (Position -> IO (Maybe (Ref Widget)))) => Op (Which ()) Tabs orig impl where
runOp _ _ tabs (Position (X event_x) (Y event_y)) = withRef tabs $ \tabsPtr -> which' tabsPtr event_x event_y >>= toMaybeRef
clientAreaWithTabh' :: (Ptr ()) -> (Int) -> IO ((Int), (Int), (Int), (Int))
clientAreaWithTabh' a1 a6 =
let {a1' = id a1} in
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
let {a6' = fromIntegral a6} in
clientAreaWithTabh''_ a1' a2' a3' a4' a5' a6' >>
peekIntConv a2'>>= \a2'' ->
peekIntConv a3'>>= \a3'' ->
peekIntConv a4'>>= \a4'' ->
peekIntConv a5'>>= \a5'' ->
return (a2'', a3'', a4'', a5'')
{-# LINE 64 "src/Graphics/UI/FLTK/LowLevel/Tabs.chs" #-}
instance (impl ~ (TabsHeightOffset -> IO Rectangle)) => Op (ClientArea ()) Tabs orig impl where
runOp _ _ tabs tabh =
withRef tabs $ \tabsPtr ->
case tabh of
TabsAtTop Nothing -> clientAreaWithTabh' tabsPtr 0 >>= return . toRectangle
TabsAtTop (Just o) -> clientAreaWithTabh' tabsPtr o >>= return . toRectangle
TabsAtBottom Nothing -> clientAreaWithTabh' tabsPtr (-1) >>= return . toRectangle
TabsAtBottom (Just o) -> clientAreaWithTabh' tabsPtr (0 - o) >>= return . toRectangle
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_New"
tabsNew''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ()))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_New_WithLabel"
tabsNewWithLabel''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ())))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_handle"
handle''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_value"
value''_ :: ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_set_value"
setValue''_ :: ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_push"
push''_ :: ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_set_push"
setPush''_ :: ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt)))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_which"
which''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ())))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Tabs.chs.h Fl_Tabs_client_area_with_tabh"
clientAreaWithTabh''_ :: ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CInt) -> ((C2HSImp.Ptr C2HSImp.CInt) -> (C2HSImp.CInt -> (IO ())))))))