This commit is contained in:
2023-05-10 20:32:26 +01:00
parent 312f342e09
commit 5f238a65d0
9 changed files with 96 additions and 92 deletions
+7 -7
View File
@@ -11,7 +11,7 @@ import LensHelp
import Padding
import Picture.Base
initializeOptionMenu :: String -> [MenuOption] -> PositionedMenuOption -> Universe -> ScreenLayer
initializeOptionMenu :: String -> [MenuOption] -> EscapeMenuOption -> Universe -> ScreenLayer
initializeOptionMenu title ops pmo u =
OptionScreen
{ _scTitle = title
@@ -29,7 +29,7 @@ initializeOptionMenu title ops pmo u =
initializeOptionMenuBO :: String -> [MenuOption] -> String -> (Universe -> Universe) -> Universe -> ScreenLayer
initializeOptionMenuBO title ops str eff = initializeOptionMenu title ops pmo
where
pmo = BottomMenuOption $ (Toggle eff . const . MODString) str
pmo = BottomEscapeMenuOption $ (Toggle eff . const . MODString) str
refreshOptionsSelectionList :: Universe -> Universe
refreshOptionsSelectionList u = u & uvScreenLayers . ix 0 %~ f
@@ -48,7 +48,7 @@ makeOptionsSelectionList ::
Maybe Int ->
Universe ->
[MenuOption] ->
PositionedMenuOption ->
EscapeMenuOption ->
SelectionList (Universe -> Universe, Universe -> Universe)
makeOptionsSelectionList maxlines mselpos u mos pmo =
defaultSelectionList
@@ -60,12 +60,12 @@ optionsToSelections ::
Int ->
Universe ->
[MenuOption] ->
PositionedMenuOption ->
EscapeMenuOption ->
[SelectionItem (Universe -> Universe, Universe -> Universe)]
optionsToSelections maxlines u allops pmo = case pmo of
NoPositionedMenuOption -> map (menuOptionToSelectionItem u maxOptionLength) ops
TopMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (mo : ops)
BottomMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (ops ++ [mo])
NoEscapeMenuOption -> map (menuOptionToSelectionItem u maxOptionLength) ops
TopEscapeMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (mo : ops)
BottomEscapeMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (ops ++ [mo])
where
offset = fromMaybe 0 $ u ^? uvScreenLayers . _head . scOffset
ops