| glib-0.11.0: Binding to the GLIB library for Gtk2Hs. | Contents | Index |
|
|
|
|
Synopsis |
|
|
|
Documentation |
|
newtype Signal object handler |
|
|
on :: object -> Signal object callback -> callback -> IO (ConnectId object) |
Perform an action in response to a signal.
Use it like this:
on obj sig $ do
...
or if the signal handler takes any arguments:
on obj sig $ \args -> do
...
|
|
after :: object -> Signal object callback -> callback -> IO (ConnectId object) |
Perform an action in response to a signal.
- Like on but the signal is executed after Gtk's default handler has
run.
|
|
type SignalName = String |
|
type ConnectAfter = Bool |
|
data GObjectClass o => ConnectId o |
The type of signal handler ids. If you ever need to disconnect a signal
handler then you will need to retain the ConnectId you got when you
registered it.
| Constructors | |
|
|
signalDisconnect :: GObjectClass obj => ConnectId obj -> IO () |
Disconnect a signal handler. After disconnecting the handler will no
longer be invoked when the event occurs.
|
|
signalBlock :: GObjectClass obj => ConnectId obj -> IO () |
Block a specific signal handler.
- Blocks a handler of an instance so it will not be called during any
signal emissions unless it is unblocked again. Thus "blocking" a signal
handler means to temporarily deactive it, a signal handler has to be
unblocked exactly the same amount of times it has been blocked before
to become active again.
|
|
signalUnblock :: GObjectClass obj => ConnectId obj -> IO () |
Unblock a specific signal handler.
- Undoes the effect of a previous signalBlock call. A blocked handler
is skipped during signal emissions and will not be invoked, unblocking
it (for exactly the amount of times it has been blocked before) reverts
its "blocked" state, so the handler will be recognized by the signal
system and is called upon future or currently ongoing signal emissions
(since the order in which handlers are called during signal emissions
is deterministic, whether the unblocked handler in question is called
as part of a currently ongoing emission depends on how far that
emission has proceeded yet).
|
|
signalStopEmission :: GObjectClass obj => obj -> SignalName -> IO () |
Stops a signal's current emission.
- This will prevent the default method from running. The sequence in which
handlers are run is "first", "on", "last" then "after" where
Gtk-internal
signals are connected either at "first" or at "last". Hence this
function can only stop the signal processing if it is called from within
a handler that is connected with an "on" signal and if the Gtk-internal
handler is connected as "last". Gtk prints a warning if this function
is used on a signal which isn't being emitted.
|
|
disconnect :: GObjectClass obj => ConnectId obj -> IO () |
|
data GClosure |
|
connectGeneric :: GObjectClass obj => SignalName -> ConnectAfter -> obj -> handler -> IO (ConnectId obj) |
|
Produced by Haddock version 2.4.2 |