{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QCheckBox ( castQCheckBoxToQAbstractButton, castQAbstractButtonToQCheckBox, castQCheckBoxToQWidget, castQWidgetToQCheckBox, castQCheckBoxToQObject, castQObjectToQCheckBox, QCheckBoxValue (..), QCheckBoxConstPtr (..), checkState, isTristate, QCheckBoxPtr (..), setCheckState, setTristate, QCheckBoxConst (..), castQCheckBoxToConst, QCheckBox (..), castQCheckBoxToNonconst, new, newWithParent, newWithText, newWithTextAndParent, QCheckBoxSuper (..), QCheckBoxSuperConst (..), ) 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.QString as M142 import qualified Graphics.UI.Qtah.Generated.Core.Types as M190 import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M354 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506 import Prelude (($), (.), (/=), (=<<), (==), (>>=)) import qualified Prelude as HoppyP foreign import ccall "genpop__QCheckBox_new" new' :: HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_newWithParent" newWithParent' :: HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_newWithText" newWithText' :: HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_newWithTextAndParent" newWithTextAndParent' :: HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_checkState" checkState' :: HoppyF.Ptr QCheckBoxConst -> HoppyP.IO HoppyFC.CInt foreign import ccall "genpop__QCheckBox_setCheckState" setCheckState' :: HoppyF.Ptr QCheckBox -> HoppyFC.CInt -> HoppyP.IO () foreign import ccall "genpop__QCheckBox_isTristate" isTristate' :: HoppyF.Ptr QCheckBoxConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QCheckBox_setTristate" setTristate' :: HoppyF.Ptr QCheckBox -> HoppyFC.CBool -> HoppyP.IO () foreign import ccall "gencast__QCheckBox__QAbstractButton" castQCheckBoxToQAbstractButton :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M354.QAbstractButtonConst foreign import ccall "gencast__QAbstractButton__QCheckBox" castQAbstractButtonToQCheckBox :: HoppyF.Ptr M354.QAbstractButtonConst -> HoppyF.Ptr QCheckBoxConst foreign import ccall "gencast__QCheckBox__QWidget" castQCheckBoxToQWidget :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M506.QWidgetConst foreign import ccall "gencast__QWidget__QCheckBox" castQWidgetToQCheckBox :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QCheckBoxConst foreign import ccall "gencast__QCheckBox__QObject" castQCheckBoxToQObject :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QCheckBox" castQObjectToQCheckBox :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QCheckBoxConst foreign import ccall "gendel__QCheckBox" delete'QCheckBox :: HoppyF.Ptr QCheckBoxConst -> HoppyP.IO () foreign import ccall "&gendel__QCheckBox" deletePtr'QCheckBox :: HoppyF.FunPtr (HoppyF.Ptr QCheckBoxConst -> HoppyP.IO ()) class QCheckBoxValue a where withQCheckBoxPtr :: a -> (QCheckBoxConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QCheckBoxConstPtr a => QCheckBoxValue a where withQCheckBoxPtr = HoppyP.flip ($) . toQCheckBoxConst class (M354.QAbstractButtonConstPtr this) => QCheckBoxConstPtr this where toQCheckBoxConst :: this -> QCheckBoxConst checkState :: (QCheckBoxValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtCheckState) checkState arg'1 = withQCheckBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( HoppyP.return . HoppyFHR.toCppEnum ) =<< (checkState' arg'1') isTristate :: (QCheckBoxValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool) isTristate arg'1 = withQCheckBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( (HoppyP.return . (/= 0)) ) =<< (isTristate' arg'1') class (QCheckBoxConstPtr this, M354.QAbstractButtonPtr this) => QCheckBoxPtr this where toQCheckBox :: this -> QCheckBox setCheckState :: (QCheckBoxPtr this) => (this) {- ^ this -} -> (M190.QtCheckState) -> (HoppyP.IO ()) setCheckState arg'1 arg'2 = HoppyFHR.withCppPtr (toQCheckBox arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'2 >>= \arg'2' -> (setCheckState' arg'1' arg'2') setTristate :: (QCheckBoxPtr this) => (this) {- ^ this -} -> (HoppyP.Bool) -> (HoppyP.IO ()) setTristate arg'1 arg'2 = HoppyFHR.withCppPtr (toQCheckBox arg'1) $ \arg'1' -> ( \x -> HoppyP.return $ if x then 1 else 0 ) arg'2 >>= \arg'2' -> (setTristate' arg'1' arg'2') data QCheckBoxConst = QCheckBoxConst (HoppyF.Ptr QCheckBoxConst) | QCheckBoxConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QCheckBoxConst) deriving (HoppyP.Show) instance HoppyP.Eq QCheckBoxConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QCheckBoxConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQCheckBoxToConst :: QCheckBox -> QCheckBoxConst castQCheckBoxToConst (QCheckBox ptr') = QCheckBoxConst $ HoppyF.castPtr ptr' castQCheckBoxToConst (QCheckBoxGc fptr' ptr') = QCheckBoxConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QCheckBoxConst where nullptr = QCheckBoxConst HoppyF.nullPtr withCppPtr (QCheckBoxConst ptr') f' = f' ptr' withCppPtr (QCheckBoxConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QCheckBoxConst ptr') = ptr' toPtr (QCheckBoxConstGc _ ptr') = ptr' touchCppPtr (QCheckBoxConst _) = HoppyP.return () touchCppPtr (QCheckBoxConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QCheckBoxConst where delete (QCheckBoxConst ptr') = delete'QCheckBox ptr' delete (QCheckBoxConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QCheckBoxConst", " object."] toGc this'@(QCheckBoxConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCheckBoxConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QCheckBox :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QCheckBoxConstGc {}) = HoppyP.return this' instance QCheckBoxConstPtr QCheckBoxConst where toQCheckBoxConst = HoppyP.id instance M354.QAbstractButtonConstPtr QCheckBoxConst where toQAbstractButtonConst (QCheckBoxConst ptr') = M354.QAbstractButtonConst $ castQCheckBoxToQAbstractButton ptr' toQAbstractButtonConst (QCheckBoxConstGc fptr' ptr') = M354.QAbstractButtonConstGc fptr' $ castQCheckBoxToQAbstractButton ptr' instance M506.QWidgetConstPtr QCheckBoxConst where toQWidgetConst (QCheckBoxConst ptr') = M506.QWidgetConst $ castQCheckBoxToQWidget ptr' toQWidgetConst (QCheckBoxConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQCheckBoxToQWidget ptr' instance M94.QObjectConstPtr QCheckBoxConst where toQObjectConst (QCheckBoxConst ptr') = M94.QObjectConst $ castQCheckBoxToQObject ptr' toQObjectConst (QCheckBoxConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQCheckBoxToQObject ptr' data QCheckBox = QCheckBox (HoppyF.Ptr QCheckBox) | QCheckBoxGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QCheckBox) deriving (HoppyP.Show) instance HoppyP.Eq QCheckBox where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QCheckBox where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQCheckBoxToNonconst :: QCheckBoxConst -> QCheckBox castQCheckBoxToNonconst (QCheckBoxConst ptr') = QCheckBox $ HoppyF.castPtr ptr' castQCheckBoxToNonconst (QCheckBoxConstGc fptr' ptr') = QCheckBoxGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QCheckBox where nullptr = QCheckBox HoppyF.nullPtr withCppPtr (QCheckBox ptr') f' = f' ptr' withCppPtr (QCheckBoxGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QCheckBox ptr') = ptr' toPtr (QCheckBoxGc _ ptr') = ptr' touchCppPtr (QCheckBox _) = HoppyP.return () touchCppPtr (QCheckBoxGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QCheckBox where delete (QCheckBox ptr') = delete'QCheckBox $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QCheckBoxConst) delete (QCheckBoxGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QCheckBox", " object."] toGc this'@(QCheckBox ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCheckBoxGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QCheckBox :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QCheckBoxGc {}) = HoppyP.return this' instance QCheckBoxConstPtr QCheckBox where toQCheckBoxConst (QCheckBox ptr') = QCheckBoxConst $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQCheckBoxConst (QCheckBoxGc fptr' ptr') = QCheckBoxConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance QCheckBoxPtr QCheckBox where toQCheckBox = HoppyP.id instance M354.QAbstractButtonConstPtr QCheckBox where toQAbstractButtonConst (QCheckBox ptr') = M354.QAbstractButtonConst $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQAbstractButtonConst (QCheckBoxGc fptr' ptr') = M354.QAbstractButtonConstGc fptr' $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M354.QAbstractButtonPtr QCheckBox where toQAbstractButton (QCheckBox ptr') = M354.QAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr M354.QAbstractButtonConst -> HoppyF.Ptr M354.QAbstractButton) $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQAbstractButton (QCheckBoxGc fptr' ptr') = M354.QAbstractButtonGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M354.QAbstractButtonConst -> HoppyF.Ptr M354.QAbstractButton) $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M506.QWidgetConstPtr QCheckBox where toQWidgetConst (QCheckBox ptr') = M506.QWidgetConst $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQWidgetConst (QCheckBoxGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M506.QWidgetPtr QCheckBox where toQWidget (QCheckBox ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQWidget (QCheckBoxGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M94.QObjectConstPtr QCheckBox where toQObjectConst (QCheckBox ptr') = M94.QObjectConst $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQObjectConst (QCheckBoxGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M94.QObjectPtr QCheckBox where toQObject (QCheckBox ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQObject (QCheckBoxGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' new :: (HoppyP.IO QCheckBox) new = HoppyP.fmap QCheckBox (new') newWithParent :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.IO QCheckBox) newWithParent arg'1 = HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' -> HoppyP.fmap QCheckBox (newWithParent' arg'1') newWithText :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QCheckBox) newWithText arg'1 = M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QCheckBox (newWithText' arg'1') newWithTextAndParent :: (M142.QStringValue arg'1, M506.QWidgetPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QCheckBox) newWithTextAndParent arg'1 arg'2 = M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' -> HoppyP.fmap QCheckBox (newWithTextAndParent' arg'1' arg'2') class QCheckBoxSuper a where downToQCheckBox :: a -> QCheckBox instance QCheckBoxSuper M354.QAbstractButton where downToQCheckBox = castQCheckBoxToNonconst . cast' . M354.castQAbstractButtonToConst where cast' (M354.QAbstractButtonConst ptr') = QCheckBoxConst $ castQAbstractButtonToQCheckBox ptr' cast' (M354.QAbstractButtonConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQAbstractButtonToQCheckBox ptr' instance QCheckBoxSuper M506.QWidget where downToQCheckBox = castQCheckBoxToNonconst . cast' . M506.castQWidgetToConst where cast' (M506.QWidgetConst ptr') = QCheckBoxConst $ castQWidgetToQCheckBox ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQWidgetToQCheckBox ptr' instance QCheckBoxSuper M94.QObject where downToQCheckBox = castQCheckBoxToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QCheckBoxConst $ castQObjectToQCheckBox ptr' cast' (M94.QObjectConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQObjectToQCheckBox ptr' class QCheckBoxSuperConst a where downToQCheckBoxConst :: a -> QCheckBoxConst instance QCheckBoxSuperConst M354.QAbstractButtonConst where downToQCheckBoxConst = cast' where cast' (M354.QAbstractButtonConst ptr') = QCheckBoxConst $ castQAbstractButtonToQCheckBox ptr' cast' (M354.QAbstractButtonConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQAbstractButtonToQCheckBox ptr' instance QCheckBoxSuperConst M506.QWidgetConst where downToQCheckBoxConst = cast' where cast' (M506.QWidgetConst ptr') = QCheckBoxConst $ castQWidgetToQCheckBox ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQWidgetToQCheckBox ptr' instance QCheckBoxSuperConst M94.QObjectConst where downToQCheckBoxConst = cast' where cast' (M94.QObjectConst ptr') = QCheckBoxConst $ castQObjectToQCheckBox ptr' cast' (M94.QObjectConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQObjectToQCheckBox ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QCheckBox)) QCheckBox where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QCheckBox)) QCheckBox where decode = HoppyP.fmap QCheckBox . HoppyF.peek