gi-gtk-0.3.18.13: GI/Gtk/Objects/EventController.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gtk.Objects.EventController
(
-- * Exported types
EventController(..) ,
EventControllerK ,
toEventController ,
noEventController ,
-- * Methods
-- ** eventControllerGetPropagationPhase
EventControllerGetPropagationPhaseMethodInfo,
eventControllerGetPropagationPhase ,
-- ** eventControllerGetWidget
EventControllerGetWidgetMethodInfo ,
eventControllerGetWidget ,
-- ** eventControllerHandleEvent
EventControllerHandleEventMethodInfo ,
eventControllerHandleEvent ,
-- ** eventControllerReset
EventControllerResetMethodInfo ,
eventControllerReset ,
-- ** eventControllerSetPropagationPhase
EventControllerSetPropagationPhaseMethodInfo,
eventControllerSetPropagationPhase ,
-- * Properties
-- ** PropagationPhase
EventControllerPropagationPhasePropertyInfo,
constructEventControllerPropagationPhase,
getEventControllerPropagationPhase ,
setEventControllerPropagationPhase ,
-- ** Widget
EventControllerWidgetPropertyInfo ,
constructEventControllerWidget ,
getEventControllerWidget ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
import qualified GI.Gdk as Gdk
newtype EventController = EventController (ForeignPtr EventController)
foreign import ccall "gtk_event_controller_get_type"
c_gtk_event_controller_get_type :: IO GType
type instance ParentTypes EventController = EventControllerParentTypes
type EventControllerParentTypes = '[GObject.Object]
instance GObject EventController where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_event_controller_get_type
class GObject o => EventControllerK o
instance (GObject o, IsDescendantOf EventController o) => EventControllerK o
toEventController :: EventControllerK o => o -> IO EventController
toEventController = unsafeCastTo EventController
noEventController :: Maybe EventController
noEventController = Nothing
type family ResolveEventControllerMethod (t :: Symbol) (o :: *) :: * where
ResolveEventControllerMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveEventControllerMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveEventControllerMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveEventControllerMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveEventControllerMethod "handleEvent" o = EventControllerHandleEventMethodInfo
ResolveEventControllerMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveEventControllerMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveEventControllerMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveEventControllerMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveEventControllerMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveEventControllerMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveEventControllerMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveEventControllerMethod "reset" o = EventControllerResetMethodInfo
ResolveEventControllerMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveEventControllerMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveEventControllerMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveEventControllerMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveEventControllerMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveEventControllerMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveEventControllerMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveEventControllerMethod "getPropagationPhase" o = EventControllerGetPropagationPhaseMethodInfo
ResolveEventControllerMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveEventControllerMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveEventControllerMethod "getWidget" o = EventControllerGetWidgetMethodInfo
ResolveEventControllerMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveEventControllerMethod "setPropagationPhase" o = EventControllerSetPropagationPhaseMethodInfo
ResolveEventControllerMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveEventControllerMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveEventControllerMethod t EventController, MethodInfo info EventController p) => IsLabelProxy t (EventController -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEventControllerMethod t EventController, MethodInfo info EventController p) => IsLabel t (EventController -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "propagation-phase"
-- Type: TInterface "Gtk" "PropagationPhase"
-- Flags: [PropertyReadable,PropertyWritable]
getEventControllerPropagationPhase :: (MonadIO m, EventControllerK o) => o -> m PropagationPhase
getEventControllerPropagationPhase obj = liftIO $ getObjectPropertyEnum obj "propagation-phase"
setEventControllerPropagationPhase :: (MonadIO m, EventControllerK o) => o -> PropagationPhase -> m ()
setEventControllerPropagationPhase obj val = liftIO $ setObjectPropertyEnum obj "propagation-phase" val
constructEventControllerPropagationPhase :: PropagationPhase -> IO ([Char], GValue)
constructEventControllerPropagationPhase val = constructObjectPropertyEnum "propagation-phase" val
data EventControllerPropagationPhasePropertyInfo
instance AttrInfo EventControllerPropagationPhasePropertyInfo where
type AttrAllowedOps EventControllerPropagationPhasePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint EventControllerPropagationPhasePropertyInfo = (~) PropagationPhase
type AttrBaseTypeConstraint EventControllerPropagationPhasePropertyInfo = EventControllerK
type AttrGetType EventControllerPropagationPhasePropertyInfo = PropagationPhase
type AttrLabel EventControllerPropagationPhasePropertyInfo = "propagation-phase"
attrGet _ = getEventControllerPropagationPhase
attrSet _ = setEventControllerPropagationPhase
attrConstruct _ = constructEventControllerPropagationPhase
-- VVV Prop "widget"
-- Type: TInterface "Gtk" "Widget"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getEventControllerWidget :: (MonadIO m, EventControllerK o) => o -> m Widget
getEventControllerWidget obj = liftIO $ getObjectPropertyObject obj "widget" Widget
constructEventControllerWidget :: (WidgetK a) => a -> IO ([Char], GValue)
constructEventControllerWidget val = constructObjectPropertyObject "widget" val
data EventControllerWidgetPropertyInfo
instance AttrInfo EventControllerWidgetPropertyInfo where
type AttrAllowedOps EventControllerWidgetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint EventControllerWidgetPropertyInfo = WidgetK
type AttrBaseTypeConstraint EventControllerWidgetPropertyInfo = EventControllerK
type AttrGetType EventControllerWidgetPropertyInfo = Widget
type AttrLabel EventControllerWidgetPropertyInfo = "widget"
attrGet _ = getEventControllerWidget
attrSet _ = undefined
attrConstruct _ = constructEventControllerWidget
type instance AttributeList EventController = EventControllerAttributeList
type EventControllerAttributeList = ('[ '("propagationPhase", EventControllerPropagationPhasePropertyInfo), '("widget", EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
type instance SignalList EventController = EventControllerSignalList
type EventControllerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method EventController::get_propagation_phase
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gtk" "PropagationPhase"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_event_controller_get_propagation_phase" gtk_event_controller_get_propagation_phase ::
Ptr EventController -> -- _obj : TInterface "Gtk" "EventController"
IO CUInt
eventControllerGetPropagationPhase ::
(MonadIO m, EventControllerK a) =>
a -- _obj
-> m PropagationPhase -- result
eventControllerGetPropagationPhase _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_event_controller_get_propagation_phase _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data EventControllerGetPropagationPhaseMethodInfo
instance (signature ~ (m PropagationPhase), MonadIO m, EventControllerK a) => MethodInfo EventControllerGetPropagationPhaseMethodInfo a signature where
overloadedMethod _ = eventControllerGetPropagationPhase
-- method EventController::get_widget
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gtk" "Widget"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_event_controller_get_widget" gtk_event_controller_get_widget ::
Ptr EventController -> -- _obj : TInterface "Gtk" "EventController"
IO (Ptr Widget)
eventControllerGetWidget ::
(MonadIO m, EventControllerK a) =>
a -- _obj
-> m Widget -- result
eventControllerGetWidget _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_event_controller_get_widget _obj'
checkUnexpectedReturnNULL "gtk_event_controller_get_widget" result
result' <- (newObject Widget) result
touchManagedPtr _obj
return result'
data EventControllerGetWidgetMethodInfo
instance (signature ~ (m Widget), MonadIO m, EventControllerK a) => MethodInfo EventControllerGetWidgetMethodInfo a signature where
overloadedMethod _ = eventControllerGetWidget
-- method EventController::handle_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_event_controller_handle_event" gtk_event_controller_handle_event ::
Ptr EventController -> -- _obj : TInterface "Gtk" "EventController"
Ptr Gdk.Event -> -- event : TInterface "Gdk" "Event"
IO CInt
eventControllerHandleEvent ::
(MonadIO m, EventControllerK a) =>
a -- _obj
-> Gdk.Event -- event
-> m Bool -- result
eventControllerHandleEvent _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let event' = unsafeManagedPtrGetPtr event
result <- gtk_event_controller_handle_event _obj' event'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr event
return result'
data EventControllerHandleEventMethodInfo
instance (signature ~ (Gdk.Event -> m Bool), MonadIO m, EventControllerK a) => MethodInfo EventControllerHandleEventMethodInfo a signature where
overloadedMethod _ = eventControllerHandleEvent
-- method EventController::reset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_event_controller_reset" gtk_event_controller_reset ::
Ptr EventController -> -- _obj : TInterface "Gtk" "EventController"
IO ()
eventControllerReset ::
(MonadIO m, EventControllerK a) =>
a -- _obj
-> m () -- result
eventControllerReset _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_event_controller_reset _obj'
touchManagedPtr _obj
return ()
data EventControllerResetMethodInfo
instance (signature ~ (m ()), MonadIO m, EventControllerK a) => MethodInfo EventControllerResetMethodInfo a signature where
overloadedMethod _ = eventControllerReset
-- method EventController::set_propagation_phase
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "phase", argType = TInterface "Gtk" "PropagationPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_event_controller_set_propagation_phase" gtk_event_controller_set_propagation_phase ::
Ptr EventController -> -- _obj : TInterface "Gtk" "EventController"
CUInt -> -- phase : TInterface "Gtk" "PropagationPhase"
IO ()
eventControllerSetPropagationPhase ::
(MonadIO m, EventControllerK a) =>
a -- _obj
-> PropagationPhase -- phase
-> m () -- result
eventControllerSetPropagationPhase _obj phase = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let phase' = (fromIntegral . fromEnum) phase
gtk_event_controller_set_propagation_phase _obj' phase'
touchManagedPtr _obj
return ()
data EventControllerSetPropagationPhaseMethodInfo
instance (signature ~ (PropagationPhase -> m ()), MonadIO m, EventControllerK a) => MethodInfo EventControllerSetPropagationPhaseMethodInfo a signature where
overloadedMethod _ = eventControllerSetPropagationPhase