{- | 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.GestureLongPress ( -- * Exported types GestureLongPress(..) , GestureLongPressK , toGestureLongPress , noGestureLongPress , -- * Methods -- ** gestureLongPressNew gestureLongPressNew , -- * Properties -- ** DelayFactor GestureLongPressDelayFactorPropertyInfo , constructGestureLongPressDelayFactor , getGestureLongPressDelayFactor , setGestureLongPressDelayFactor , -- * Signals -- ** Cancelled GestureLongPressCancelledCallback , GestureLongPressCancelledCallbackC , GestureLongPressCancelledSignalInfo , afterGestureLongPressCancelled , gestureLongPressCancelledCallbackWrapper, gestureLongPressCancelledClosure , mkGestureLongPressCancelledCallback , noGestureLongPressCancelledCallback , onGestureLongPressCancelled , -- ** Pressed 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 -- signal GestureLongPress::cancelled type GestureLongPressCancelledCallback = IO () noGestureLongPressCancelledCallback :: Maybe GestureLongPressCancelledCallback noGestureLongPressCancelledCallback = Nothing type GestureLongPressCancelledCallbackC = Ptr () -> -- object Ptr () -> -- user_data 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 -- signal GestureLongPress::pressed type GestureLongPressPressedCallback = Double -> Double -> IO () noGestureLongPressPressedCallback :: Maybe GestureLongPressPressedCallback noGestureLongPressPressedCallback = Nothing type GestureLongPressPressedCallbackC = Ptr () -> -- object CDouble -> CDouble -> Ptr () -> -- user_data 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 -- VVV Prop "delay-factor" -- Type: TBasicType TDouble -- Flags: [PropertyReadable,PropertyWritable] 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, *)]) -- method GestureLongPress::new -- method type : Constructor -- Args : [Arg {argName = "widget", argType = TInterface "Gtk" "Widget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "widget", argType = TInterface "Gtk" "Widget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gtk" "GestureLongPress" -- throws : False -- Skip return : False foreign import ccall "gtk_gesture_long_press_new" gtk_gesture_long_press_new :: Ptr Widget -> -- widget : TInterface "Gtk" "Widget" IO (Ptr GestureLongPress) gestureLongPressNew :: (MonadIO m, WidgetK a) => a -> -- widget 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'