Open Reality Reference Guide
FBGenericMenu Class Reference

A GenericMenu class. More...

#include <fbgenericmenu.h>

Inheritance diagram for FBGenericMenu:

Public Member Functions

 FBGenericMenu (HIObject pObject=NULL)
 Default constructor. More...
 
virtual void FBDelete () override
 Virtual FBDelete function. More...
 
FBGenericMenuItemGetFirstItem ()
 Returns the first menu item (if existing) in this menu. More...
 
FBGenericMenuItemGetLastItem ()
 Returns the last menu item (if existing) in this menu. More...
 
FBGenericMenuItemGetNextItem (FBGenericMenuItem *pItem)
 Returns the menu item following an other item. More...
 
FBGenericMenuItemGetPrevItem (FBGenericMenuItem *pItem)
 Returns the menu item preceding an other item. More...
 
FBGenericMenuItemGetItem (int pItemId)
 Returns the menu item corresponding to an id. More...
 
FBGenericMenuItemInsertFirst (const char *pItemName, int pItemId, FBGenericMenu *pMenu=NULL)
 Inserts a new menu Item at the first position in the menu list. More...
 
FBGenericMenuItemInsertLast (const char *pItemName, int pItemId, FBGenericMenu *pMenu=NULL)
 Inserts a new menu Item at the last position in the menu list. More...
 
FBGenericMenuItemInsertAfter (FBGenericMenuItem *pBeforeItem, const char *pItemName, int pItemId, FBGenericMenu *pMenu=NULL)
 Inserts a new menu Item AFTER another item. More...
 
FBGenericMenuItemInsertBefore (FBGenericMenuItem *pAfterItem, const char *pItemName, int pItemId, FBGenericMenu *pMenu=NULL)
 Inserts a new menu Item BEFORE another item. More...
 
void DeleteItem (FBGenericMenuItem *pToDelete)
 Remove a menu item from the menu and delete it. More...
 
FBGenericMenuItemExecute (int pX, int pY, bool pRightAlign=true)
 Starts the menu as a pop-up menu at a specific location on screen. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Public Attributes

FBPropertyEvent OnMenuActivate
 Event Property: Register on this property to be notified when a menu item is clicked by the user. More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

A GenericMenu class.

You can use this class either to create a new menu in the menu bar (or in a menuitem in the menu bar) or you can use this class to create a pop-up menu.

#to start a pop up menu use the Execute method
def mouseClick(x, y):
item = menu.Execute(x, y)
if item.Id == 10:
[do this]
else if item.Id == 100:
[do that...]
FBGenericMenuItem * Execute(int pX, int pY, bool pRightAlign=true)
Starts the menu as a pop-up menu at a specific location on screen.

There are 4 ways to insert new item in a menu. Each method needs the name of the menuitem as well as it's unique id. You can also optionally sets a new menu for a specific item.

embeededMenu = FBGenericMenu()
menu.InsertLast("new new item", 67, embeddedMenu)
#A genericMenu contains a GenericMenuItem for each entry. You can iterate on the different menuitem
#using GetFirstITem/GetNextItem or if you already know the id of the item you can get it with GetItem.
item = menu.GetFirstItem()
while item:
print item.Name
item = menu.GetNextItem(item)
FBPropertyString Name
Read Write Property: Unique name of object.
Definition: fbcomponent.h:845
FBGenericMenuItem * InsertLast(const char *pItemName, int pItemId, FBGenericMenu *pMenu=NULL)
Inserts a new menu Item at the last position in the menu list.
FBGenericMenu(HIObject pObject=NULL)
Default constructor.
# This example shows how to list the Caption/Id of all the menu items of the Edit menu
menuManager = FBMenuManager()
editMenu = menuManager.GetMenu( "Edit" )
item = editMenu.GetFirstItem()
while item:
print "'" + item.Caption + "' (id: " + str( item.Id ) + ")"
item = editMenu.GetNextItem( item )
FBGenericMenuItem * GetFirstItem()
Returns the first menu item (if existing) in this menu.
FBGenericMenuItem * GetNextItem(FBGenericMenuItem *pItem)
Returns the menu item following an other item.
The menu manager allows access to MotionBuilder menu bar.

You can also delete a Menu item: this will remove the item from the menu as well as freeing its memory.

To be notified when a menuitem is clicked, you can register using OnMenuActivate. This will send a FBEventMenu containing the name and the Id of the menu item that was clicked.

Definition at line 136 of file fbgenericmenu.h.

Constructor & Destructor Documentation

◆ FBGenericMenu()

