hxournal-0.6.0: lib/Application/HXournal/Type/XournalState.hs
{-# LANGUAGE OverloadedStrings, TemplateHaskell #-}
module Application.HXournal.Type.XournalState where
import Application.HXournal.Device
import Application.HXournal.Type.Event
import Application.HXournal.Type.Enum
import Application.HXournal.Type.Canvas
import Application.HXournal.Type.Clipboard
import Application.HXournal.Type.Window
-- import Graphics.Xournal.Render.Select
import Data.Xournal.Map
import Graphics.Xournal.Render.BBoxMapPDF
import Control.Monad.State
import Data.Xournal.Simple
import Data.Xournal.Predefined
import Graphics.UI.Gtk hiding (Clipboard)
import Data.Maybe
import Data.Label
import Prelude hiding ((.), id)
type XournalStateIO = StateT HXournalState IO
data XournalState = ViewAppendState { unView :: TXournalBBoxMapPDF }
| SelectState { tempSelect :: TTempXournalSelectPDF }
data HXournalState = HXournalState { _xournalstate :: XournalState
, _currFileName :: Maybe FilePath
, _canvasInfoMap :: CanvasInfoMap
, _currentCanvas :: Int
, _frameState :: WindowConfig
, _rootWindow :: Widget
, _rootContainer :: Box
, _rootOfRootWindow :: Window
, _currentPenDraw :: PenDraw
, _clipboard :: Clipboard
, _callBack :: MyEvent -> IO ()
, _deviceList :: DeviceList
, _penInfo :: PenInfo
, _selectInfo :: SelectInfo
, _gtkUIManager :: UIManager
, _isSaved :: Bool
}
$(mkLabels [''HXournalState])
emptyHXournalState :: HXournalState
emptyHXournalState =
HXournalState
{ _xournalstate = ViewAppendState emptyTXournalBBoxMapPDF
-- (mkXournalBBoxMapFromXournal emptyXournal)
, _currFileName = Nothing
, _canvasInfoMap = error "emptyHXournalState.canvasInfoMap"
, _currentCanvas = error "emtpyHxournalState.currentCanvas"
, _frameState = error "emptyHXournalState.frameState"
, _rootWindow = error "emtpyHXournalState.rootWindow"
, _rootContainer = error "emptyHXournalState.rootContainer"
, _rootOfRootWindow = error "emptyHXournalState.rootOfRootWindow"
, _currentPenDraw = emptyPenDraw
, _clipboard = emptyClipboard
, _callBack = error "emtpyHxournalState.callBack"
, _deviceList = error "emtpyHxournalState.deviceList"
, _penInfo = PenInfo PenWork predefined_medium ColorBlack
, _selectInfo = SelectInfo SelectRectangleWork
, _gtkUIManager = error "emptyHXournalState.gtkUIManager"
, _isSaved = False
}