{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- {-# LANGUAGE NoMonomorphismRestriction #-} module Graphics.UI.Qtah.Core.QTimer ( QTimerValue (..), QTimerConstPtr (..), QTimerPtr (..), QTimerConst, QTimer, castConst, cast, downCastConst, downCast, new, interval, isActive, isSingleShot, remainingTime, setInterval, setSingleShot, start, timerId, timeoutSignal, ) where import qualified Foreign.Hoppy.Runtime as QtahFHR import Graphics.UI.Qtah.Generated.Core.QTimer import Graphics.UI.Qtah.Internal.Listener import qualified Graphics.UI.Qtah.Signal as QtahSignal import Prelude (($), (>>)) import qualified Prelude as HoppyP import qualified Prelude as QtahP castConst = toQTimerConst cast = toQTimer downCastConst = downToQTimerConst downCast = downToQTimer timeoutSignal :: (QTimerPtr object) => QtahSignal.Signal object (HoppyP.IO ()) timeoutSignal = QtahSignal.Signal { QtahSignal.internalConnectSignal = \object' fn' -> do listener' <- listener_new object' "2timeout()" fn' valid' <- listener_isValid listener' if valid' then QtahP.fmap QtahP.Just $ QtahSignal.internalMakeConnection listener' else QtahFHR.delete listener' >> QtahP.return QtahP.Nothing , QtahSignal.internalName = "QTimer::timeout (Listener)" }