projects
/
matthijs
/
projects
/
fpprac.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
69ec94b
)
Save the opened window in the state.
author
Matthijs Kooijman
<matthijs@stdin.nl>
Mon, 24 Aug 2009 17:51:16 +0000
(19:51 +0200)
committer
Matthijs Kooijman
<matthijs@stdin.nl>
Mon, 24 Aug 2009 17:51:16 +0000
(19:51 +0200)
FPPrac.hs
patch
|
blob
|
history
diff --git
a/FPPrac.hs
b/FPPrac.hs
index cfbf0008654ad762246d6af423a85b102bd49130..47b3cad30e0c80c06efa2445adeebc50b9ab7e62 100644
(file)
--- a/
FPPrac.hs
+++ b/
FPPrac.hs
@@
-98,10
+98,8
@@
testProg = Main
}
data IState = forall s. IS
}
data IState = forall s. IS
- { {-sFrame :: Frame ()
- , sPanel :: Panel ()
- , buffer :: MemoryDC ()
- , -}postponed :: IORef [Request]
+ { window :: Gtk.Window
+ , postponed :: IORef [Request]
, usrState :: IORef s
, usrProg :: TinaStep s
}
, usrState :: IORef s
, usrProg :: TinaStep s
}
@@
-134,7
+132,7
@@
runTina :: TinaProgram -> IO ()
runTina Main {..} = do
usrState <- newIORef initialState
postponed <- newIORef (GfxText (rgb 0 0 0) (pt 50 50) "foo" : GfxClear :initialRequests)
runTina Main {..} = do
usrState <- newIORef initialState
postponed <- newIORef (GfxText (rgb 0 0 0) (pt 50 50) "foo" : GfxClear :initialRequests)
- let state = IS { usrProg = eventHandler, .. }
+ let state = IS {
window = undefined,
usrProg = eventHandler, .. }
runGUI windowWidth windowHeight state
runGUI :: Int -> Int -> IState -> IO ()
runGUI windowWidth windowHeight state
runGUI :: Int -> Int -> IState -> IO ()
@@
-145,12
+143,16
@@
runGUI w h s = do
-- Create a window, which will make the mainloop terminated when
-- it is closed.
window <- Gtk.windowNew
-- Create a window, which will make the mainloop terminated when
-- it is closed.
window <- Gtk.windowNew
+
Gtk.set window [ Gtk.containerBorderWidth := 10
, Gtk.windowTitle := "FP Practicum"
, Gtk.windowDefaultWidth := w
, Gtk.windowDefaultHeight := h
]
Gtk.onDestroy window Gtk.mainQuit
Gtk.set window [ Gtk.containerBorderWidth := 10
, Gtk.windowTitle := "FP Practicum"
, Gtk.windowDefaultWidth := w
, Gtk.windowDefaultHeight := h
]
Gtk.onDestroy window Gtk.mainQuit
+
+ -- Add the window to the state
+ let state = s { window = window }
-- Show the window and start the Gtk mainloop.
Gtk.widgetShowAll window
-- Show the window and start the Gtk mainloop.
Gtk.widgetShowAll window