packages feed

lhae-0.0.2: src/Controller/Menu/Table/Delete.hs

module Controller.Menu.Table.Delete (columnEventHandler,rowEventHandler
                                    ,deleteColumns,deleteRows)
    where

import Controller (Controller,onGridModel,onGridView)
import Controller.Dialog (chooseColumnsDialog,chooseRowsDialog)
import qualified Controller.Menu.Table.Reevaluate as Reevaluate
import qualified Model.Grid as GridM
import qualified View.Component.Grid as GridV
import I18n (__)

columnEventHandler :: Controller ()
columnEventHandler = chooseColumnsDialog (__ "Delete") >>= deleteColumns

deleteColumns :: [Int] -> Controller ()
deleteColumns cols = do
  onGridModel $ GridM.deleteColumns cols
  onGridView $ GridV.deleteColumns $ reverse cols
  Reevaluate.eventHandler

rowEventHandler :: Controller ()
rowEventHandler = chooseRowsDialog (__ "Delete") >>= deleteRows

deleteRows :: [Int] -> Controller ()
deleteRows rows = do
  onGridModel $ GridM.deleteRows rows
  onGridView $ GridV.deleteRows $ reverse rows
  Reevaluate.eventHandler