summaryrefslogtreecommitdiff
path: root/src/Gtk/State.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/State.icl')
-rw-r--r--src/Gtk/State.icl15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/Gtk/State.icl b/src/Gtk/State.icl
index 245ea7a..6adaf9c 100644
--- a/src/Gtk/State.icl
+++ b/src/Gtk/State.icl
@@ -5,19 +5,18 @@ import StdEnv
import Control.Monad
import Control.Monad.Identity
import Control.Monad.State
-import qualified Data.Map as M
+import qualified Data.Map
from Data.Map import :: Map
import Data.Maybe
-import qualified Gtk.Internal as I
-from Gtk.Internal import :: GSignalArgs{..}
+import Gtk.Internal
import Gtk.Signal
newGtkState :: GtkState
newGtkState =
{ world = ()
, return = False
- , signal_handlers = 'M'.newMap
+ , signal_handlers = 'Data.Map'.newMap
, signal_counter = 0
}
@@ -25,22 +24,22 @@ runGtk :: !(GtkM a) !*World -> (!a, !*World)
runGtk f w = (evalState wrapped_f newGtkState, w)
where
wrapped_f =
- toState 'I'.gtk_init >>|
+ toState gtk_init >>|
f >>= \x ->
main >>|
pure x
main =
- toStateR 'I'.gtk_main_iteration >>|
+ toStateR gtk_main_iteration >>|
handle_signals >>|
gets (\st -> st.return) >>= \return
| return -> pure ()
| otherwise -> main
handle_signals =
- toStateR 'I'.g_signal_pop >>= \sig_args -> case sig_args of
+ toStateR g_signal_pop >>= \sig_args -> case sig_args of
Nothing ->
pure ()
Just sig_args ->
- gets (\st -> 'M'.get sig_args.sig_id st.signal_handlers) >>= \(Just handler) ->
+ gets (\st -> 'Data.Map'.get sig_args.sig_id st.signal_handlers) >>= \(Just handler) ->
run handler >>|
handle_signals
with