module Qtc.Enums.Core.QDir (
Filter, Filters, eDirs, fDirs, eFiles, fFiles, eDrives, fDrives, eNoSymLinks, fNoSymLinks, eAllEntries, fAllEntries, eTypeMask, fTypeMask, eReadable, fReadable, eWritable, fWritable, eExecutable, fExecutable, ePermissionMask, fPermissionMask, eModified, fModified, eHidden, fHidden, fSystem, eAccessMask, fAccessMask, eAllDirs, fAllDirs, fCaseSensitive, eNoDotAndDotDot, fNoDotAndDotDot, eNoFilter, fNoFilter
, SortFlag, SortFlags, fName, fTime, fSize, eUnsorted, fUnsorted, eSortByMask, fSortByMask, eDirsFirst, fDirsFirst, eReversed, fReversed, eIgnoreCase, fIgnoreCase, eDirsLast, fDirsLast, eLocaleAware, fLocaleAware, fType, eNoSort, fNoSort
)
where
import Foreign.C.Types
import Qtc.Classes.Base
import Qtc.ClassTypes.Core (QObject, TQObject, qObjectFromPtr)
import Qtc.Core.Base (Qcs, connectSlot, qtc_connectSlot_int, wrapSlotHandler_int)
import Qtc.Enums.Base
import Qtc.Enums.Classes.Core
data CFilter a = CFilter a
type Filter = QEnum(CFilter Int)
ieFilter :: Int -> Filter
ieFilter x = QEnum (CFilter x)
instance QEnumC (CFilter Int) where
qEnum_toInt (QEnum (CFilter x)) = x
qEnum_fromInt x = QEnum (CFilter x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> Filter -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
data CFilters a = CFilters a
type Filters = QFlags(CFilters Int)
ifFilters :: Int -> Filters
ifFilters x = QFlags (CFilters x)
instance QFlagsC (CFilters Int) where
qFlags_toInt (QFlags (CFilters x)) = x
qFlags_fromInt x = QFlags (CFilters x)
withQFlagsResult x
= do
ti <- x
return $ qFlags_fromInt $ fromIntegral ti
withQFlagsListResult x
= do
til <- x
return $ map qFlags_fromInt til
instance Qcs (QObject c -> Filters -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qFlags_fromInt hint)
return ()
eDirs :: Filter
eDirs
= ieFilter $ 1
eFiles :: Filter
eFiles
= ieFilter $ 2
eDrives :: Filter
eDrives
= ieFilter $ 4
eNoSymLinks :: Filter
eNoSymLinks
= ieFilter $ 8
eAllEntries :: Filter
eAllEntries
= ieFilter $ 7
eTypeMask :: Filter
eTypeMask
= ieFilter $ 15
eReadable :: Filter
eReadable
= ieFilter $ 16
eWritable :: Filter
eWritable
= ieFilter $ 32
eExecutable :: Filter
eExecutable
= ieFilter $ 64
ePermissionMask :: Filter
ePermissionMask
= ieFilter $ 112
eModified :: Filter
eModified
= ieFilter $ 128
eHidden :: Filter
eHidden
= ieFilter $ 256
instance QeSystem Filter where
eSystem
= ieFilter $ 512
eAccessMask :: Filter
eAccessMask
= ieFilter $ 1008
eAllDirs :: Filter
eAllDirs
= ieFilter $ 1024
instance QeCaseSensitive Filter where
eCaseSensitive
= ieFilter $ 2048
eNoDotAndDotDot :: Filter
eNoDotAndDotDot
= ieFilter $ 4096
eNoFilter :: Filter
eNoFilter
= ieFilter $ 1
fDirs :: Filters
fDirs
= ifFilters $ 1
fFiles :: Filters
fFiles
= ifFilters $ 2
fDrives :: Filters
fDrives
= ifFilters $ 4
fNoSymLinks :: Filters
fNoSymLinks
= ifFilters $ 8
fAllEntries :: Filters
fAllEntries
= ifFilters $ 7
fTypeMask :: Filters
fTypeMask
= ifFilters $ 15
fReadable :: Filters
fReadable
= ifFilters $ 16
fWritable :: Filters
fWritable
= ifFilters $ 32
fExecutable :: Filters
fExecutable
= ifFilters $ 64
fPermissionMask :: Filters
fPermissionMask
= ifFilters $ 112
fModified :: Filters
fModified
= ifFilters $ 128
fHidden :: Filters
fHidden
= ifFilters $ 256
fSystem :: Filters
fSystem
= ifFilters $ 512
fAccessMask :: Filters
fAccessMask
= ifFilters $ 1008
fAllDirs :: Filters
fAllDirs
= ifFilters $ 1024
fCaseSensitive :: Filters
fCaseSensitive
= ifFilters $ 2048
fNoDotAndDotDot :: Filters
fNoDotAndDotDot
= ifFilters $ 4096
fNoFilter :: Filters
fNoFilter
= ifFilters $ 1
data CSortFlag a = CSortFlag a
type SortFlag = QEnum(CSortFlag Int)
ieSortFlag :: Int -> SortFlag
ieSortFlag x = QEnum (CSortFlag x)
instance QEnumC (CSortFlag Int) where
qEnum_toInt (QEnum (CSortFlag x)) = x
qEnum_fromInt x = QEnum (CSortFlag x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> SortFlag -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
data CSortFlags a = CSortFlags a
type SortFlags = QFlags(CSortFlags Int)
ifSortFlags :: Int -> SortFlags
ifSortFlags x = QFlags (CSortFlags x)
instance QFlagsC (CSortFlags Int) where
qFlags_toInt (QFlags (CSortFlags x)) = x
qFlags_fromInt x = QFlags (CSortFlags x)
withQFlagsResult x
= do
ti <- x
return $ qFlags_fromInt $ fromIntegral ti
withQFlagsListResult x
= do
til <- x
return $ map qFlags_fromInt til
instance Qcs (QObject c -> SortFlags -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qFlags_fromInt hint)
return ()
instance QeName SortFlag where
eName
= ieSortFlag $ 0
instance QeTime SortFlag where
eTime
= ieSortFlag $ 1
instance QeSize SortFlag where
eSize
= ieSortFlag $ 2
eUnsorted :: SortFlag
eUnsorted
= ieSortFlag $ 3
eSortByMask :: SortFlag
eSortByMask
= ieSortFlag $ 3
eDirsFirst :: SortFlag
eDirsFirst
= ieSortFlag $ 4
eReversed :: SortFlag
eReversed
= ieSortFlag $ 8
eIgnoreCase :: SortFlag
eIgnoreCase
= ieSortFlag $ 16
eDirsLast :: SortFlag
eDirsLast
= ieSortFlag $ 32
eLocaleAware :: SortFlag
eLocaleAware
= ieSortFlag $ 64
instance QeType SortFlag where
eType
= ieSortFlag $ 128
eNoSort :: SortFlag
eNoSort
= ieSortFlag $ 1
fName :: SortFlags
fName
= ifSortFlags $ 0
fTime :: SortFlags
fTime
= ifSortFlags $ 1
fSize :: SortFlags
fSize
= ifSortFlags $ 2
fUnsorted :: SortFlags
fUnsorted
= ifSortFlags $ 3
fSortByMask :: SortFlags
fSortByMask
= ifSortFlags $ 3
fDirsFirst :: SortFlags
fDirsFirst
= ifSortFlags $ 4
fReversed :: SortFlags
fReversed
= ifSortFlags $ 8
fIgnoreCase :: SortFlags
fIgnoreCase
= ifSortFlags $ 16
fDirsLast :: SortFlags
fDirsLast
= ifSortFlags $ 32
fLocaleAware :: SortFlags
fLocaleAware
= ifSortFlags $ 64
fType :: SortFlags
fType
= ifSortFlags $ 128
fNoSort :: SortFlags
fNoSort
= ifSortFlags $ 1