{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QDateEdit ( castQDateEditToQDateTimeEdit, castQDateTimeEditToQDateEdit, castQDateEditToQAbstractSpinBox, castQAbstractSpinBoxToQDateEdit, castQDateEditToQWidget, castQWidgetToQDateEdit, castQDateEditToQObject, castQObjectToQDateEdit, QDateEditValue (..), QDateEditConstPtr (..), QDateEditPtr (..), QDateEditConst (..), castQDateEditToConst, QDateEdit (..), castQDateEditToNonconst, new, newWithParent, newWithDate, newWithDateAndParent, QDateEditSuper (..), QDateEditSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QDate as M22 import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94 import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractSpinBox as M366 import qualified Graphics.UI.Qtah.Generated.Widgets.QDateTimeEdit as M384 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506 import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QDateEdit_new" new' :: HoppyP.IO (HoppyF.Ptr QDateEdit) foreign import ccall "genpop__QDateEdit_newWithParent" newWithParent' :: HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QDateEdit) foreign import ccall "genpop__QDateEdit_newWithDate" newWithDate' :: HoppyF.Ptr M22.QDateConst -> HoppyP.IO (HoppyF.Ptr QDateEdit) foreign import ccall "genpop__QDateEdit_newWithDateAndParent" newWithDateAndParent' :: HoppyF.Ptr M22.QDateConst -> HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QDateEdit) foreign import ccall "gencast__QDateEdit__QDateTimeEdit" castQDateEditToQDateTimeEdit :: HoppyF.Ptr QDateEditConst -> HoppyF.Ptr M384.QDateTimeEditConst foreign import ccall "gencast__QDateTimeEdit__QDateEdit" castQDateTimeEditToQDateEdit :: HoppyF.Ptr M384.QDateTimeEditConst -> HoppyF.Ptr QDateEditConst foreign import ccall "gencast__QDateEdit__QAbstractSpinBox" castQDateEditToQAbstractSpinBox :: HoppyF.Ptr QDateEditConst -> HoppyF.Ptr M366.QAbstractSpinBoxConst foreign import ccall "gencast__QAbstractSpinBox__QDateEdit" castQAbstractSpinBoxToQDateEdit :: HoppyF.Ptr M366.QAbstractSpinBoxConst -> HoppyF.Ptr QDateEditConst foreign import ccall "gencast__QDateEdit__QWidget" castQDateEditToQWidget :: HoppyF.Ptr QDateEditConst -> HoppyF.Ptr M506.QWidgetConst foreign import ccall "gencast__QWidget__QDateEdit" castQWidgetToQDateEdit :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QDateEditConst foreign import ccall "gencast__QDateEdit__QObject" castQDateEditToQObject :: HoppyF.Ptr QDateEditConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QDateEdit" castQObjectToQDateEdit :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QDateEditConst foreign import ccall "gendel__QDateEdit" delete'QDateEdit :: HoppyF.Ptr QDateEditConst -> HoppyP.IO () foreign import ccall "&gendel__QDateEdit" deletePtr'QDateEdit :: HoppyF.FunPtr (HoppyF.Ptr QDateEditConst -> HoppyP.IO ()) class QDateEditValue a where withQDateEditPtr :: a -> (QDateEditConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QDateEditConstPtr a => QDateEditValue a where withQDateEditPtr = HoppyP.flip ($) . toQDateEditConst class (M384.QDateTimeEditConstPtr this) => QDateEditConstPtr this where toQDateEditConst :: this -> QDateEditConst class (QDateEditConstPtr this, M384.QDateTimeEditPtr this) => QDateEditPtr this where toQDateEdit :: this -> QDateEdit data QDateEditConst = QDateEditConst (HoppyF.Ptr QDateEditConst) | QDateEditConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDateEditConst) deriving (HoppyP.Show) instance HoppyP.Eq QDateEditConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QDateEditConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQDateEditToConst :: QDateEdit -> QDateEditConst castQDateEditToConst (QDateEdit ptr') = QDateEditConst $ HoppyF.castPtr ptr' castQDateEditToConst (QDateEditGc fptr' ptr') = QDateEditConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QDateEditConst where nullptr = QDateEditConst HoppyF.nullPtr withCppPtr (QDateEditConst ptr') f' = f' ptr' withCppPtr (QDateEditConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QDateEditConst ptr') = ptr' toPtr (QDateEditConstGc _ ptr') = ptr' touchCppPtr (QDateEditConst _) = HoppyP.return () touchCppPtr (QDateEditConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QDateEditConst where delete (QDateEditConst ptr') = delete'QDateEdit ptr' delete (QDateEditConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDateEditConst", " object."] toGc this'@(QDateEditConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDateEditConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDateEdit :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QDateEditConstGc {}) = HoppyP.return this' instance QDateEditConstPtr QDateEditConst where toQDateEditConst = HoppyP.id instance M384.QDateTimeEditConstPtr QDateEditConst where toQDateTimeEditConst (QDateEditConst ptr') = M384.QDateTimeEditConst $ castQDateEditToQDateTimeEdit ptr' toQDateTimeEditConst (QDateEditConstGc fptr' ptr') = M384.QDateTimeEditConstGc fptr' $ castQDateEditToQDateTimeEdit ptr' instance M366.QAbstractSpinBoxConstPtr QDateEditConst where toQAbstractSpinBoxConst (QDateEditConst ptr') = M366.QAbstractSpinBoxConst $ castQDateEditToQAbstractSpinBox ptr' toQAbstractSpinBoxConst (QDateEditConstGc fptr' ptr') = M366.QAbstractSpinBoxConstGc fptr' $ castQDateEditToQAbstractSpinBox ptr' instance M506.QWidgetConstPtr QDateEditConst where toQWidgetConst (QDateEditConst ptr') = M506.QWidgetConst $ castQDateEditToQWidget ptr' toQWidgetConst (QDateEditConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQDateEditToQWidget ptr' instance M94.QObjectConstPtr QDateEditConst where toQObjectConst (QDateEditConst ptr') = M94.QObjectConst $ castQDateEditToQObject ptr' toQObjectConst (QDateEditConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQDateEditToQObject ptr' data QDateEdit = QDateEdit (HoppyF.Ptr QDateEdit) | QDateEditGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDateEdit) deriving (HoppyP.Show) instance HoppyP.Eq QDateEdit where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QDateEdit where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQDateEditToNonconst :: QDateEditConst -> QDateEdit castQDateEditToNonconst (QDateEditConst ptr') = QDateEdit $ HoppyF.castPtr ptr' castQDateEditToNonconst (QDateEditConstGc fptr' ptr') = QDateEditGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QDateEdit where nullptr = QDateEdit HoppyF.nullPtr withCppPtr (QDateEdit ptr') f' = f' ptr' withCppPtr (QDateEditGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QDateEdit ptr') = ptr' toPtr (QDateEditGc _ ptr') = ptr' touchCppPtr (QDateEdit _) = HoppyP.return () touchCppPtr (QDateEditGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QDateEdit where delete (QDateEdit ptr') = delete'QDateEdit $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QDateEditConst) delete (QDateEditGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDateEdit", " object."] toGc this'@(QDateEdit ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDateEditGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDateEdit :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QDateEditGc {}) = HoppyP.return this' instance QDateEditConstPtr QDateEdit where toQDateEditConst (QDateEdit ptr') = QDateEditConst $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQDateEditConst (QDateEditGc fptr' ptr') = QDateEditConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance QDateEditPtr QDateEdit where toQDateEdit = HoppyP.id instance M384.QDateTimeEditConstPtr QDateEdit where toQDateTimeEditConst (QDateEdit ptr') = M384.QDateTimeEditConst $ castQDateEditToQDateTimeEdit $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQDateTimeEditConst (QDateEditGc fptr' ptr') = M384.QDateTimeEditConstGc fptr' $ castQDateEditToQDateTimeEdit $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M384.QDateTimeEditPtr QDateEdit where toQDateTimeEdit (QDateEdit ptr') = M384.QDateTimeEdit $ (HoppyF.castPtr :: HoppyF.Ptr M384.QDateTimeEditConst -> HoppyF.Ptr M384.QDateTimeEdit) $ castQDateEditToQDateTimeEdit $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQDateTimeEdit (QDateEditGc fptr' ptr') = M384.QDateTimeEditGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M384.QDateTimeEditConst -> HoppyF.Ptr M384.QDateTimeEdit) $ castQDateEditToQDateTimeEdit $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M366.QAbstractSpinBoxConstPtr QDateEdit where toQAbstractSpinBoxConst (QDateEdit ptr') = M366.QAbstractSpinBoxConst $ castQDateEditToQAbstractSpinBox $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQAbstractSpinBoxConst (QDateEditGc fptr' ptr') = M366.QAbstractSpinBoxConstGc fptr' $ castQDateEditToQAbstractSpinBox $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M366.QAbstractSpinBoxPtr QDateEdit where toQAbstractSpinBox (QDateEdit ptr') = M366.QAbstractSpinBox $ (HoppyF.castPtr :: HoppyF.Ptr M366.QAbstractSpinBoxConst -> HoppyF.Ptr M366.QAbstractSpinBox) $ castQDateEditToQAbstractSpinBox $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQAbstractSpinBox (QDateEditGc fptr' ptr') = M366.QAbstractSpinBoxGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M366.QAbstractSpinBoxConst -> HoppyF.Ptr M366.QAbstractSpinBox) $ castQDateEditToQAbstractSpinBox $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M506.QWidgetConstPtr QDateEdit where toQWidgetConst (QDateEdit ptr') = M506.QWidgetConst $ castQDateEditToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQWidgetConst (QDateEditGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQDateEditToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M506.QWidgetPtr QDateEdit where toQWidget (QDateEdit ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQDateEditToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQWidget (QDateEditGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQDateEditToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M94.QObjectConstPtr QDateEdit where toQObjectConst (QDateEdit ptr') = M94.QObjectConst $ castQDateEditToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQObjectConst (QDateEditGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQDateEditToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' instance M94.QObjectPtr QDateEdit where toQObject (QDateEdit ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQDateEditToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' toQObject (QDateEditGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQDateEditToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QDateEdit -> HoppyF.Ptr QDateEditConst) ptr' new :: (HoppyP.IO QDateEdit) new = HoppyP.fmap QDateEdit (new') newWithParent :: (M506.QWidgetPtr arg'1) => (arg'1) -> (HoppyP.IO QDateEdit) newWithParent arg'1 = HoppyFHR.withCppPtr (M506.toQWidget arg'1) $ \arg'1' -> HoppyP.fmap QDateEdit (newWithParent' arg'1') newWithDate :: (M22.QDateValue arg'1) => (arg'1) -> (HoppyP.IO QDateEdit) newWithDate arg'1 = M22.withQDatePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QDateEdit (newWithDate' arg'1') newWithDateAndParent :: (M22.QDateValue arg'1, M506.QWidgetPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QDateEdit) newWithDateAndParent arg'1 arg'2 = M22.withQDatePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' -> HoppyP.fmap QDateEdit (newWithDateAndParent' arg'1' arg'2') class QDateEditSuper a where downToQDateEdit :: a -> QDateEdit instance QDateEditSuper M384.QDateTimeEdit where downToQDateEdit = castQDateEditToNonconst . cast' . M384.castQDateTimeEditToConst where cast' (M384.QDateTimeEditConst ptr') = QDateEditConst $ castQDateTimeEditToQDateEdit ptr' cast' (M384.QDateTimeEditConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQDateTimeEditToQDateEdit ptr' instance QDateEditSuper M366.QAbstractSpinBox where downToQDateEdit = castQDateEditToNonconst . cast' . M366.castQAbstractSpinBoxToConst where cast' (M366.QAbstractSpinBoxConst ptr') = QDateEditConst $ castQAbstractSpinBoxToQDateEdit ptr' cast' (M366.QAbstractSpinBoxConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQAbstractSpinBoxToQDateEdit ptr' instance QDateEditSuper M506.QWidget where downToQDateEdit = castQDateEditToNonconst . cast' . M506.castQWidgetToConst where cast' (M506.QWidgetConst ptr') = QDateEditConst $ castQWidgetToQDateEdit ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQWidgetToQDateEdit ptr' instance QDateEditSuper M94.QObject where downToQDateEdit = castQDateEditToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QDateEditConst $ castQObjectToQDateEdit ptr' cast' (M94.QObjectConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQObjectToQDateEdit ptr' class QDateEditSuperConst a where downToQDateEditConst :: a -> QDateEditConst instance QDateEditSuperConst M384.QDateTimeEditConst where downToQDateEditConst = cast' where cast' (M384.QDateTimeEditConst ptr') = QDateEditConst $ castQDateTimeEditToQDateEdit ptr' cast' (M384.QDateTimeEditConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQDateTimeEditToQDateEdit ptr' instance QDateEditSuperConst M366.QAbstractSpinBoxConst where downToQDateEditConst = cast' where cast' (M366.QAbstractSpinBoxConst ptr') = QDateEditConst $ castQAbstractSpinBoxToQDateEdit ptr' cast' (M366.QAbstractSpinBoxConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQAbstractSpinBoxToQDateEdit ptr' instance QDateEditSuperConst M506.QWidgetConst where downToQDateEditConst = cast' where cast' (M506.QWidgetConst ptr') = QDateEditConst $ castQWidgetToQDateEdit ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQWidgetToQDateEdit ptr' instance QDateEditSuperConst M94.QObjectConst where downToQDateEditConst = cast' where cast' (M94.QObjectConst ptr') = QDateEditConst $ castQObjectToQDateEdit ptr' cast' (M94.QObjectConstGc fptr' ptr') = QDateEditConstGc fptr' $ castQObjectToQDateEdit ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QDateEdit)) QDateEdit where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QDateEdit)) QDateEdit where decode = HoppyP.fmap QDateEdit . HoppyF.peek