gi-gtk-0.3.16.12: 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
eventControllerGetPropagationPhase ,
-- ** eventControllerGetWidget
eventControllerGetWidget ,
-- ** eventControllerHandleEvent
eventControllerHandleEvent ,
-- ** eventControllerReset
eventControllerReset ,
-- ** eventControllerSetPropagationPhase
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
-- 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 = "EventController::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 = "EventController::widget"
attrGet _ = getEventControllerWidget
attrSet _ = undefined
attrConstruct _ = constructEventControllerWidget
type instance AttributeList EventController = EventControllerAttributeList
type EventControllerAttributeList = ('[ '("propagation-phase", EventControllerPropagationPhasePropertyInfo), '("widget", EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
type instance SignalList EventController = EventControllerSignalList
type EventControllerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method EventController::get_propagation_phase
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- 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
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'
-- method EventController::get_widget
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- 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
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'
-- method EventController::handle_event
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- 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
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'
-- method EventController::reset
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- 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 ()
eventControllerReset _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_event_controller_reset _obj'
touchManagedPtr _obj
return ()
-- method EventController::set_propagation_phase
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gtk" "PropagationPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "EventController", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gtk" "PropagationPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- 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 ()
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 ()