{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Gui.QDragEnterEvent ( castQDragEnterEventToQDragMoveEvent, castQDragMoveEventToQDragEnterEvent, castQDragEnterEventToQDropEvent, castQDropEventToQDragEnterEvent, castQDragEnterEventToQEvent, castQEventToQDragEnterEvent, QDragEnterEventValue (..), QDragEnterEventConstPtr (..), QDragEnterEventPtr (..), QDragEnterEventConst (..), castQDragEnterEventToConst, QDragEnterEvent (..), castQDragEnterEventToNonconst, new, QDragEnterEventSuper (..), QDragEnterEventSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Flags as QtahFlags import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M34 import qualified Graphics.UI.Qtah.Generated.Core.QMimeData as M90 import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M114 import qualified Graphics.UI.Qtah.Generated.Core.Types as M190 import qualified Graphics.UI.Qtah.Generated.Gui.QDragMoveEvent as M264 import qualified Graphics.UI.Qtah.Generated.Gui.QDropEvent as M266 import Prelude (($), (.), (==), (>>=)) import qualified Prelude as HoppyP import qualified Prelude as QtahP foreign import ccall "genpop__QDragEnterEvent_new" new' :: HoppyF.Ptr M114.QPointConst -> HoppyFC.CInt -> HoppyF.Ptr M90.QMimeDataConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QDragEnterEvent) foreign import ccall "gencast__QDragEnterEvent__QDragMoveEvent" castQDragEnterEventToQDragMoveEvent :: HoppyF.Ptr QDragEnterEventConst -> HoppyF.Ptr M264.QDragMoveEventConst foreign import ccall "gencast__QDragMoveEvent__QDragEnterEvent" castQDragMoveEventToQDragEnterEvent :: HoppyF.Ptr M264.QDragMoveEventConst -> HoppyF.Ptr QDragEnterEventConst foreign import ccall "gencast__QDragEnterEvent__QDropEvent" castQDragEnterEventToQDropEvent :: HoppyF.Ptr QDragEnterEventConst -> HoppyF.Ptr M266.QDropEventConst foreign import ccall "gencast__QDropEvent__QDragEnterEvent" castQDropEventToQDragEnterEvent :: HoppyF.Ptr M266.QDropEventConst -> HoppyF.Ptr QDragEnterEventConst foreign import ccall "gencast__QDragEnterEvent__QEvent" castQDragEnterEventToQEvent :: HoppyF.Ptr QDragEnterEventConst -> HoppyF.Ptr M34.QEventConst foreign import ccall "gencast__QEvent__QDragEnterEvent" castQEventToQDragEnterEvent :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr QDragEnterEventConst foreign import ccall "gendel__QDragEnterEvent" delete'QDragEnterEvent :: HoppyF.Ptr QDragEnterEventConst -> HoppyP.IO () foreign import ccall "&gendel__QDragEnterEvent" deletePtr'QDragEnterEvent :: HoppyF.FunPtr (HoppyF.Ptr QDragEnterEventConst -> HoppyP.IO ()) class QDragEnterEventValue a where withQDragEnterEventPtr :: a -> (QDragEnterEventConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QDragEnterEventConstPtr a => QDragEnterEventValue a where withQDragEnterEventPtr = HoppyP.flip ($) . toQDragEnterEventConst class (M264.QDragMoveEventConstPtr this) => QDragEnterEventConstPtr this where toQDragEnterEventConst :: this -> QDragEnterEventConst class (QDragEnterEventConstPtr this, M264.QDragMoveEventPtr this) => QDragEnterEventPtr this where toQDragEnterEvent :: this -> QDragEnterEvent data QDragEnterEventConst = QDragEnterEventConst (HoppyF.Ptr QDragEnterEventConst) | QDragEnterEventConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDragEnterEventConst) deriving (HoppyP.Show) instance HoppyP.Eq QDragEnterEventConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QDragEnterEventConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQDragEnterEventToConst :: QDragEnterEvent -> QDragEnterEventConst castQDragEnterEventToConst (QDragEnterEvent ptr') = QDragEnterEventConst $ HoppyF.castPtr ptr' castQDragEnterEventToConst (QDragEnterEventGc fptr' ptr') = QDragEnterEventConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QDragEnterEventConst where nullptr = QDragEnterEventConst HoppyF.nullPtr withCppPtr (QDragEnterEventConst ptr') f' = f' ptr' withCppPtr (QDragEnterEventConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QDragEnterEventConst ptr') = ptr' toPtr (QDragEnterEventConstGc _ ptr') = ptr' touchCppPtr (QDragEnterEventConst _) = HoppyP.return () touchCppPtr (QDragEnterEventConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QDragEnterEventConst where delete (QDragEnterEventConst ptr') = delete'QDragEnterEvent ptr' delete (QDragEnterEventConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDragEnterEventConst", " object."] toGc this'@(QDragEnterEventConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDragEnterEventConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDragEnterEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QDragEnterEventConstGc {}) = HoppyP.return this' instance QDragEnterEventConstPtr QDragEnterEventConst where toQDragEnterEventConst = HoppyP.id instance M264.QDragMoveEventConstPtr QDragEnterEventConst where toQDragMoveEventConst (QDragEnterEventConst ptr') = M264.QDragMoveEventConst $ castQDragEnterEventToQDragMoveEvent ptr' toQDragMoveEventConst (QDragEnterEventConstGc fptr' ptr') = M264.QDragMoveEventConstGc fptr' $ castQDragEnterEventToQDragMoveEvent ptr' instance M266.QDropEventConstPtr QDragEnterEventConst where toQDropEventConst (QDragEnterEventConst ptr') = M266.QDropEventConst $ castQDragEnterEventToQDropEvent ptr' toQDropEventConst (QDragEnterEventConstGc fptr' ptr') = M266.QDropEventConstGc fptr' $ castQDragEnterEventToQDropEvent ptr' instance M34.QEventConstPtr QDragEnterEventConst where toQEventConst (QDragEnterEventConst ptr') = M34.QEventConst $ castQDragEnterEventToQEvent ptr' toQEventConst (QDragEnterEventConstGc fptr' ptr') = M34.QEventConstGc fptr' $ castQDragEnterEventToQEvent ptr' data QDragEnterEvent = QDragEnterEvent (HoppyF.Ptr QDragEnterEvent) | QDragEnterEventGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QDragEnterEvent) deriving (HoppyP.Show) instance HoppyP.Eq QDragEnterEvent where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QDragEnterEvent where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQDragEnterEventToNonconst :: QDragEnterEventConst -> QDragEnterEvent castQDragEnterEventToNonconst (QDragEnterEventConst ptr') = QDragEnterEvent $ HoppyF.castPtr ptr' castQDragEnterEventToNonconst (QDragEnterEventConstGc fptr' ptr') = QDragEnterEventGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QDragEnterEvent where nullptr = QDragEnterEvent HoppyF.nullPtr withCppPtr (QDragEnterEvent ptr') f' = f' ptr' withCppPtr (QDragEnterEventGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QDragEnterEvent ptr') = ptr' toPtr (QDragEnterEventGc _ ptr') = ptr' touchCppPtr (QDragEnterEvent _) = HoppyP.return () touchCppPtr (QDragEnterEventGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QDragEnterEvent where delete (QDragEnterEvent ptr') = delete'QDragEnterEvent $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QDragEnterEventConst) delete (QDragEnterEventGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QDragEnterEvent", " object."] toGc this'@(QDragEnterEvent ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QDragEnterEventGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QDragEnterEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QDragEnterEventGc {}) = HoppyP.return this' instance QDragEnterEventConstPtr QDragEnterEvent where toQDragEnterEventConst (QDragEnterEvent ptr') = QDragEnterEventConst $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQDragEnterEventConst (QDragEnterEventGc fptr' ptr') = QDragEnterEventConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance QDragEnterEventPtr QDragEnterEvent where toQDragEnterEvent = HoppyP.id instance M264.QDragMoveEventConstPtr QDragEnterEvent where toQDragMoveEventConst (QDragEnterEvent ptr') = M264.QDragMoveEventConst $ castQDragEnterEventToQDragMoveEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQDragMoveEventConst (QDragEnterEventGc fptr' ptr') = M264.QDragMoveEventConstGc fptr' $ castQDragEnterEventToQDragMoveEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance M264.QDragMoveEventPtr QDragEnterEvent where toQDragMoveEvent (QDragEnterEvent ptr') = M264.QDragMoveEvent $ (HoppyF.castPtr :: HoppyF.Ptr M264.QDragMoveEventConst -> HoppyF.Ptr M264.QDragMoveEvent) $ castQDragEnterEventToQDragMoveEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQDragMoveEvent (QDragEnterEventGc fptr' ptr') = M264.QDragMoveEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M264.QDragMoveEventConst -> HoppyF.Ptr M264.QDragMoveEvent) $ castQDragEnterEventToQDragMoveEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance M266.QDropEventConstPtr QDragEnterEvent where toQDropEventConst (QDragEnterEvent ptr') = M266.QDropEventConst $ castQDragEnterEventToQDropEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQDropEventConst (QDragEnterEventGc fptr' ptr') = M266.QDropEventConstGc fptr' $ castQDragEnterEventToQDropEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance M266.QDropEventPtr QDragEnterEvent where toQDropEvent (QDragEnterEvent ptr') = M266.QDropEvent $ (HoppyF.castPtr :: HoppyF.Ptr M266.QDropEventConst -> HoppyF.Ptr M266.QDropEvent) $ castQDragEnterEventToQDropEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQDropEvent (QDragEnterEventGc fptr' ptr') = M266.QDropEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M266.QDropEventConst -> HoppyF.Ptr M266.QDropEvent) $ castQDragEnterEventToQDropEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance M34.QEventConstPtr QDragEnterEvent where toQEventConst (QDragEnterEvent ptr') = M34.QEventConst $ castQDragEnterEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQEventConst (QDragEnterEventGc fptr' ptr') = M34.QEventConstGc fptr' $ castQDragEnterEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' instance M34.QEventPtr QDragEnterEvent where toQEvent (QDragEnterEvent ptr') = M34.QEvent $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQDragEnterEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' toQEvent (QDragEnterEventGc fptr' ptr') = M34.QEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQDragEnterEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QDragEnterEvent -> HoppyF.Ptr QDragEnterEventConst) ptr' new :: (M114.QPointValue arg'1, M190.IsQtDropActions arg'2, M90.QMimeDataValue arg'3, M190.IsQtMouseButtons arg'4, M190.IsQtKeyboardModifiers arg'5) => (arg'1) -> (arg'2) -> (arg'3) -> (arg'4) -> (arg'5) -> (HoppyP.IO QDragEnterEvent) new arg'1 arg'2 arg'3 arg'4 arg'5 = M114.withQPointPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( QtahP.return . QtahFlags.flagsToNum . M190.toQtDropActions ) arg'2 >>= \arg'2' -> M90.withQMimeDataPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' -> ( QtahP.return . QtahFlags.flagsToNum . M190.toQtMouseButtons ) arg'4 >>= \arg'4' -> ( QtahP.return . QtahFlags.flagsToNum . M190.toQtKeyboardModifiers ) arg'5 >>= \arg'5' -> HoppyP.fmap QDragEnterEvent (new' arg'1' arg'2' arg'3' arg'4' arg'5') class QDragEnterEventSuper a where downToQDragEnterEvent :: a -> QDragEnterEvent instance QDragEnterEventSuper M264.QDragMoveEvent where downToQDragEnterEvent = castQDragEnterEventToNonconst . cast' . M264.castQDragMoveEventToConst where cast' (M264.QDragMoveEventConst ptr') = QDragEnterEventConst $ castQDragMoveEventToQDragEnterEvent ptr' cast' (M264.QDragMoveEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQDragMoveEventToQDragEnterEvent ptr' instance QDragEnterEventSuper M266.QDropEvent where downToQDragEnterEvent = castQDragEnterEventToNonconst . cast' . M266.castQDropEventToConst where cast' (M266.QDropEventConst ptr') = QDragEnterEventConst $ castQDropEventToQDragEnterEvent ptr' cast' (M266.QDropEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQDropEventToQDragEnterEvent ptr' instance QDragEnterEventSuper M34.QEvent where downToQDragEnterEvent = castQDragEnterEventToNonconst . cast' . M34.castQEventToConst where cast' (M34.QEventConst ptr') = QDragEnterEventConst $ castQEventToQDragEnterEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQEventToQDragEnterEvent ptr' class QDragEnterEventSuperConst a where downToQDragEnterEventConst :: a -> QDragEnterEventConst instance QDragEnterEventSuperConst M264.QDragMoveEventConst where downToQDragEnterEventConst = cast' where cast' (M264.QDragMoveEventConst ptr') = QDragEnterEventConst $ castQDragMoveEventToQDragEnterEvent ptr' cast' (M264.QDragMoveEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQDragMoveEventToQDragEnterEvent ptr' instance QDragEnterEventSuperConst M266.QDropEventConst where downToQDragEnterEventConst = cast' where cast' (M266.QDropEventConst ptr') = QDragEnterEventConst $ castQDropEventToQDragEnterEvent ptr' cast' (M266.QDropEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQDropEventToQDragEnterEvent ptr' instance QDragEnterEventSuperConst M34.QEventConst where downToQDragEnterEventConst = cast' where cast' (M34.QEventConst ptr') = QDragEnterEventConst $ castQEventToQDragEnterEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QDragEnterEventConstGc fptr' $ castQEventToQDragEnterEvent ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QDragEnterEvent)) QDragEnterEvent where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QDragEnterEvent)) QDragEnterEvent where decode = HoppyP.fmap QDragEnterEvent . HoppyF.peek