module GI.Gtk.Objects.EventController
(
EventController(..) ,
EventControllerK ,
toEventController ,
noEventController ,
eventControllerGetPropagationPhase ,
eventControllerGetWidget ,
eventControllerHandleEvent ,
eventControllerReset ,
eventControllerSetPropagationPhase ,
EventControllerPropagationPhasePropertyInfo,
constructEventControllerPropagationPhase,
getEventControllerPropagationPhase ,
setEventControllerPropagationPhase ,
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
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
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, *)])
foreign import ccall "gtk_event_controller_get_propagation_phase" gtk_event_controller_get_propagation_phase ::
Ptr EventController ->
IO CUInt
eventControllerGetPropagationPhase ::
(MonadIO m, EventControllerK a) =>
a ->
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'
foreign import ccall "gtk_event_controller_get_widget" gtk_event_controller_get_widget ::
Ptr EventController ->
IO (Ptr Widget)
eventControllerGetWidget ::
(MonadIO m, EventControllerK a) =>
a ->
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'
foreign import ccall "gtk_event_controller_handle_event" gtk_event_controller_handle_event ::
Ptr EventController ->
Ptr Gdk.Event ->
IO CInt
eventControllerHandleEvent ::
(MonadIO m, EventControllerK a) =>
a ->
Gdk.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'
foreign import ccall "gtk_event_controller_reset" gtk_event_controller_reset ::
Ptr EventController ->
IO ()
eventControllerReset ::
(MonadIO m, EventControllerK a) =>
a ->
m ()
eventControllerReset _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_event_controller_reset _obj'
touchManagedPtr _obj
return ()
foreign import ccall "gtk_event_controller_set_propagation_phase" gtk_event_controller_set_propagation_phase ::
Ptr EventController ->
CUInt ->
IO ()
eventControllerSetPropagationPhase ::
(MonadIO m, EventControllerK a) =>
a ->
PropagationPhase ->
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 ()