module GI.Gtk.Objects.GestureLongPress
(
GestureLongPress(..) ,
GestureLongPressK ,
toGestureLongPress ,
noGestureLongPress ,
gestureLongPressNew ,
GestureLongPressDelayFactorPropertyInfo ,
constructGestureLongPressDelayFactor ,
getGestureLongPressDelayFactor ,
setGestureLongPressDelayFactor ,
GestureLongPressCancelledCallback ,
GestureLongPressCancelledCallbackC ,
GestureLongPressCancelledSignalInfo ,
afterGestureLongPressCancelled ,
gestureLongPressCancelledCallbackWrapper,
gestureLongPressCancelledClosure ,
mkGestureLongPressCancelledCallback ,
noGestureLongPressCancelledCallback ,
onGestureLongPressCancelled ,
GestureLongPressPressedCallback ,
GestureLongPressPressedCallbackC ,
GestureLongPressPressedSignalInfo ,
afterGestureLongPressPressed ,
gestureLongPressPressedCallbackWrapper ,
gestureLongPressPressedClosure ,
mkGestureLongPressPressedCallback ,
noGestureLongPressPressedCallback ,
onGestureLongPressPressed ,
) 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
newtype GestureLongPress = GestureLongPress (ForeignPtr GestureLongPress)
foreign import ccall "gtk_gesture_long_press_get_type"
c_gtk_gesture_long_press_get_type :: IO GType
type instance ParentTypes GestureLongPress = GestureLongPressParentTypes
type GestureLongPressParentTypes = '[GestureSingle, Gesture, EventController, GObject.Object]
instance GObject GestureLongPress where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_gesture_long_press_get_type
class GObject o => GestureLongPressK o
instance (GObject o, IsDescendantOf GestureLongPress o) => GestureLongPressK o
toGestureLongPress :: GestureLongPressK o => o -> IO GestureLongPress
toGestureLongPress = unsafeCastTo GestureLongPress
noGestureLongPress :: Maybe GestureLongPress
noGestureLongPress = Nothing
type GestureLongPressCancelledCallback =
IO ()
noGestureLongPressCancelledCallback :: Maybe GestureLongPressCancelledCallback
noGestureLongPressCancelledCallback = Nothing
type GestureLongPressCancelledCallbackC =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkGestureLongPressCancelledCallback :: GestureLongPressCancelledCallbackC -> IO (FunPtr GestureLongPressCancelledCallbackC)
gestureLongPressCancelledClosure :: GestureLongPressCancelledCallback -> IO Closure
gestureLongPressCancelledClosure cb = newCClosure =<< mkGestureLongPressCancelledCallback wrapped
where wrapped = gestureLongPressCancelledCallbackWrapper cb
gestureLongPressCancelledCallbackWrapper ::
GestureLongPressCancelledCallback ->
Ptr () ->
Ptr () ->
IO ()
gestureLongPressCancelledCallbackWrapper _cb _ _ = do
_cb
onGestureLongPressCancelled :: (GObject a, MonadIO m) => a -> GestureLongPressCancelledCallback -> m SignalHandlerId
onGestureLongPressCancelled obj cb = liftIO $ connectGestureLongPressCancelled obj cb SignalConnectBefore
afterGestureLongPressCancelled :: (GObject a, MonadIO m) => a -> GestureLongPressCancelledCallback -> m SignalHandlerId
afterGestureLongPressCancelled obj cb = connectGestureLongPressCancelled obj cb SignalConnectAfter
connectGestureLongPressCancelled :: (GObject a, MonadIO m) =>
a -> GestureLongPressCancelledCallback -> SignalConnectMode -> m SignalHandlerId
connectGestureLongPressCancelled obj cb after = liftIO $ do
cb' <- mkGestureLongPressCancelledCallback (gestureLongPressCancelledCallbackWrapper cb)
connectSignalFunPtr obj "cancelled" cb' after
type GestureLongPressPressedCallback =
Double ->
Double ->
IO ()
noGestureLongPressPressedCallback :: Maybe GestureLongPressPressedCallback
noGestureLongPressPressedCallback = Nothing
type GestureLongPressPressedCallbackC =
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkGestureLongPressPressedCallback :: GestureLongPressPressedCallbackC -> IO (FunPtr GestureLongPressPressedCallbackC)
gestureLongPressPressedClosure :: GestureLongPressPressedCallback -> IO Closure
gestureLongPressPressedClosure cb = newCClosure =<< mkGestureLongPressPressedCallback wrapped
where wrapped = gestureLongPressPressedCallbackWrapper cb
gestureLongPressPressedCallbackWrapper ::
GestureLongPressPressedCallback ->
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
gestureLongPressPressedCallbackWrapper _cb _ x y _ = do
let x' = realToFrac x
let y' = realToFrac y
_cb x' y'
onGestureLongPressPressed :: (GObject a, MonadIO m) => a -> GestureLongPressPressedCallback -> m SignalHandlerId
onGestureLongPressPressed obj cb = liftIO $ connectGestureLongPressPressed obj cb SignalConnectBefore
afterGestureLongPressPressed :: (GObject a, MonadIO m) => a -> GestureLongPressPressedCallback -> m SignalHandlerId
afterGestureLongPressPressed obj cb = connectGestureLongPressPressed obj cb SignalConnectAfter
connectGestureLongPressPressed :: (GObject a, MonadIO m) =>
a -> GestureLongPressPressedCallback -> SignalConnectMode -> m SignalHandlerId
connectGestureLongPressPressed obj cb after = liftIO $ do
cb' <- mkGestureLongPressPressedCallback (gestureLongPressPressedCallbackWrapper cb)
connectSignalFunPtr obj "pressed" cb' after
getGestureLongPressDelayFactor :: (MonadIO m, GestureLongPressK o) => o -> m Double
getGestureLongPressDelayFactor obj = liftIO $ getObjectPropertyDouble obj "delay-factor"
setGestureLongPressDelayFactor :: (MonadIO m, GestureLongPressK o) => o -> Double -> m ()
setGestureLongPressDelayFactor obj val = liftIO $ setObjectPropertyDouble obj "delay-factor" val
constructGestureLongPressDelayFactor :: Double -> IO ([Char], GValue)
constructGestureLongPressDelayFactor val = constructObjectPropertyDouble "delay-factor" val
data GestureLongPressDelayFactorPropertyInfo
instance AttrInfo GestureLongPressDelayFactorPropertyInfo where
type AttrAllowedOps GestureLongPressDelayFactorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint GestureLongPressDelayFactorPropertyInfo = (~) Double
type AttrBaseTypeConstraint GestureLongPressDelayFactorPropertyInfo = GestureLongPressK
type AttrGetType GestureLongPressDelayFactorPropertyInfo = Double
type AttrLabel GestureLongPressDelayFactorPropertyInfo = "GestureLongPress::delay-factor"
attrGet _ = getGestureLongPressDelayFactor
attrSet _ = setGestureLongPressDelayFactor
attrConstruct _ = constructGestureLongPressDelayFactor
type instance AttributeList GestureLongPress = GestureLongPressAttributeList
type GestureLongPressAttributeList = ('[ '("button", GestureSingleButtonPropertyInfo), '("delay-factor", GestureLongPressDelayFactorPropertyInfo), '("exclusive", GestureSingleExclusivePropertyInfo), '("n-points", GestureNPointsPropertyInfo), '("propagation-phase", EventControllerPropagationPhasePropertyInfo), '("touch-only", GestureSingleTouchOnlyPropertyInfo), '("widget", EventControllerWidgetPropertyInfo), '("window", GestureWindowPropertyInfo)] :: [(Symbol, *)])
data GestureLongPressCancelledSignalInfo
instance SignalInfo GestureLongPressCancelledSignalInfo where
type HaskellCallbackType GestureLongPressCancelledSignalInfo = GestureLongPressCancelledCallback
connectSignal _ = connectGestureLongPressCancelled
data GestureLongPressPressedSignalInfo
instance SignalInfo GestureLongPressPressedSignalInfo where
type HaskellCallbackType GestureLongPressPressedSignalInfo = GestureLongPressPressedCallback
connectSignal _ = connectGestureLongPressPressed
type instance SignalList GestureLongPress = GestureLongPressSignalList
type GestureLongPressSignalList = ('[ '("begin", GestureBeginSignalInfo), '("cancel", GestureCancelSignalInfo), '("cancelled", GestureLongPressCancelledSignalInfo), '("end", GestureEndSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pressed", GestureLongPressPressedSignalInfo), '("sequence-state-changed", GestureSequenceStateChangedSignalInfo), '("update", GestureUpdateSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gtk_gesture_long_press_new" gtk_gesture_long_press_new ::
Ptr Widget ->
IO (Ptr GestureLongPress)
gestureLongPressNew ::
(MonadIO m, WidgetK a) =>
a ->
m GestureLongPress
gestureLongPressNew widget = liftIO $ do
let widget' = unsafeManagedPtrCastPtr widget
result <- gtk_gesture_long_press_new widget'
checkUnexpectedReturnNULL "gtk_gesture_long_press_new" result
result' <- (wrapObject GestureLongPress) result
touchManagedPtr widget
return result'