lhae-0.0.2: src/Controller/Menu/File/NewClose.hs
module Controller.Menu.File.NewClose
(newEventHandler,closeEventHandler,closeAllEventHandler)
where
import Control.Monad (forM_,when)
import Controller (Controller,onView,onGridModel)
import qualified Controller.Grid as Grid
import qualified Controller.Menu.File.Save as Save
import qualified Controller.Menu.Table.Add as Add
import Model.Grid (getFilePath)
import View.Dialog.Simple (confirm)
import View (isGridOpen)
import I18n (__)
newEventHandler,closeEventHandler,closeAllEventHandler :: Controller ()
newEventHandler = do
Grid.new Nothing
forM_ [1..5] $ \_ -> Add.addRow Nothing
forM_ [1..5] $ \_ -> Add.addColumn Nothing
closeEventHandler = do
saveFirst <-
do filePath <- onGridModel getFilePath
case filePath of
Nothing -> onView $ confirm (__ "Save?") (__ "Save?")
Just f -> onView $ confirm (__ "Save?")
$ unwords [__ "Save as",f,"?"]
when saveFirst Save.saveEventHandler
Grid.deleteCurrent
closeAllEventHandler = do
closeEventHandler
stillOpen <- onView isGridOpen
when stillOpen closeAllEventHandler