Menu Verb
"Menu Verb" behavior
What it does
This behavior can be configured to
- open a menu or window (or not)
- highlight a menu item on mouseEnter (or not)
- close the menu system when users select from the menu (or not).
What to attach it to
Attach this behavior to
Menu Elements that you want to do at least one of the above things.
Normally this behavior is attached only to Menu Elements.
However, it can also be attached to
Window Elements. For instance, if your root menu is normally invisible
unless the user opens it, then you attach the Menu Verb behavior to
a Window Element that functions as a control to open the root menu.
However, the "7: Open a Window"
behavior is preferable for this function.
Another example of when you would attach this behavior to a Window
Element would be if you want to create a pop-up menu that opens on rightMouseDown
(Control+click in Macs).
The "Menu Verb" Parameter
Dialog Box
When you drag the "Menu Verb " behavior onto a sprite the
following dialog box opens. Click on a particular item to go to documentation
on it.

1. Open a menu or window on mouse event?
The first drop down, which defaults to "no", determines whether
some window or menu will be opened, and, if so, the event that will
trigger the opening of the window or menu. The drop down contains the
following options:
- no
- mouseEnter
- mouseDown
- mouseUp
- mouseLeave
- rightMouseDown (Control+click in Macs)
No
If you leave "no" selected, then no window or menu will be
opened. This is useful in cases where you want the Menu Element to perform
some action like 'Select All' or 'Paste' or some other operation which
does not normally require a further submenu or dialog box; but you do
want the Menu Element to be highlighted on mouseEnter and/or you want
the Menu Element to close the menu when the user selects the Menu Element.
In such case, you need to write a behavior that performs this action
and attach it to the Menu Element. You will probably also want to close
the menu on mouseUp, in that case. In such case, you would set the "3.
Close menu on mouse event?" option to "mouseUp".
Another example of when you would want to choose "No" is
when you want the menu item to open a new browser window. In this case,
you attach a behavior to the menu item that accomplishes this. The wfsmenu.dir
sample does this.
mouseEnter,
mouseDown, mouseUp, mouseLeave, rightMouseDown (Control+click
in Macs)
If you select any of these options, then a window or menu will be opened
on the selected event. Normally you would select "mouseUp",
in this event because that is how menus normally work.
Of note is the "rightMouseDown" option. You can open menus
with rightMouseDown (Control+click in Macs), which Windows For Shockwave
supports in menu creation. If you select "rightMouseDown"
then you need to uncheck the File > Publish Settings > Shockwave Save
> Context Menu checkbox. This is so the Shockwave Context Menu is not
displayed when you right click in the final Shockwave piece, if you
are making Shockwave (versus a Projector).
The reason that opening on rightMouseDown is generally reserved for
a pop-up menu (rather than implementing it with windows) is that, typically,
in applications that employ right mouse pop-up menus, the way to close
the pop-up is to click away from the menu or click on a menu item. And
that's how menus behave in WFS. Whereas to close a window, you generally
provide a button on the window that closes the window.
So if you select "rightMouseDown" in this dialog box, then
the name you specify in the box below it should be a menu, if you want
to follow standard interface expectations. See tutorial 4 for details
on creating right-click pop-up menus.
* If so, what is the name of it?
Specify the name of the window or menu you want opened. Do not specify
anything here unless you have selected something other than "no"
in the previous drop down.
If you specify the name of a menu or window you want to open, make
sure that this window or menu is instantiated whenever the user can
click to open the menu or window.
* Specify where you want it opened
The box that defaults to "Don't want one opened" contains
the following options:
- Don't want one opened.
- Do not move it, just open it.
- Center it.
- Open it where mouse is.
- Absolute location.
Don't want one opened.
Select this option if you don't want a menu opened on the selected
mouse event.
The drop-down defaults to "Don't want one opened" to coincide
with the "no" default of the "1. Open a menu or window
on mouse event" box. In other words, leave "Don't want one
opened." the way it is unless you selected something other than
"no" from the "1. Open a menu or window on mouse event"
box.
Do not move it, just open
it.
The "Do not move it, just open it" option opens the menu
or window where you designed it to be, or wherever it currently is,
should the user have moved it previously, or moved it indirectly via
the menu or window being a child configured to move when its parent
is moved.
Center it.
The "Center it" option centers it on the stage every time
this behavior opens the menu or window. Be aware that WFS uses the
window's background sprite as the reference sprite to center the window.
The background sprite is the first Window/Menu Element below the Manager
in the Score.
Open it where mouse
is.
The "Open it where mouse is" option opens it so that the
top left point of the window's background sprite (the sprite right
after the Window Manager in the Score) is where the mouse is.
This is normally what you would select should you wish to make a
pop-up menu that opens on rightMouseDown.
Absolute Location
Select this if you want to open the menu or window at an absolute
point each time the user opens the menu or window. You specify the
absolute location via the sliders in the "Menu Verb" parameter
dialog box.
Note that this is a bad option to choose if the window or menu is
a child configured to move when the parent is moved. Because the user
may have moved the parent, and thus moved the window or menu in question,
and opening it at an absolute location will position it out of context
relative to the position of the parent.
Consequently, it is usually best to choose this option only if the
window or menu has no parent or the window or menu is not configured
to be moved with its parent. All submenus move with the root menu,
by the way.
If 'Absolute location', specify horizontal value
If you specify "Absolute location", in the drop down labelled
"Specify where you want it opened", then and only then do
you need to set the sliders. Setting the sliders has no effect unless
"Absolute location" is selected. This particular slider
sets the horizontal absolute location where you want the menu or window
opened.
If 'Absolute location', specify vertical value
If you specify "Absolute location", in the drop down labelled
"Specify where you want it opened", then and only then do
you need to set the sliders. Setting the sliders has no effect unless
"Absolute location" is selected. This particular slider
sets the vertical absolute location where you want the menu or window
opened.
2. Highlight menu item on mouseEnter?
Select this if you want the menu item of a menu to be highlighted when
the user mouses into it.
This option has no effect if the Menu Verb behavior is attached to
a Window Element (as opposed to a Menu Element).
The "Menu Verb" behavior is normally attached to menu items.
If you attach the "Menu Verb" behavior to a window element
rather than a menu element, the setting of the "2. Highlight menu
item on mouseEnter" box has no effect: you can only use this feature
when you attach the "Menu Verb" behavior to a menu element.
For this option to work at all, you need to have a copy of the "Menu
item highlight vector" image in the Score and a copy of the
"Menu item behavior" attached
to it.
- Drag a copy of the "Menu item highlight vector" Shape
into the Score. You can put it in any static channel you like.
- Instantiate it through at least the range of frames through which
the menu is instantiated.
- Drag and drop a copy of the "Menu item highlight" behavior
on the "Menu item highlight vector" shape.
Regardless of how many menu items you have in your movie that you want
highlighted, you only need one copy in the Score of the "Menu item
highlight" behavior attached to one copy of the "Menu item
highlight vector" shape.
The "Menu item highlight" behavior makes the "Menu item
highlight vector" shape invisible during the movie unless it is
being used to highlight a menu item. Consequently, it doesn't matter
where you position it on the Stage. It moves itself around as required.
* If so, specify offset from left of menu item
This has no effect unless you checked the "Highlight menu item
on mouseEnter" box, in which case you can specify the number
of pixels the highlight will start from the left of the menu item.
Postive values start the highlight further to the left than the menu
item. Negative values make the highlight start to the right of the
left side of the menu item.
The default value of 0 makes the highlight start at the same left
point as the menu item itself.
* If so, specify offset from right of menu item
This has no effect unless you checked the "Highlight menu item
on mouseEnter" box, in which case you can specify the number
of pixels the highlight will end from the right of the menu item.
Postive values end the highlight further to the right than the menu
item. Negative values make the highlight end to the left of the right
side of the menu item.
The default value of 0 makes the highlight end at the same right
point as the menu item itself.
* Highlight above or below menu item?
This has no effect unless you checked "Highlight menu item on
mouseEnter?". In which case you specify here whether you want
the highlight (which is a copy of the "Menu item highlight"
vector shape) placed above or below the menu item itself. In other
words, what happens when a menu item is highlighted is a copy of the
"Menu item highlight" vector image is positioned either
above or below the menu item itself. If your menu items have the "background
transparent" ink, then you will probably want to specify "below"
here. Otherwise, specify "above", or the highlight will
not be visible.
3. Close menu on mouse event?
The selection you make here determines whether or how the menu will
be closed once the user triggers a specific mouse event. Normally, when
users click on a menu item, the menu closes. This option enables such
menu functionality.
This option has no effect if the Menu Verb behavior is attached to
a Window Element (as opposed to a Menu Element).
Note that when you configured the root Menu Manager for the menu system,
you were prompted with "If this is
a root menu, close menu root when user selects from menu?".
This question, answered only once for the entire menu system when you
configure the root Menu Manager, determines how the menu will close.
If you checked that box, then when the menu is closed, even the root
menu will disappear. If you didn't check that box, then when the menu
closes, the root menu will still be visible.
The drop down presents the following options:
Let's look at these options:
no
If you select "no" then the menu will not be closed when
the user selects. This is useful for menu items that open submenus.
mouseEnter
It might be somewhat perverse to close the menu when you enter a particular
menu item. Or not. Such as the case may be. For the perverse, then.
mouseDown
The convention is to close menus on mouseUp, not mouseDown, but the
option for mouseDown is available.
mouseUp
This is the convention for closing menus, if you play with some menus
in your desktop apps.
mouseLeave
This may be useful somehow, not sure how. The convention is to close
menus on mouseUp.
rightMouseDown (Control+click
in Macs)
I have never heard of closing menus on rightMouseDown, but the option
is available.
|