submenu

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