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