Cleanup
This commit is contained in:
@@ -9,7 +9,7 @@ loadingScreen str = OptionScreen
|
||||
{ _scTitle = str
|
||||
, _scOptions = []
|
||||
, _scOffset = 0
|
||||
, _scPositionedMenuOption = NoPositionedMenuOption
|
||||
, _scPositionedMenuOption = NoEscapeMenuOption
|
||||
, _scOptionFlag = LoadingScreen
|
||||
, _scSelectionList = defaultSelectionList
|
||||
, _scAvailableLines = 0
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,6 +16,7 @@ makeEnumOption lns str sideeff =
|
||||
(\u -> sideeff (u & uvConfig . lns #%~ cycleDownEnum))
|
||||
(\u -> MODStringOption str (show (u ^# uvConfig . lns)))
|
||||
|
||||
makeSubmenuOption :: (Universe -> ScreenLayer) -> MenuOptionDisplay -> MenuOption
|
||||
makeSubmenuOption submenu t = Toggle (pushScreen submenu) (const t)
|
||||
|
||||
cycleEnum :: (Eq a, Enum a, Bounded a) => a -> a
|
||||
|
||||
Reference in New Issue
Block a user