%TUIMENU ;VCL/SNW-FREEM MENU HANDLER; 03/09/2025 06:26 PM ;0.0;FreeM;****FREEM**;Serena Willis @2025 ; ; $Id: %TUIMENU.m,v 1.2 2025/03/10 00:38:15 snw Exp $ ; FreeM Menu Handler ; ; ; Author: Serena Willis ; Copyright (C) 1998 MUG Deutschland ; Copyright (C) 2023, 2025 Coherent Logic Development LLC ; ; ; This file is part of FreeM. ; ; FreeM is free software: you can redistribute it and/or modify ; it under the terms of the GNU Affero Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; ; FreeM is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU Affero Public License for more details. ; ; You should have received a copy of the GNU Affero Public License ; along with FreeM. If not, see . ; ; $Log: %TUIMENU.m,v $ ; Revision 1.2 2025/03/10 00:38:15 snw ; Phase 3 of REUSE compliance and header reformatting ; ; ; SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC ; SPDX-License-Identifier: AGPL-3.0-or-later Q GO(S,I) ; N %,C,DS,OPT S (%,OPT)="" D DISP(S,I) NXT S DS=1 W "Select ",$$G^%DB(S,I,"NAME")," Option//",$$G^%DB(S,I,"DEFAULT")," " R % I (%="q")!(%="Q") W " Quit",! Q I %="?" D DISP(S,I) G NXT S:%="" %=$$G^%DB(S,I,"DEFAULT"),DS=0 S %=$TR(%,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") S:'$D(@S@(I,"OPTS",%)) %="" I %="" W !,"Invalid selection. Press ? to view all options.",! G NXT W:DS " " W @S@(I,"OPTS",%) I ('$D(@S@(I,"ACT",%)))&('$D(@S@(I,"TAG",%))) W !,"No action or tag defined for ",%,".",! G NXT K %TAG I $D(@S@(I,"TAG",%)) S %TAG=@S@(I,"TAG",%) I $D(@S@(I,"ACT",%)) S C="D "_@S@(I,"ACT",%) X C K C G NXT Q DISP(S,I) ; N % S %="" W !,$$G^%DB(S,I,"DESC")," - ",$$G^%DB(S,I,"NAME"),!,! F S %=$O(@S@(I,"OPTS",%)) Q:%="" D . W " ",%,") ",@S@(I,"OPTS",%),! W !," Q) Quit",!,! Q