ARPUS/ce, Version 2.6.2 (03/10/05) (SCCS 1.3)
_______________________________________________________________________________
mi <pdname>/<line> [['<title>' <ce;cmd;list>] ke ]
"Menu Item"
DESCRIPTION:
'mi' is used to set, display, or erase a menu item in the named
pull down menu. Changes made via the 'mi' command are propagated
to all Ce windows on the current display. Note that the 'lmi'
(Local Menu Item) command behaves just like the 'mi' command
except that the changes are local to the window they are
executed in. The three forms of the 'mi' command are as follows:
mi <pdname>/<line>
Display in ce's output window the definition
currently assigned to the specified menu item.
mi <pdname>/<line> 'title'<ce;cmd;list> ke
Add or replace a menu item with a new
definition. <ce;cmd;list> is parsed at
definition time for validity, and if Ce detects
a syntax error in the definition, it is
rejected. Using the value '$' for the line
number causes Ce to find the next available
line in the menu item and use that line. This
includes items previously erased.
mi <pdname>/<line> ke
Erases amenu item. The line is not displayed but exists
internally. Using -1 as the value for line causes all
the menu items in that pulldown to be erased.
ARGUMENTS:
<pdname>
This is the name of the pulldown to be modified or added
to. It is 1 to 8 alphameric characters. You can make up
new pulldown names and add Menu Items to them. They can
then be chained of existing pulldowns or activated from
a key definition (kd), command file (cmdf) or from the
'Command:' prompt. The 'pd' (Pull Down) command causes a
pulldown to be activated. To add menu items to the
default pulldowns, you need to know their names. From
left to right, the pull down names are:
File
Edit
Modes
Macro
Help
Their names are the same as their title in root pulldown
whose name is Menubar. Note that in the processing of
the root pulldown Menubar, item 'Help' is treated as a
special case.
<line>
This is the zero based line number of the menu item to
examine, update, or add. You may also use the value $ to
indicate that the item is to be added to the end of the
list. This is useful if you are augmenting the system
defaults. When you add lines to an existing pulldown,
make sure you do not skip any intermediate line numbers.
The line numbers, starting at zero are checked until a
not found condition is encountered. This is taken to be
the end of the list. Thus a hole in the numbering
sequence terminates the list. Also note that if the
'<title>' matches the '<title>' of another member of the
pulldown, the number will be overridden to replace the
pulldown entry with the same title.
'<title>'
This is the string to be placed into menu item line. It
is what is displayed on that line in the pull down. The
string can be enclosed in single, double, or reverse
quotes. If a menu item in the named pull down exists
with the same title, the menu item replaces this item no
matter what was specified in the line.
<ce;cmd;list>
This is the list of Ce commands separated by colons to
be executed under this menu item. It is parsed just like
a key definition. For an arbitrary list of Ce commands,
the commands are executed when a the mouse button is
released in the pulldown menu item corresponding to this
list. Thus holding the left mouse down and dragging to a
menu item or clicking a menu item produce the same
result.
The exception to the button release rule is when the Ce
command list contains a single 'pd' (pulldown) command.
In this case, the pulldown command is executed when the
mouse button is pressed or when the mouse button is held
down and the mouse is dragged into the pulldown menu
item. This exception gives the pulldowns the expected
behavior. A side effect of this is that you are not
allowed to mix a 'pd' command in the command list with
anything else. The Ce command list can either contain a
single 'pd' command or some list of other Ce commands.
Using cmdf, aliases, eval, or other techniques it is
possible to hide the 'pd' command from the 'mi' check
which disallows this mix. The effect of this is that the
pulldown will appear on the button release and the
corresponding menu item will not be marked with an arrow
to show it is a cascading pulldown. Do this sort of
thing at your own risk
ke
This is the terminator for the command list. If you
create pulldowns which add key definitions, use the same
rules for escaping "ke's" as when you nest key
definitions.
EXAMPLES:
1. REPLACE AN EXISTING PULLDOWN MENU ITEM:
The default menu item for doing text flow is defined by:
mi Edit/5 'Text Flow'tf ke
This reads, "Define line 5 of the Edit pulldown as displaying the
string "Text Flow" and when selected execute the 'tf' Ce
command." We would prefer that to use the text flow options which
do blank precompression (-p) and right justification (-b). We
would also like to use default left and right boundaries of 9 and
80 if the user does not do a rectangular mark over the region to
be text flowed. By adding the following line to your .Cekeys
file, these changes will be implemented.
mi Edit/5 'Text Flow'tf -p -b -l 9 -r 80 ke
2. ADD A CASCADING PULLDOWN:
By default, the Pulldown for Macro is empty. We wish to add a
cascading pulldown as the first menu item (item 0) which will
perform some local functions.
mi Macro/0 'My Stuff1'pd Mine ke
mi Mine/0 'Find All'tmw;1,$! -c -m grep -c \\&'Find: ' ke
mi Mine/1 'Print File'tmw;1,$! -c -m lp ke
mi Mine/2 'Print Region'! -c -m lp ke
mi Mine/3 'Count Words'! -c -m wc -w ke
mi Mine/4 'Sort Region'! sort ke
Note: If you want to try these out, copy them to the default
paste buffer (using F1 and F2 for example), press Escape and
execute the Ce command 'cmdf -p'. This will execute the contents
of the paste buffer as a command file.
2. ADD AN ENTRY TO THE END OF THE MACRO PULLDOWN:
alias ispell ro -off;pw;pn;tdmo;tl;dr;tr;xc -l file;tdm;tl;xd -l junk;icon -i;es'cpo -w "ceterm -geo c80x24 -autoclose y -vt on -w \\\'ispell ';xp file;tr;es'\\\'"';en;tmw;1,$xd -l junk;xd -l junk;tdm;es'xp -f ';xp file;tr;en;icon -w ke
mi Macro/$ 'Ispell'ispell ke
RELATED HELP FILES:
lmi (Local Menu Item)
pdm (Pull Down Menus)
tmb (To Menu Bar)
pd (Pull Down)
kd (Key Definition)
alias (Alias commands)
cmdf (Command File)
commands (List of Commands)
menubarCon Menu Bar Concepts
support (customer support)
_______________________________________________________________________________
Copyright (c) 2005, Robert Styma Consulting. All rights reserved.