module Graphics.UI.Gtk.ImageView.Signals (
module System.Glib.Signals,
connect_ENUM__NONE,
connect_NONE__NONE,
connect_DOUBLE__NONE,
connect_INT__NONE,
connect_OBJECT_OBJECT__NONE,
connect_ENUM_ENUM__NONE,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString (peekUTFString)
import System.Glib.GError (failOnGError)
import System.Glib.Signals
import System.Glib.GObject
connect_ENUM__NONE ::
(Enum a, GObjectClass obj) => SignalName ->
ConnectAfter -> obj ->
(a -> IO ()) ->
IO (ConnectId obj)
connect_ENUM__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> Int -> IO ()
action _ enum1 =
failOnGError $
user (toEnum enum1)
connect_NONE__NONE ::
GObjectClass obj => SignalName ->
ConnectAfter -> obj ->
(IO ()) ->
IO (ConnectId obj)
connect_NONE__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> IO ()
action _ =
failOnGError $
user
connect_DOUBLE__NONE ::
GObjectClass obj => SignalName ->
ConnectAfter -> obj ->
(Double -> IO ()) ->
IO (ConnectId obj)
connect_DOUBLE__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> Double -> IO ()
action _ double1 =
failOnGError $
user double1
connect_INT__NONE ::
GObjectClass obj => SignalName ->
ConnectAfter -> obj ->
(Int -> IO ()) ->
IO (ConnectId obj)
connect_INT__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> Int -> IO ()
action _ int1 =
failOnGError $
user int1
connect_OBJECT_OBJECT__NONE ::
(GObjectClass a', GObjectClass b', GObjectClass obj) => SignalName ->
ConnectAfter -> obj ->
(a' -> b' -> IO ()) ->
IO (ConnectId obj)
connect_OBJECT_OBJECT__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> Ptr GObject -> Ptr GObject -> IO ()
action _ obj1 obj2 =
failOnGError $
makeNewGObject (GObject, objectUnref) (return obj2) >>= \obj2' ->
makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->
user (unsafeCastGObject obj1') (unsafeCastGObject obj2')
connect_ENUM_ENUM__NONE ::
(Enum a, Enum b, GObjectClass obj) => SignalName ->
ConnectAfter -> obj ->
(a -> b -> IO ()) ->
IO (ConnectId obj)
connect_ENUM_ENUM__NONE signal after obj user =
connectGeneric signal after obj action
where action :: Ptr GObject -> Int -> Int -> IO ()
action _ enum1 enum2 =
failOnGError $
user (toEnum enum1) (toEnum enum2)