FBMenuManager Class Reference


Detailed Description

The menu manager allows access to MotionBuilder menu bar.

It can be used to retrieve the item corresponding to a menu path in the menu bar. A menu path is similar to a file path but it specifies the location of menu item in a hierarchy of menu. ex: to retrieve the item corresponding to MoBu Save item: item = menuMgr.GetMenu("&File/Save")

It is to be noted that menu item already inserted in MoBu menu bar and that have a shortcut assign to them have a "&" in their name (which make their retrieval not trivial). For reference here is the real name of each of the root menus: "&File", "&Edit","&Animation","&Window","&Settings", "&Layout","&Help"

The menu manager can be used to insert new menu item in the menubar. You have to specify the menu path at which to insert the menu (to insert a new root menu, use NULL or None as the menu path)

    #Insert a new Root Menu before the Help menu
    menuMgr.InsertBefore(None, "&Help", "before menu")

    #Insert a new Root Menu after the Help menu
    menuMgr.InsertAfter(None, "&Help", "After menu")

    # Insert a new keyboard:
    menuMgr.InsertLast("&Settings/&Keyboard Configuration", "New keyboard")

As a convenience operation, you can from the menu manager enable and disable menu item (instead of retrieving their corresponding item).

Examples
UI/FBMenu.py
Inheritance diagram for FBMenuManager:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  __init__ ()
  Constructor.
FBGenericMenu  GetMenu (str pPath)
  Get the Menu (NOT menu item) corresponding to a menu path.
FBGenericMenuItem  InsertFirst (str pMenuPath, str pMenuName)
  Insert a new menu at the first position of a specific path.
FBGenericMenuItem  InsertLast (str pMenuPath, str pMenuName)
  Insert a new menu at the last position of a specific path.
FBGenericMenuItem  InsertBefore (str pMenuPath, str pAfterMenuName, str pMenuName)
  Insert a new menu at a specific path BEFORE another item.
FBGenericMenuItem  InsertAfter (str pMenuPath, str pBeforeMenuName, str pMenuName)
  Insert a new menu at a specific path AFTER another item.
  SetItemEnable (str pMenuPath, int pItemId, bool pEnable)
  Enable or disable a specific menu item.
bool  IsItemEnable (str pMenuPath, int pItemId)
  Check if a particular item is enabled or disabled.

Member Function Documentation

__init__ ( )

Constructor.

There is only one MenuManager in MotionBuilder, creating multiple FBMenuManager always return the same handle to the same global menu manager.

Examples
UI/FBMenu.py
FBGenericMenu GetMenu ( str  pPath )

Get the Menu (NOT menu item) corresponding to a menu path.

Don't forget that most menu path already in MotionBuilder have a "&"as the first letter of their name (&Help, &Settings). You have to use / as a separator in the specified men u path (ex: "&Settings/&Keyboard Configuration").

Parameters:
pPath Path of the menu to retrieve
Returns:
the FBGenericMenu at this path./
FBGenericMenuItem InsertFirst ( str  pMenuPath,
str  pMenuName 
)

Insert a new menu at the first position of a specific path.

Parameters:
pMenuPath Path where to insert the menu. If this is NULL (None) it will insert a new root menu.
pMenuName Name (Caption) of the newly inserted menu.
Returns:
Returns the menu item corresponding to the newly inserted menu.
FBGenericMenuItem InsertLast ( str  pMenuPath,
str  pMenuName 
)

Insert a new menu at the last position of a specific path.

Parameters:
pMenuPath Path where to insert the menu. If this is NULL (None) it will insert a new root menu.
pMenuName Name (Caption) of the newly inserted menu.
Returns:
Returns the menu item corresponding to the newly inserted menu.
FBGenericMenuItem InsertBefore ( str  pMenuPath,
str  pAfterMenuName,
str  pMenuName 
)

Insert a new menu at a specific path BEFORE another item.

Parameters:
pMenuPath Path where to insert the menu. If this is NULL (None) it will insert a new root menu.
pAfterMenuName Name of the menu item BEFORE which we will insert the new item.
Returns:
Returns the menu item corresponding to the newly inserted menu.
FBGenericMenuItem InsertAfter ( str  pMenuPath,
str  pBeforeMenuName,
str  pMenuName 
)

Insert a new menu at a specific path AFTER another item.

Parameters:
pMenuPath Path where to insert the menu. If this is NULL (None) it will insert a new root menu.
pBeforeMenuName Name of the menu item AFTER which we will insert the new item.
Returns:
Returns the menu item corresponding to the newly inserted menu.
SetItemEnable ( str  pMenuPath,
int  pItemId,
bool  pEnable 
)

Enable or disable a specific menu item.

The menu path specifies the menu where we find the item to be enabled/disabled. The Id specifies which item in the menu.

Parameters:
pMenuPath Path where to find the menu to enable/disable
pItemId Id of the item in the menu to disable.
pEnable Enable (true) or disable (false) a menu item.
bool IsItemEnable ( str  pMenuPath,
int  pItemId 
)

Check if a particular item is enabled or disabled.

The menu path specifies the menu where we find the item to be enabled/disabled. The Id specifies which item in the menu.

Parameters:
pMenuPath Path where to find the menu to check
pItemId Id of the item to check.
Returns:
Is the item enable or not.

FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager
FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager FBMenuManager