Separate selection list items from display parameters

This commit is contained in:
2022-12-23 12:22:57 +00:00
parent 6ac4e5d669
commit b072dc9e9a
10 changed files with 141 additions and 132 deletions
+12 -9
View File
@@ -7,18 +7,20 @@ import Control.Lens
import Data.Set (Set)
import Dodge.Data.CardinalPoint
data ListDisplayParams = ListDisplayParams
{ _ldpPosX :: Float
, _ldpPosY :: Float
, _ldpScale :: Float
, _ldpVerticalGap :: Float
, _ldpCursorType :: CursorType
, _ldpWidth :: SelectionWidth
, _ldpSizeRestriction :: SelectionSizeRestriction
}
data SelectionList = SelectionList
{ _slPosX :: Float
, _slPosY :: Float
, _slScale :: Float
, _slVerticalGap :: Float
, _slItems :: [SelectionItem]
, _slShownItems :: [(SelectionItem,SelectionItemIndex)]
{ _slItems :: [SelectionItem]
, _slSelPos :: Maybe Int
, _slCursorType :: CursorType
, _slWidth :: SelectionWidth
, _slLength :: Int
, _slSizeRestriction :: SelectionSizeRestriction
}
data SelectionItemIndex = ListedSelectionItem Int
@@ -51,6 +53,7 @@ data SelectionItem = SelectionItem
, _siOffX :: Int
}
makeLenses ''ListDisplayParams
makeLenses ''SelectionList
makeLenses ''SelectionItem
makeLenses ''SpecialSelectionItem
+2
View File
@@ -57,6 +57,8 @@ data ScreenLayer
, _scOptionFlag :: OptionScreenFlag
, _scSelectionList :: SelectionList
, _scAvailableLines :: Int
, _scShownItems :: [(SelectionItem,SelectionItemIndex)]
, _scListDisplayParams :: ListDisplayParams
}
| ColumnsScreen
{ _scTitle :: String