{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QSlider ( castQSliderToQAbstractSlider, castQAbstractSliderToQSlider, castQSliderToQWidget, castQWidgetToQSlider, castQSliderToQObject, castQObjectToQSlider, QSliderValue (..), QSliderConstPtr (..), tickInterval, tickPosition, QSliderPtr (..), setTickInterval, setTickPosition, QSliderConst (..), castQSliderToConst, QSlider (..), castQSliderToNonconst, new, newWithParent, newWithOrientation, newWithOrientationAndParent, QSliderSuper (..), QSliderSuperConst (..), QSliderTickPosition (..), ) where import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94 import qualified Graphics.UI.Qtah.Generated.Core.Types as M190 import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractSlider as M364 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506 import Prelude (($), (.), (=<<), (==), (>>=)) import qualified Prelude as HoppyP foreign import ccall "genpop__QSlider_new" new' :: HoppyP.IO (HoppyF.Ptr QSlider) foreign import ccall "genpop__QSlider_newWithParent" newWithParent' :: HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QSlider) foreign import ccall "genpop__QSlider_newWithOrientation" newWithOrientation' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QSlider) foreign import ccall "genpop__QSlider_newWithOrientationAndParent" newWithOrientationAndParent' :: HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QSlider) foreign import ccall "genpop__QSlider_tickInterval" tickInterval' :: HoppyF.Ptr QSliderConst -> HoppyP.IO HoppyFC.CInt foreign import ccall "genpop__QSlider_setTickInterval" setTickInterval' :: HoppyF.Ptr QSlider -> HoppyFC.CInt -> HoppyP.IO () foreign import ccall "genpop__QSlider_tickPosition" tickPosition' :: HoppyF.Ptr QSliderConst -> HoppyP.IO HoppyFC.CInt foreign import ccall "genpop__QSlider_setTickPosition" setTickPosition' :: HoppyF.Ptr QSlider -> HoppyFC.CInt -> HoppyP.IO () foreign import ccall "gencast__QSlider__QAbstractSlider" castQSliderToQAbstractSlider :: HoppyF.Ptr QSliderConst -> HoppyF.Ptr M364.QAbstractSliderConst foreign import ccall "gencast__QAbstractSlider__QSlider" castQAbstractSliderToQSlider :: HoppyF.Ptr M364.QAbstractSliderConst -> HoppyF.Ptr QSliderConst foreign import ccall "gencast__QSlider__QWidget" castQSliderToQWidget :: HoppyF.Ptr QSliderConst -> HoppyF.Ptr M506.QWidgetConst foreign import ccall "gencast__QWidget__QSlider" castQWidgetToQSlider :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QSliderConst foreign import ccall "gencast__QSlider__QObject" castQSliderToQObject :: HoppyF.Ptr QSliderConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QSlider" castQObjectToQSlider :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QSliderConst foreign import ccall "gendel__QSlider" delete'QSlider :: HoppyF.Ptr QSliderConst -> HoppyP.IO () foreign import ccall "&gendel__QSlider" deletePtr'QSlider :: HoppyF.FunPtr (HoppyF.Ptr QSliderConst -> HoppyP.IO ()) class QSliderValue a where withQSliderPtr :: a -> (QSliderConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QSliderConstPtr a => QSliderValue a where withQSliderPtr = HoppyP.flip ($) . toQSliderConst class (M364.QAbstractSliderConstPtr this) => QSliderConstPtr this where toQSliderConst :: this -> QSliderConst tickInterval :: (QSliderValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int) tickInterval arg'1 = withQSliderPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) =<< (tickInterval' arg'1') tickPosition :: (QSliderValue this) => (this) {- ^ this -} -> (HoppyP.IO QSliderTickPosition) tickPosition arg'1 = withQSliderPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( HoppyP.return . HoppyFHR.toCppEnum ) =<< (tickPosition' arg'1') class (QSliderConstPtr this, M364.QAbstractSliderPtr this) => QSliderPtr this where toQSlider :: this -> QSlider setTickInterval :: (QSliderPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO ()) setTickInterval arg'1 arg'2 = HoppyFHR.withCppPtr (toQSlider arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'2 >>= \arg'2' -> (setTickInterval' arg'1' arg'2') setTickPosition :: (QSliderPtr this) => (this) {- ^ this -} -> (QSliderTickPosition) -> (HoppyP.IO ()) setTickPosition arg'1 arg'2 = HoppyFHR.withCppPtr (toQSlider arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'2 >>= \arg'2' -> (setTickPosition' arg'1' arg'2') data QSliderConst = QSliderConst (HoppyF.Ptr QSliderConst) | QSliderConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSliderConst) deriving (HoppyP.Show) instance HoppyP.Eq QSliderConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QSliderConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQSliderToConst :: QSlider -> QSliderConst castQSliderToConst (QSlider ptr') = QSliderConst $ HoppyF.castPtr ptr' castQSliderToConst (QSliderGc fptr' ptr') = QSliderConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QSliderConst where nullptr = QSliderConst HoppyF.nullPtr withCppPtr (QSliderConst ptr') f' = f' ptr' withCppPtr (QSliderConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QSliderConst ptr') = ptr' toPtr (QSliderConstGc _ ptr') = ptr' touchCppPtr (QSliderConst _) = HoppyP.return () touchCppPtr (QSliderConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QSliderConst where delete (QSliderConst ptr') = delete'QSlider ptr' delete (QSliderConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSliderConst", " object."] toGc this'@(QSliderConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSliderConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSlider :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QSliderConstGc {}) = HoppyP.return this' instance QSliderConstPtr QSliderConst where toQSliderConst = HoppyP.id instance M364.QAbstractSliderConstPtr QSliderConst where toQAbstractSliderConst (QSliderConst ptr') = M364.QAbstractSliderConst $ castQSliderToQAbstractSlider ptr' toQAbstractSliderConst (QSliderConstGc fptr' ptr') = M364.QAbstractSliderConstGc fptr' $ castQSliderToQAbstractSlider ptr' instance M506.QWidgetConstPtr QSliderConst where toQWidgetConst (QSliderConst ptr') = M506.QWidgetConst $ castQSliderToQWidget ptr' toQWidgetConst (QSliderConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQSliderToQWidget ptr' instance M94.QObjectConstPtr QSliderConst where toQObjectConst (QSliderConst ptr') = M94.QObjectConst $ castQSliderToQObject ptr' toQObjectConst (QSliderConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSliderToQObject ptr' data QSlider = QSlider (HoppyF.Ptr QSlider) | QSliderGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSlider) deriving (HoppyP.Show) instance HoppyP.Eq QSlider where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QSlider where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQSliderToNonconst :: QSliderConst -> QSlider castQSliderToNonconst (QSliderConst ptr') = QSlider $ HoppyF.castPtr ptr' castQSliderToNonconst (QSliderConstGc fptr' ptr') = QSliderGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QSlider where nullptr = QSlider HoppyF.nullPtr withCppPtr (QSlider ptr') f' = f' ptr' withCppPtr (QSliderGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QSlider ptr') = ptr' toPtr (QSliderGc _ ptr') = ptr' touchCppPtr (QSlider _) = HoppyP.return () touchCppPtr (QSliderGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QSlider where delete (QSlider ptr') = delete'QSlider $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QSliderConst) delete (QSliderGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSlider", " object."] toGc this'@(QSlider ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSliderGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSlider :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QSliderGc {}) = HoppyP.return this' instance QSliderConstPtr QSlider where toQSliderConst (QSlider ptr') = QSliderConst $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQSliderConst (QSliderGc fptr' ptr') = QSliderConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance QSliderPtr QSlider where toQSlider = HoppyP.id instance M364.QAbstractSliderConstPtr QSlider where toQAbstractSliderConst (QSlider ptr') = M364.QAbstractSliderConst $ castQSliderToQAbstractSlider $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQAbstractSliderConst (QSliderGc fptr' ptr') = M364.QAbstractSliderConstGc fptr' $ castQSliderToQAbstractSlider $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance M364.QAbstractSliderPtr QSlider where toQAbstractSlider (QSlider ptr') = M364.QAbstractSlider $ (HoppyF.castPtr :: HoppyF.Ptr M364.QAbstractSliderConst -> HoppyF.Ptr M364.QAbstractSlider) $ castQSliderToQAbstractSlider $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQAbstractSlider (QSliderGc fptr' ptr') = M364.QAbstractSliderGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M364.QAbstractSliderConst -> HoppyF.Ptr M364.QAbstractSlider) $ castQSliderToQAbstractSlider $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance M506.QWidgetConstPtr QSlider where toQWidgetConst (QSlider ptr') = M506.QWidgetConst $ castQSliderToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQWidgetConst (QSliderGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQSliderToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance M506.QWidgetPtr QSlider where toQWidget (QSlider ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQSliderToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQWidget (QSliderGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQSliderToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance M94.QObjectConstPtr QSlider where toQObjectConst (QSlider ptr') = M94.QObjectConst $ castQSliderToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQObjectConst (QSliderGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSliderToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' instance M94.QObjectPtr QSlider where toQObject (QSlider ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSliderToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' toQObject (QSliderGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSliderToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSlider -> HoppyF.Ptr QSliderConst) ptr' new :: (HoppyP.IO QSlider) new = HoppyP.fmap QSlider (new') newWithParent :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.IO QSlider) newWithParent arg'1 = HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' -> HoppyP.fmap QSlider (newWithParent' arg'1') newWithOrientation :: (M190.QtOrientation) -> (HoppyP.IO QSlider) newWithOrientation arg'1 = ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'1 >>= \arg'1' -> HoppyP.fmap QSlider (newWithOrientation' arg'1') newWithOrientationAndParent :: (M506.QWidgetPtr arg'2) => (M190.QtOrientation) -> (arg'2) -> (HoppyP.IO QSlider) newWithOrientationAndParent arg'1 arg'2 = ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'1 >>= \arg'1' -> HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' -> HoppyP.fmap QSlider (newWithOrientationAndParent' arg'1' arg'2') class QSliderSuper a where downToQSlider :: a -> QSlider instance QSliderSuper M364.QAbstractSlider where downToQSlider = castQSliderToNonconst . cast' . M364.castQAbstractSliderToConst where cast' (M364.QAbstractSliderConst ptr') = QSliderConst $ castQAbstractSliderToQSlider ptr' cast' (M364.QAbstractSliderConstGc fptr' ptr') = QSliderConstGc fptr' $ castQAbstractSliderToQSlider ptr' instance QSliderSuper M506.QWidget where downToQSlider = castQSliderToNonconst . cast' . M506.castQWidgetToConst where cast' (M506.QWidgetConst ptr') = QSliderConst $ castQWidgetToQSlider ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QSliderConstGc fptr' $ castQWidgetToQSlider ptr' instance QSliderSuper M94.QObject where downToQSlider = castQSliderToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QSliderConst $ castQObjectToQSlider ptr' cast' (M94.QObjectConstGc fptr' ptr') = QSliderConstGc fptr' $ castQObjectToQSlider ptr' class QSliderSuperConst a where downToQSliderConst :: a -> QSliderConst instance QSliderSuperConst M364.QAbstractSliderConst where downToQSliderConst = cast' where cast' (M364.QAbstractSliderConst ptr') = QSliderConst $ castQAbstractSliderToQSlider ptr' cast' (M364.QAbstractSliderConstGc fptr' ptr') = QSliderConstGc fptr' $ castQAbstractSliderToQSlider ptr' instance QSliderSuperConst M506.QWidgetConst where downToQSliderConst = cast' where cast' (M506.QWidgetConst ptr') = QSliderConst $ castQWidgetToQSlider ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QSliderConstGc fptr' $ castQWidgetToQSlider ptr' instance QSliderSuperConst M94.QObjectConst where downToQSliderConst = cast' where cast' (M94.QObjectConst ptr') = QSliderConst $ castQObjectToQSlider ptr' cast' (M94.QObjectConstGc fptr' ptr') = QSliderConstGc fptr' $ castQObjectToQSlider ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QSlider)) QSlider where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QSlider)) QSlider where decode = HoppyP.fmap QSlider . HoppyF.peek data QSliderTickPosition = NoTicks | TicksBothSides | TicksAbove | TicksBelow | TicksLeft | TicksRight | UnknownQSliderTickPosition (HoppyFC.CInt) deriving (HoppyP.Show) instance HoppyFHR.CppEnum (HoppyFC.CInt) QSliderTickPosition where fromCppEnum NoTicks = 0 fromCppEnum TicksBothSides = 3 fromCppEnum TicksAbove = 1 fromCppEnum TicksBelow = 2 fromCppEnum TicksLeft = 1 fromCppEnum TicksRight = 2 fromCppEnum (UnknownQSliderTickPosition n) = n toCppEnum (0) = NoTicks toCppEnum (1) = TicksLeft toCppEnum (2) = TicksRight toCppEnum (3) = TicksBothSides toCppEnum n = UnknownQSliderTickPosition n instance HoppyP.Eq QSliderTickPosition where x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y instance HoppyP.Ord QSliderTickPosition where compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)