Cleanup
This commit is contained in:
+11
-23
@@ -14,9 +14,8 @@ import LensHelp
|
||||
import Padding
|
||||
import Picture.Base
|
||||
|
||||
initializeOptionMenu ::
|
||||
String -> [MenuOption] -> EscapeMenuOption -> Universe -> ScreenLayer
|
||||
initializeOptionMenu title ops pmo u =
|
||||
initializeOptionMenu :: ExtraMenuOption -> String -> [MenuOption] -> Universe -> ScreenLayer
|
||||
initializeOptionMenu pmo title ops u =
|
||||
OptionScreen
|
||||
{ _scTitle = title
|
||||
, _scOptions = ops
|
||||
@@ -28,12 +27,10 @@ initializeOptionMenu title ops pmo u =
|
||||
, _scDisplayTime = 0
|
||||
}
|
||||
|
||||
-- BO = Bottom Option
|
||||
initializeOptionMenuBO ::
|
||||
String -> [MenuOption] -> String -> (Universe -> Universe) -> Universe -> ScreenLayer
|
||||
initializeOptionMenuBO title ops str eff = initializeOptionMenu title ops pmo
|
||||
where
|
||||
pmo = BottomEscapeMenuOption $ (Toggle eff . const . MODString) str
|
||||
String -> (Universe -> Universe) -> String -> [MenuOption] -> Universe -> ScreenLayer
|
||||
initializeOptionMenuBO str eff = initializeOptionMenu
|
||||
$ BottomMenuOption $ (Toggle eff . const . MODString) str
|
||||
|
||||
refreshOptionsSelectionList :: Universe -> Universe
|
||||
refreshOptionsSelectionList u = u & uvScreenLayers . ix 0 %~ f
|
||||
@@ -51,17 +48,18 @@ optionsToSelections ::
|
||||
Int ->
|
||||
Universe ->
|
||||
[MenuOption] ->
|
||||
EscapeMenuOption ->
|
||||
ExtraMenuOption ->
|
||||
[SelectionItem (Universe -> Universe, Universe -> Universe)]
|
||||
optionsToSelections maxlines u allops pmo = case pmo of
|
||||
NoEscapeMenuOption -> map (menuOptionToSelectionItem u maxOptionLength) ops
|
||||
TopEscapeMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (mo : ops)
|
||||
BottomEscapeMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (ops ++ [mo])
|
||||
NoExtraMenuOption -> map (menuOptionToSelectionItem u maxOptionLength) ops
|
||||
TopMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (mo : ops)
|
||||
BottomMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (ops ++ [mo])
|
||||
where
|
||||
offset = fromMaybe 0 $ u ^? uvScreenLayers . _head . scOffset
|
||||
ops
|
||||
| maxlines >= length allops = allops
|
||||
| otherwise = take (maxlines - 2) (drop offset allops ++ repeat dummyMenuOption) ++ [cycleOptionsOption]
|
||||
| otherwise = take (maxlines - 2) (drop offset allops ++ repeat dummyMenuOption)
|
||||
++ [cycleOptionsOption]
|
||||
maxOptionLength = 3 + maximum (0 : map (optionValueOffset u) ops)
|
||||
cycleOptionsOption =
|
||||
Toggle
|
||||
@@ -117,13 +115,3 @@ menuOptionToSelectionItem w padAmount mo =
|
||||
optionText = case _moString mo w of
|
||||
MODStringOption s t -> rightPad padAmount '.' s ++ t
|
||||
x -> _modString x
|
||||
|
||||
--menuOptionToString :: Universe -> Int -> MenuOption -> (Color, String)
|
||||
--menuOptionToString w padAmount mo = (thecol, optionText)
|
||||
-- where
|
||||
-- thecol = case _moString mo w of
|
||||
-- MODBlockedString{} -> greyN 0.5
|
||||
-- _ -> white
|
||||
-- optionText = case _moString mo w of
|
||||
-- MODStringOption s t -> rightPad padAmount '.' s ++ t
|
||||
-- x -> _modString x
|
||||
|
||||
Reference in New Issue
Block a user