{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QGraphicsSceneEvent ( castQGraphicsSceneEventToQEvent, castQEventToQGraphicsSceneEvent, QGraphicsSceneEventValue (..), QGraphicsSceneEventConstPtr (..), widget, QGraphicsSceneEventPtr (..), QGraphicsSceneEventConst (..), castQGraphicsSceneEventToConst, QGraphicsSceneEvent (..), castQGraphicsSceneEventToNonconst, QGraphicsSceneEventSuper (..), QGraphicsSceneEventSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M34 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506 import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QGraphicsSceneEvent_widget" widget' :: HoppyF.Ptr QGraphicsSceneEventConst -> HoppyP.IO (HoppyF.Ptr M506.QWidget) foreign import ccall "gencast__QGraphicsSceneEvent__QEvent" castQGraphicsSceneEventToQEvent :: HoppyF.Ptr QGraphicsSceneEventConst -> HoppyF.Ptr M34.QEventConst foreign import ccall "gencast__QEvent__QGraphicsSceneEvent" castQEventToQGraphicsSceneEvent :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr QGraphicsSceneEventConst foreign import ccall "gendel__QGraphicsSceneEvent" delete'QGraphicsSceneEvent :: HoppyF.Ptr QGraphicsSceneEventConst -> HoppyP.IO () foreign import ccall "&gendel__QGraphicsSceneEvent" deletePtr'QGraphicsSceneEvent :: HoppyF.FunPtr (HoppyF.Ptr QGraphicsSceneEventConst -> HoppyP.IO ()) class QGraphicsSceneEventValue a where withQGraphicsSceneEventPtr :: a -> (QGraphicsSceneEventConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QGraphicsSceneEventConstPtr a => QGraphicsSceneEventValue a where withQGraphicsSceneEventPtr = HoppyP.flip ($) . toQGraphicsSceneEventConst class (M34.QEventConstPtr this) => QGraphicsSceneEventConstPtr this where toQGraphicsSceneEventConst :: this -> QGraphicsSceneEventConst widget :: (QGraphicsSceneEventValue this) => (this) {- ^ this -} -> (HoppyP.IO M506.QWidget) widget arg'1 = withQGraphicsSceneEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap M506.QWidget (widget' arg'1') class (QGraphicsSceneEventConstPtr this, M34.QEventPtr this) => QGraphicsSceneEventPtr this where toQGraphicsSceneEvent :: this -> QGraphicsSceneEvent data QGraphicsSceneEventConst = QGraphicsSceneEventConst (HoppyF.Ptr QGraphicsSceneEventConst) | QGraphicsSceneEventConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGraphicsSceneEventConst) deriving (HoppyP.Show) instance HoppyP.Eq QGraphicsSceneEventConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QGraphicsSceneEventConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQGraphicsSceneEventToConst :: QGraphicsSceneEvent -> QGraphicsSceneEventConst castQGraphicsSceneEventToConst (QGraphicsSceneEvent ptr') = QGraphicsSceneEventConst $ HoppyF.castPtr ptr' castQGraphicsSceneEventToConst (QGraphicsSceneEventGc fptr' ptr') = QGraphicsSceneEventConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QGraphicsSceneEventConst where nullptr = QGraphicsSceneEventConst HoppyF.nullPtr withCppPtr (QGraphicsSceneEventConst ptr') f' = f' ptr' withCppPtr (QGraphicsSceneEventConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QGraphicsSceneEventConst ptr') = ptr' toPtr (QGraphicsSceneEventConstGc _ ptr') = ptr' touchCppPtr (QGraphicsSceneEventConst _) = HoppyP.return () touchCppPtr (QGraphicsSceneEventConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QGraphicsSceneEventConst where delete (QGraphicsSceneEventConst ptr') = delete'QGraphicsSceneEvent ptr' delete (QGraphicsSceneEventConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QGraphicsSceneEventConst", " object."] toGc this'@(QGraphicsSceneEventConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QGraphicsSceneEventConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QGraphicsSceneEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QGraphicsSceneEventConstGc {}) = HoppyP.return this' instance QGraphicsSceneEventConstPtr QGraphicsSceneEventConst where toQGraphicsSceneEventConst = HoppyP.id instance M34.QEventConstPtr QGraphicsSceneEventConst where toQEventConst (QGraphicsSceneEventConst ptr') = M34.QEventConst $ castQGraphicsSceneEventToQEvent ptr' toQEventConst (QGraphicsSceneEventConstGc fptr' ptr') = M34.QEventConstGc fptr' $ castQGraphicsSceneEventToQEvent ptr' data QGraphicsSceneEvent = QGraphicsSceneEvent (HoppyF.Ptr QGraphicsSceneEvent) | QGraphicsSceneEventGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGraphicsSceneEvent) deriving (HoppyP.Show) instance HoppyP.Eq QGraphicsSceneEvent where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QGraphicsSceneEvent where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQGraphicsSceneEventToNonconst :: QGraphicsSceneEventConst -> QGraphicsSceneEvent castQGraphicsSceneEventToNonconst (QGraphicsSceneEventConst ptr') = QGraphicsSceneEvent $ HoppyF.castPtr ptr' castQGraphicsSceneEventToNonconst (QGraphicsSceneEventConstGc fptr' ptr') = QGraphicsSceneEventGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QGraphicsSceneEvent where nullptr = QGraphicsSceneEvent HoppyF.nullPtr withCppPtr (QGraphicsSceneEvent ptr') f' = f' ptr' withCppPtr (QGraphicsSceneEventGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QGraphicsSceneEvent ptr') = ptr' toPtr (QGraphicsSceneEventGc _ ptr') = ptr' touchCppPtr (QGraphicsSceneEvent _) = HoppyP.return () touchCppPtr (QGraphicsSceneEventGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QGraphicsSceneEvent where delete (QGraphicsSceneEvent ptr') = delete'QGraphicsSceneEvent $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QGraphicsSceneEventConst) delete (QGraphicsSceneEventGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QGraphicsSceneEvent", " object."] toGc this'@(QGraphicsSceneEvent ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QGraphicsSceneEventGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QGraphicsSceneEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QGraphicsSceneEventGc {}) = HoppyP.return this' instance QGraphicsSceneEventConstPtr QGraphicsSceneEvent where toQGraphicsSceneEventConst (QGraphicsSceneEvent ptr') = QGraphicsSceneEventConst $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' toQGraphicsSceneEventConst (QGraphicsSceneEventGc fptr' ptr') = QGraphicsSceneEventConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' instance QGraphicsSceneEventPtr QGraphicsSceneEvent where toQGraphicsSceneEvent = HoppyP.id instance M34.QEventConstPtr QGraphicsSceneEvent where toQEventConst (QGraphicsSceneEvent ptr') = M34.QEventConst $ castQGraphicsSceneEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' toQEventConst (QGraphicsSceneEventGc fptr' ptr') = M34.QEventConstGc fptr' $ castQGraphicsSceneEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' instance M34.QEventPtr QGraphicsSceneEvent where toQEvent (QGraphicsSceneEvent ptr') = M34.QEvent $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQGraphicsSceneEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' toQEvent (QGraphicsSceneEventGc fptr' ptr') = M34.QEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQGraphicsSceneEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsSceneEvent -> HoppyF.Ptr QGraphicsSceneEventConst) ptr' class QGraphicsSceneEventSuper a where downToQGraphicsSceneEvent :: a -> QGraphicsSceneEvent instance QGraphicsSceneEventSuper M34.QEvent where downToQGraphicsSceneEvent = castQGraphicsSceneEventToNonconst . cast' . M34.castQEventToConst where cast' (M34.QEventConst ptr') = QGraphicsSceneEventConst $ castQEventToQGraphicsSceneEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QGraphicsSceneEventConstGc fptr' $ castQEventToQGraphicsSceneEvent ptr' class QGraphicsSceneEventSuperConst a where downToQGraphicsSceneEventConst :: a -> QGraphicsSceneEventConst instance QGraphicsSceneEventSuperConst M34.QEventConst where downToQGraphicsSceneEventConst = cast' where cast' (M34.QEventConst ptr') = QGraphicsSceneEventConst $ castQEventToQGraphicsSceneEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QGraphicsSceneEventConstGc fptr' $ castQEventToQGraphicsSceneEvent ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QGraphicsSceneEvent)) QGraphicsSceneEvent where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QGraphicsSceneEvent)) QGraphicsSceneEvent where decode = HoppyP.fmap QGraphicsSceneEvent . HoppyF.peek