{-# LINE 1 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
{-# LANGUAGE CPP, ExistentialQuantification, TypeSynonymInstances, FlexibleInstances, MultiParamTypeClasses, FlexibleContexts, ScopedTypeVariables #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Graphics.UI.FLTK.LowLevel.FileBrowser
(
fileBrowserNew,
FileBrowserType(..),
FileSortF,
numericSort,
alphaSort,
caseAlphaSort,
caseNumericSort
)
where
import qualified Foreign.C.String as C2HSImp
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_Types
import Graphics.UI.FLTK.LowLevel.Utils
import Graphics.UI.FLTK.LowLevel.Hierarchy
import Graphics.UI.FLTK.LowLevel.Dispatch
type FileSortF = C2HSImp.FunPtr (((C2HSImp.Ptr (C2HSImp.Ptr ())) -> ((C2HSImp.Ptr (C2HSImp.Ptr ())) -> (IO C2HSImp.CInt))))
{-# LINE 34 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
fileBrowserNew' :: (Int) -> (Int) -> (Int) -> (Int) -> IO ((Ptr ()))
fileBrowserNew' a1 a2 a3 a4 =
let {a1' = fromIntegral a1} in
let {a2' = fromIntegral a2} in
let {a3' = fromIntegral a3} in
let {a4' = fromIntegral a4} in
fileBrowserNew''_ a1' a2' a3' a4' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 35 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
fileBrowserNewWithLabel' :: (Int) -> (Int) -> (Int) -> (Int) -> (String) -> IO ((Ptr ()))
fileBrowserNewWithLabel' 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
fileBrowserNewWithLabel''_ a1' a2' a3' a4' a5' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 36 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
fileBrowserNew :: Rectangle -> Maybe String -> IO (Ref FileBrowser)
fileBrowserNew rectangle l'=
let (x_pos, y_pos, width, height) = fromRectangle rectangle
in case l' of
Nothing -> fileBrowserNew' x_pos y_pos width height >>=
toRef
Just l -> fileBrowserNewWithLabel' x_pos y_pos width height l >>=
toRef
setIconsize' :: (Ptr ()) -> (CUChar) -> IO ()
setIconsize' a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
setIconsize''_ a1' a2' >>
return ()
{-# LINE 46 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ (CUChar -> IO ())) => Op (SetIconsize ()) FileBrowser orig impl where
runOp _ _ fileBrowser text = withRef fileBrowser $ \fileBrowserPtr -> setIconsize' fileBrowserPtr text
iconsize' :: (Ptr ()) -> IO ((CUChar))
iconsize' a1 =
let {a1' = id a1} in
iconsize''_ a1' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 49 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ ( IO (CUChar))) => Op (GetIconsize ()) FileBrowser orig impl where
runOp _ _ fileBrowser = withRef fileBrowser $ \fileBrowserPtr -> iconsize' fileBrowserPtr
setFilter' :: (Ptr ()) -> (String) -> IO ()
setFilter' a1 a2 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
setFilter''_ a1' a2' >>
return ()
{-# LINE 52 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ (String -> IO ())) => Op (SetFilter ()) FileBrowser orig impl where
runOp _ _ fileBrowser text = withRef fileBrowser $ \fileBrowserPtr -> setFilter' fileBrowserPtr text
filter' :: (Ptr ()) -> IO ((String))
filter' a1 =
let {a1' = id a1} in
filter''_ a1' >>= \res ->
let {res' = unsafeFromCString res} in
return (res')
{-# LINE 55 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ ( IO (String))) => Op (GetFilter ()) FileBrowser orig impl where
runOp _ _ fileBrowser = withRef fileBrowser $ \fileBrowserPtr -> filter' fileBrowserPtr
setTextsize' :: (Ptr ()) -> (CInt) -> IO ()
setTextsize' a1 a2 =
let {a1' = id a1} in
let {a2' = id a2} in
setTextsize''_ a1' a2' >>
return ()
{-# LINE 58 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ (FontSize -> IO ())) => Op (SetTextsize ()) FileBrowser orig impl where
runOp _ _ fileBrowser (FontSize text) = withRef fileBrowser $ \fileBrowserPtr -> setTextsize' fileBrowserPtr text
textsize' :: (Ptr ()) -> IO ((CInt))
textsize' a1 =
let {a1' = id a1} in
textsize''_ a1' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 61 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ ( IO (FontSize))) => Op (GetTextsize ()) FileBrowser orig impl where
runOp _ _ fileBrowser = withRef fileBrowser $ \fileBrowserPtr -> textsize' fileBrowserPtr >>= return . FontSize
setFileType' :: (Ptr ()) -> (Word8) -> IO ((()))
setFileType' a1 a2 =
let {a1' = id a1} in
let {a2' = fromIntegral a2} in
setFileType''_ a1' a2' >>= \res ->
let {res' = supressWarningAboutRes res} in
return (res')
{-# LINE 64 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ (FileBrowserType -> IO ())) => Op (SetFiletype ()) FileBrowser orig impl where
runOp _ _ widget t = withRef widget $ \widgetPtr -> setFileType' widgetPtr (fromInteger $ toInteger $ fromEnum t)
filetype' :: (Ptr ()) -> IO ((Word8))
filetype' a1 =
let {a1' = id a1} in
filetype''_ a1' >>= \res ->
let {res' = fromIntegral res} in
return (res')
{-# LINE 67 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ IO (FileBrowserType)) => Op (GetFiletype ()) FileBrowser orig impl where
runOp _ _ widget = withRef widget $ \widgetPtr -> filetype' widgetPtr >>= return . toEnum . fromInteger . toInteger
load' :: (Ptr ()) -> (String) -> (FileSortF) -> IO ((CInt))
load' a1 a2 a3 =
let {a1' = id a1} in
C2HSImp.withCString a2 $ \a2' ->
let {a3' = id a3} in
load''_ a1' a2' a3' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 70 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
instance (impl ~ (String -> FileSortF -> IO (Either UnknownError ()))) => Op (Load ()) FileBrowser orig impl where
runOp _ _ widget dir sortF = withRef widget $ \widgetPtr -> do
status <- load' widgetPtr dir sortF
return (if (status == 0) then (Left UnknownError) else (Right ()))
numericSort :: IO ((FileSortF))
numericSort =
numericSort'_ >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 76 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
alphaSort :: IO ((FileSortF))
alphaSort =
alphaSort'_ >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 77 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
caseAlphaSort :: IO ((FileSortF))
caseAlphaSort =
caseAlphaSort'_ >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 78 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
caseNumericSort :: IO ((FileSortF))
caseNumericSort =
caseNumericSort'_ >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 79 "src/Graphics/UI/FLTK/LowLevel/FileBrowser.chs" #-}
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_New"
fileBrowserNew''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ()))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_New_WithLabel"
fileBrowserNewWithLabel''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ())))))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_set_iconsize"
setIconsize''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CUChar -> (IO ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_iconsize"
iconsize''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CUChar))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_set_filter"
setFilter''_ :: ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_filter"
filter''_ :: ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr C2HSImp.CChar)))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_set_textsize"
setTextsize''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_textsize"
textsize''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_set_filetype"
setFileType''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO ())))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_filetype"
filetype''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h Fl_File_Browser_load"
load''_ :: ((C2HSImp.Ptr ()) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((FileSortF) -> (IO C2HSImp.CInt))))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h fl_numericsort_reference"
numericSort'_ :: (IO (FileSortF))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h fl_alphasort_reference"
alphaSort'_ :: (IO (FileSortF))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h fl_casealphasort_reference"
caseAlphaSort'_ :: (IO (FileSortF))
foreign import ccall safe "Graphics/UI/FLTK/LowLevel/FileBrowser.chs.h fl_casenumericsort_reference"
caseNumericSort'_ :: (IO (FileSortF))