FUNC init((ma)):(ma)
STATE
let(global = ["Menu" -> GlobaInfo([], {"menu"}),
"GInsPal" -> GlobalInfo(["pal" -> "Pal", "sig" -> "Sig"],
{"inspal"}
),
"GRemPal" -> GlobalInfo(["pal" -> "Pal", "sig" -> "Sig"],
{"rempal"}
),
"ViewConsPal" -> GlobalInfo(["sig" -> "Sig"],
{"conspal"}
),
"DoConsPal" -> GlobalInfo(["pal" -> "Pal"], {})
],
gis1 = ["Menu" -> MENU("Principal",
<Option(EvId("GInit", NIL), "Dicionario Vazio"),
Option(EvId("GInsPal", NIL), "Inserir Palavra"),
Option(EvId("GRemPal", NIL), "Remover Palavra"),
Option(EvId("ViewConsPal", NIL), "Consultar"),
Option(EvId("Fim", NIL), "Sair")
>
),
"Fim" -> DB("Fim",
[],
[],
[]
),
"GInsPal" -> DB("Insercao",
["pal" -> HimSelf(LxDef("", "Palavra", "")),
"sig" -> HimSelf(LxDef("", "Significado", ""))
],
[],
[CmdId("$Cancel") -> LxDef("", "Cancelar", ""),
CmdId("$OK") -> LxDef("", "Terminar", "")
]
),
"GRemPal" -> DB("Remocao",
["pal" -> HimSelf(LxDef("", "Palavra", "")),
"sig" -> HimSelf(LxDef("", "Significado", ""))
],
[],
[CmdId("$Cancel") -> LxDef("", "Cancelar", ""),
CmdId("$OK") -> LxDef("", "Terminar", "")
]
),
"ViewConsPal" -> DB("Consulta",
["sig" -> HimSelf(LxDef("", "Significado", ""))
],
[EvId("DoConsPal", "sig") ->
DBGIView(LxDef("", "Ler Palavra", ""),
true
)
],
[CmdId("$OK") -> LxDef("", "Terminar", "")
]
),
"DoConsPal" -> DB("Ler Palavra",
["pal" -> HimSelf(LxDef("", "Palavra", ""))],
[],
[]
),
"GInit" -> DB("Vazio",
[],
[],
[]
)
],
gis2 = ["Menu" -> MENU("Main",
<Option(EvId("GInit", NIL), "Empty Dictionary"),
Option(EvId("GInsPal", NIL), "Insert Word"),
Option(EvId("GRemPal", NIL), "Delete Word"),
Option(EvId("ViewConsPal", NIL), "Search"),
Option(EvId("Fim", NIL), "Quit")
>
),
"Fim" -> DB("Fim",
[],
[],
[]
),
"GInsPal" -> DB("Insert",
["pal" -> HimSelf(LxDef("", "Word", "")),
"sig" -> HimSelf(LxDef("", "Meaning", ""))
],
[],
[CmdId("$Cancel") -> LxDef("", "Cancel", ""),
CmdId("$OK") -> LxDef("", "OK", "")
]
),
"GRemPal" -> DB("Delete",
["pal" -> HimSelf(LxDef("", "Word", "")),
"sig" -> HimSelf(LxDef("", "Meaning", ""))
],
[],
[CmdId("$Cancel") -> LxDef("", "Cancel", ""),
CmdId("$OK") -> LxDef("", "OK", "")
]
),
"ViewConsPal" -> DB("Search",
["sig" -> HimSelf(LxDef("", "Meaning", ""))
],
[EvId("DoConsPal", "sig") ->
DBGIView(LxDef("", "Read Word", ""),
true
)
],
[CmdId("$OK") -> LxDef("", "OK", "")
]
),
"DoConsPal" -> DB("Read Word",
["pal" -> HimSelf(LxDef("", "Word", ""))],
[],
[]
),
"GInit" -> DB("Empty",
[],
[],
[]
)
],
views = ["Portugues" -> gis1, "Ingles" -> gis2],
canal = channel("lxst"),
canal1 = channel("stlx"),
canal2 = channel("stsm"),
canal3 = channel("smlx")
)
in ma <- ModApr(global, views, "Portugues", "Menu", canal1, canal3, canal,
canal2);