{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE TemplateHaskell #-}
module Monomer.SaveManager.SaveManagerModel
( SaveManagerModel(..)
, savedData
, currentData
, selectedData
, showConfirmRemove
, initSaveManagerModel
, initSaveManagerModel_
) where
import Control.Lens
import Data.Sequence (Seq)
import Data.Text (Text)
import qualified Data.Sequence as Seq
data SaveManagerModel a = SaveManagerModel
{ forall a. SaveManagerModel a -> Seq (a, Text)
_smmSavedData :: Seq (a, Text)
, forall a. SaveManagerModel a -> a
_smmCurrentData :: a
, forall a. SaveManagerModel a -> Maybe Int
_smmSelectedData :: Maybe Int
, forall a. SaveManagerModel a -> Bool
_smmShowConfirmRemove :: Bool
} deriving SaveManagerModel a -> SaveManagerModel a -> Bool
forall a. Eq a => SaveManagerModel a -> SaveManagerModel a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SaveManagerModel a -> SaveManagerModel a -> Bool
$c/= :: forall a. Eq a => SaveManagerModel a -> SaveManagerModel a -> Bool
== :: SaveManagerModel a -> SaveManagerModel a -> Bool
$c== :: forall a. Eq a => SaveManagerModel a -> SaveManagerModel a -> Bool
Eq
makeLensesWith abbreviatedFields 'SaveManagerModel
initSaveManagerModel :: a -> (SaveManagerModel a)
initSaveManagerModel :: forall a. a -> SaveManagerModel a
initSaveManagerModel a
v = forall a. a -> Seq (a, Text) -> SaveManagerModel a
initSaveManagerModel_ a
v forall a. Seq a
Seq.empty
initSaveManagerModel_ :: a -> Seq (a, Text) -> (SaveManagerModel a)
initSaveManagerModel_ :: forall a. a -> Seq (a, Text) -> SaveManagerModel a
initSaveManagerModel_ a
initData Seq (a, Text)
slots = SaveManagerModel
{ _smmSavedData :: Seq (a, Text)
_smmSavedData = Seq (a, Text)
slots
, _smmCurrentData :: a
_smmCurrentData = a
initData
, _smmSelectedData :: Maybe Int
_smmSelectedData = forall a. Maybe a
Nothing
, _smmShowConfirmRemove :: Bool
_smmShowConfirmRemove = Bool
False
}