alto-0: src/Alto/Example.hs
{-# Language OverloadedStrings #-}
module Alto.Example where
import Alto.Compile
import Alto.Menu
exampleMenu :: IO MenuSystem
exampleMenu = compileRoot "Example Menu" $ do
de <- menu $ ent "Dead end!"
menu $ do
ent "This is like a header"
ent $ "Sub Menu" |-> de
-- ent "A directly defined submenu" $ do
-- ent "This is an entry in a directly defined submenu."
-- A sometimes hidden menu that
hideIt <- uniqueTag "Hide it" -- Makes sure the tag isn't used by something else
ent $ "Hide me!" &- hideIt |-+ hideIt
ent $ "Unhide it" &+ hideIt |-- hideIt
ent "Final entry"