Annotation of freem/mlib/%TUIMENU.m, revision 1.1.1.1
1.1 snw 1: %TUIMENU ; FREEM MENU HANDLER
2: Q
3: GO(S,I) ;
4: N %,C,DS,OPT S (%,OPT)=""
5: D DISP(S,I)
6: NXT S DS=1 W "Select ",$$G^%DB(S,I,"NAME")," Option//",$$G^%DB(S,I,"DEFAULT")," "
7: R %
8: I (%="q")!(%="Q") W " Quit",! Q
9: I %="?" D DISP(S,I) G NXT
10: S:%="" %=$$G^%DB(S,I,"DEFAULT"),DS=0
11: S %=$TR(%,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
12: S:'$D(@S@(I,"OPTS",%)) %=""
13: I %="" W !,"Invalid selection. Press ? to view all options.",! G NXT
14: W:DS " " W @S@(I,"OPTS",%)
15: I ('$D(@S@(I,"ACT",%)))&('$D(@S@(I,"TAG",%))) W !,"No action or tag defined for ",%,".",! G NXT
16: K %TAG I $D(@S@(I,"TAG",%)) S %TAG=@S@(I,"TAG",%)
17: I $D(@S@(I,"ACT",%)) S C="D "_@S@(I,"ACT",%) X C K C G NXT
18: Q
19: DISP(S,I) ;
20: N % S %=""
21: W !,$$G^%DB(S,I,"DESC")," - ",$$G^%DB(S,I,"NAME"),!,!
22: F S %=$O(@S@(I,"OPTS",%)) Q:%="" D
23: . W " ",%,") ",@S@(I,"OPTS",%),!
24: W !," Q) Quit",!,!
25: Q
26:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>