{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} #if !MIN_VERSION_base(4,8,0) {-# LANGUAGE OverlappingInstances #-} #endif ---------- 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 M30 import qualified Graphics.UI.Qtah.Generated.Core.QString as M46 import qualified Graphics.UI.Qtah.Generated.Core.Types as M58 import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M162 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M280 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 M280.QWidget -> HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_newWithText" newWithText' :: HoppyF.Ptr M46.QStringConst -> HoppyP.IO (HoppyF.Ptr QCheckBox) foreign import ccall "genpop__QCheckBox_newWithTextAndParent" newWithTextAndParent' :: HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M280.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 HoppyFHR.CBool foreign import ccall "genpop__QCheckBox_setTristate" setTristate' :: HoppyF.Ptr QCheckBox -> HoppyFHR.CBool -> HoppyP.IO () foreign import ccall "gencast__QCheckBox__QAbstractButton" castQCheckBoxToQAbstractButton :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M162.QAbstractButtonConst foreign import ccall "gencast__QAbstractButton__QCheckBox" castQAbstractButtonToQCheckBox :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr QCheckBoxConst foreign import ccall "gencast__QCheckBox__QWidget" castQCheckBoxToQWidget :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M280.QWidgetConst foreign import ccall "gencast__QWidget__QCheckBox" castQWidgetToQCheckBox :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr QCheckBoxConst foreign import ccall "gencast__QCheckBox__QObject" castQCheckBoxToQObject :: HoppyF.Ptr QCheckBoxConst -> HoppyF.Ptr M30.QObjectConst foreign import ccall "gencast__QObject__QCheckBox" castQObjectToQCheckBox :: HoppyF.Ptr M30.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 #if MIN_VERSION_base(4,8,0) instance {-# OVERLAPPABLE #-} QCheckBoxConstPtr a => QCheckBoxValue a where #else instance QCheckBoxConstPtr a => QCheckBoxValue a where #endif withQCheckBoxPtr = HoppyP.flip ($) . toQCheckBoxConst class (M162.QAbstractButtonConstPtr this) => QCheckBoxConstPtr this where toQCheckBoxConst :: this -> QCheckBoxConst checkState :: (QCheckBoxValue arg'1) => arg'1 -> HoppyP.IO M58.QtCheckState checkState arg'1 = withQCheckBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral) (checkState' arg'1') isTristate :: (QCheckBoxValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool isTristate arg'1 = withQCheckBoxPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap (/= 0) (isTristate' arg'1') class (QCheckBoxConstPtr this, M162.QAbstractButtonPtr this) => QCheckBoxPtr this where toQCheckBox :: this -> QCheckBox setCheckState :: (QCheckBoxPtr arg'1) => arg'1 -> M58.QtCheckState -> HoppyP.IO () setCheckState arg'1 arg'2 = HoppyFHR.withCppPtr (toQCheckBox arg'1) $ \arg'1' -> let arg'2' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'2 in (setCheckState' arg'1' arg'2') setTristate :: (QCheckBoxPtr arg'1) => arg'1 -> HoppyP.Bool -> HoppyP.IO () setTristate arg'1 arg'2 = HoppyFHR.withCppPtr (toQCheckBox arg'1) $ \arg'1' -> let arg'2' = if arg'2 then 1 else 0 in (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 M162.QAbstractButtonConstPtr QCheckBoxConst where toQAbstractButtonConst (QCheckBoxConst ptr') = M162.QAbstractButtonConst $ castQCheckBoxToQAbstractButton ptr' toQAbstractButtonConst (QCheckBoxConstGc fptr' ptr') = M162.QAbstractButtonConstGc fptr' $ castQCheckBoxToQAbstractButton ptr' instance M280.QWidgetConstPtr QCheckBoxConst where toQWidgetConst (QCheckBoxConst ptr') = M280.QWidgetConst $ castQCheckBoxToQWidget ptr' toQWidgetConst (QCheckBoxConstGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQCheckBoxToQWidget ptr' instance M30.QObjectConstPtr QCheckBoxConst where toQObjectConst (QCheckBoxConst ptr') = M30.QObjectConst $ castQCheckBoxToQObject ptr' toQObjectConst (QCheckBoxConstGc fptr' ptr') = M30.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 M162.QAbstractButtonConstPtr QCheckBox where toQAbstractButtonConst (QCheckBox ptr') = M162.QAbstractButtonConst $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQAbstractButtonConst (QCheckBoxGc fptr' ptr') = M162.QAbstractButtonConstGc fptr' $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M162.QAbstractButtonPtr QCheckBox where toQAbstractButton (QCheckBox ptr') = M162.QAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr M162.QAbstractButton) $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQAbstractButton (QCheckBoxGc fptr' ptr') = M162.QAbstractButtonGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr M162.QAbstractButton) $ castQCheckBoxToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M280.QWidgetConstPtr QCheckBox where toQWidgetConst (QCheckBox ptr') = M280.QWidgetConst $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQWidgetConst (QCheckBoxGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M280.QWidgetPtr QCheckBox where toQWidget (QCheckBox ptr') = M280.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQWidget (QCheckBoxGc fptr' ptr') = M280.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQCheckBoxToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M30.QObjectConstPtr QCheckBox where toQObjectConst (QCheckBox ptr') = M30.QObjectConst $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQObjectConst (QCheckBoxGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' instance M30.QObjectPtr QCheckBox where toQObject (QCheckBox ptr') = M30.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' toQObject (QCheckBoxGc fptr' ptr') = M30.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQCheckBoxToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QCheckBox -> HoppyF.Ptr QCheckBoxConst) ptr' new :: HoppyP.IO QCheckBox new = HoppyP.fmap QCheckBox (new') newWithParent :: (M280.QWidgetPtr arg'1) => arg'1 -> HoppyP.IO QCheckBox newWithParent arg'1 = HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' -> HoppyP.fmap QCheckBox (newWithParent' arg'1') newWithText :: (M46.QStringValue arg'1) => arg'1 -> HoppyP.IO QCheckBox newWithText arg'1 = M46.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QCheckBox (newWithText' arg'1') newWithTextAndParent :: (M46.QStringValue arg'1, M280.QWidgetPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO QCheckBox newWithTextAndParent arg'1 arg'2 = M46.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyFHR.withCppPtr (M280.toQWidget arg'2) $ \arg'2' -> HoppyP.fmap QCheckBox (newWithTextAndParent' arg'1' arg'2') class QCheckBoxSuper a where downToQCheckBox :: a -> QCheckBox instance QCheckBoxSuper M162.QAbstractButton where downToQCheckBox = castQCheckBoxToNonconst . cast' . M162.castQAbstractButtonToConst where cast' (M162.QAbstractButtonConst ptr') = QCheckBoxConst $ castQAbstractButtonToQCheckBox ptr' cast' (M162.QAbstractButtonConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQAbstractButtonToQCheckBox ptr' instance QCheckBoxSuper M280.QWidget where downToQCheckBox = castQCheckBoxToNonconst . cast' . M280.castQWidgetToConst where cast' (M280.QWidgetConst ptr') = QCheckBoxConst $ castQWidgetToQCheckBox ptr' cast' (M280.QWidgetConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQWidgetToQCheckBox ptr' instance QCheckBoxSuper M30.QObject where downToQCheckBox = castQCheckBoxToNonconst . cast' . M30.castQObjectToConst where cast' (M30.QObjectConst ptr') = QCheckBoxConst $ castQObjectToQCheckBox ptr' cast' (M30.QObjectConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQObjectToQCheckBox ptr' class QCheckBoxSuperConst a where downToQCheckBoxConst :: a -> QCheckBoxConst instance QCheckBoxSuperConst M162.QAbstractButtonConst where downToQCheckBoxConst = cast' where cast' (M162.QAbstractButtonConst ptr') = QCheckBoxConst $ castQAbstractButtonToQCheckBox ptr' cast' (M162.QAbstractButtonConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQAbstractButtonToQCheckBox ptr' instance QCheckBoxSuperConst M280.QWidgetConst where downToQCheckBoxConst = cast' where cast' (M280.QWidgetConst ptr') = QCheckBoxConst $ castQWidgetToQCheckBox ptr' cast' (M280.QWidgetConstGc fptr' ptr') = QCheckBoxConstGc fptr' $ castQWidgetToQCheckBox ptr' instance QCheckBoxSuperConst M30.QObjectConst where downToQCheckBoxConst = cast' where cast' (M30.QObjectConst ptr') = QCheckBoxConst $ castQObjectToQCheckBox ptr' cast' (M30.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