FBGenericMenu ( HIObject  pObject = NULL)

Default constructor.

Used to create embedded menu (inside another menu item) or pop-up menu.

Member Function Documentation

◆ DeleteItem()

void DeleteItem ( FBGenericMenuItem pToDelete)

Remove a menu item from the menu and delete it.

Parameters
pToDeleteThe item to remove.

◆ Execute()

FBGenericMenuItem* Execute ( int  pX,
int  pY,
bool  pRightAlign = true 
)

Starts the menu as a pop-up menu at a specific location on screen.

It returns the item that was clicked by the user.

Parameters
pXX location in pixel on screen where the menu is to be popped.
pYY location in pixel on screen where the menu is to be popped.
pRightAlignAll menu item will be align to the right justified (if true) or left justified (if false)
Returns
The selected item by the user. Null if the user clicks outside the menu.

◆ FBDelete()

virtual void FBDelete ( )
overridevirtual

Virtual FBDelete function.

Reimplemented from FBComponent.

◆ GetFirstItem()

FBGenericMenuItem* GetFirstItem ( )

Returns the first menu item (if existing) in this menu.

You can then use GetNextItem to iterate on other menu items.

Returns
The first menu item in this Menu.

◆ GetItem()

FBGenericMenuItem* GetItem ( int  pItemId)

Returns the menu item corresponding to an id.

Parameters
pItemIdId of the item we are looking for.
Returns
Will return the Item corresponding to an id (null if not found).

◆ GetLastItem()

FBGenericMenuItem* GetLastItem ( )

Returns the last menu item (if existing) in this menu.

You can then use GetPrevItem to reverse iterate on other menu items.

Returns
The last menu item in this Menu.

◆ GetNextItem()

FBGenericMenuItem* GetNextItem ( FBGenericMenuItem pItem)

Returns the menu item following an other item.

Returns null if this is the last item in menu.

Parameters
pItemWill return the item after pItem
Returns
Will return the item after pItem. Null if pItem is the last item.

◆ GetPrevItem()

FBGenericMenuItem* GetPrevItem ( FBGenericMenuItem pItem)

Returns the menu item preceding an other item.

Returns null if this is the first item in menu.

Parameters
pItemWill return the item BEFORE pItem
Returns
Will return the item BEFORE pItem. Null if pItem is the first item.

◆ InsertAfter()

FBGenericMenuItem* InsertAfter ( FBGenericMenuItem pBeforeItem,
const char *  pItemName,
int  pItemId,
FBGenericMenu pMenu = NULL 
)

Inserts a new menu Item AFTER another item.

Parameters
pBeforeItemThe reference item. We will create a new item AFTER this one.
pItemNameCaption of the newly added item.
pItemIdUnique id of this menu item.
pMenuOptional. If this Item leads to another menu (embedded) it can be specified here.
Returns
Will return the menu item created from this insertion.

◆ InsertBefore()

FBGenericMenuItem* InsertBefore ( FBGenericMenuItem pAfterItem,
const char *  pItemName,
int  pItemId,
FBGenericMenu pMenu = NULL 
)

Inserts a new menu Item BEFORE another item.

Parameters
pAfterItemThe reference item. We will create a new item BEFORE this one.
pItemNameCaption of the newly added item.
pItemIdUnique id of this menu item.
pMenuOptional. If this Item leads to another menu (embedded) it can be specified here.
Returns
Will return the menu item created from this insertion.

◆ InsertFirst()

FBGenericMenuItem* InsertFirst ( const char *  pItemName,
int  pItemId,
FBGenericMenu pMenu = NULL 
)

Inserts a new menu Item at the first position in the menu list.

Parameters
pItemNameCaption of the newly added item.
pItemIdUnique id of this menu item.
pMenuOptional. If this Item leads to another menu (embedded) it can be specified here.
Returns
Will return the menu item created from this insertion.

◆ InsertLast()

FBGenericMenuItem* InsertLast ( const char *  pItemName,
int  pItemId,
FBGenericMenu pMenu = NULL 
)

Inserts a new menu Item at the last position in the menu list.

Parameters
pItemNameCaption of the newly added item.
pItemIdUnique id of this menu item.
pMenuOptional. If this Item leads to another menu (embedded) it can be specified here.
Returns
Will return the menu item created from this insertion.

Member Data Documentation

◆ OnMenuActivate

FBPropertyEvent OnMenuActivate

Event Property: Register on this property to be notified when a menu item is clicked by the user.

Definition at line 226 of file fbgenericmenu.h.


The documentation for this class was generated from the following file: