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