développement original par
Bill Steinbock
(Modifié par Philippe Halet: voir les modifications en fin d’article)
BARMENU est une application MDL qui permet aux programmeurs non MDL de créer des barres de menus spécifiques à votre utilisation. La définition du fichier de menu est contenue dans un fichier texte ASCII. Le fichier de définition de menu par défaut est indiqué par la variable BARMENU mais peut-être donné en paramètre.
Envoyer le lien à :
Un extrait d’un exemple de fichier de menu est présenté ci-dessous.
; Sample Menu | comments ignored
; menu title option 1
#Menu Title 1 | Menu Title
; menu title option 2
Title=Menu Title 2 | Menu Title
; mdl command to load as menu is activated
mdl l scale
mdl l pan
; now begin menu entries
Settings | Label on menu bar
{ | brace defines nest level
AA by 2Pt, "act ang pt2" | label, "keyin"
AA by 3Pt, "act ang pt3" | label, "keyin"
AS by Dist, "act scale dis" | label, "keyin"
Locks On | pulldown sub menu
{ | nest level incremented
Graphic Group, "Lock GG On" | label, "keyin"
Axis, "Lock Axis On" | label, "keyin"
-, | dividing line (must have comma)
Keypoint, "lock snap key" | label, "keyin"
Project, "lock snap proj" | label, "keyin"
Intersection, "lock snap inter" | label, "keyin"
} | nest level decremented
Locks Off | pulldown sub menu
{ | nest level incremented
Graphic Group, "Lock GG Off" |
Axis, "Lock Axis Off" |
Intersection, "lock snap inter off" |
} |
} | terminate Setting menu
| blank lines ignored
Setup |
{ |
Keyin Scale, "uc=scale" |
Arch Scale |
{ |
1/16, "uc=scale;16" | call ucm SCALE then keyin 16
1/8, "uc=scale;8" | call ucm SCALE then keyin 8
1/4, "uc=scale;4" | call ucm SCALE then keyin 4
} |
} | terminate Setup menu
Utilities | Label on Menu Bar
{ |
Plot Date | pulldown submenu
{ |
Place, "mdl l datstmp;place stamp" | load and execute MDL command
Update,"mdl l datstmp;update stamp" | load and execute MDL command
} |
AA=keyin, "m,erEnterAngle;t,aa=" | display prompt in error field
} | terminate Utilities menu
L’analyseur qui traite les lignes du fichier de définition est très primitif et fait très peu de vérification d’erreur. Il est de la responsabilité de l’auteur du fichier de définition de menu de vérifier la syntaxe appropriée. Les règles suivantes doivent être suivies pour assurer le succès.
Pour exécuter le programme, introduire dans la barre d’entrée au clavier la commande :
Dans cette version, vous pouvez avoir:
Ce qui permettra de passer d’une définition de menu à une autre :