submenu

 

   

Creating User Interfaces - Quick Navigation

A subMenu is used to place an item in the right-click menu that, if the cursor is placed on, opens a submenu containing additional user-interface items. The syntax for a subMenu is:

subMenu <label> [ filter:<function> ] ( <submenu_body> )

The <submenu_body> of a subMenu definition is made up of a sequence of RCMenu clauses as follows:

<submenu_body> ::= { <rcmenu_clause> }+

Parameters

label:

The string that appears in the right-click menu.

filter:

A function that returns a Boolean value. The filter function is evaluated when the right-click menu is first opened. If the filter function returns true the subMenu appears in the menu, otherwise it is not displayed.

EXAMPLE:

rcmenu MyRCmenu
(
fn flt_objects = ($ != undefined) -- objects filter
fn flt_shapes = (isKindOf $ Shape) -- shapes filter
menuItem mi_cs "Cast Shadows" checked:false
menuItem mi_rs "Receive Shadows" checked:false
separator sep2 filter:flt_objects
subMenu "Modifiers" filter:flt_objects -- begin subMenu
(
-- Add common objects
menuItem mi_bend "Bend"
menuItem mi_twist "Twist"
-- Add shape only modifiers
separator sep3 filter:flt_shapes
subMenu "Shape" filter:flt_shapes -- begin nested subMenu
(
menuItem mi_extrude "Extrude"
menuItem mi_EditSpline "Edit Spline"
)
)
-- event handlers would go here...
)
registerRightClickMenu MyRcmenu -- register the rcmenu

See Also