1 #ifndef __FBAPPLYMANAGERRULE_H__
2 #define __FBAPPLYMANAGERRULE_H__
44 #include <kaydaradef.h>
49 #define FBSDK_DLL K_DLLIMPORT
54 #ifdef FBSDKUseNamespace
55 namespace FBSDKNamespace {
68 #define FBRegisterApplyManagerRule( ClassName, Label, Description ) \
69 HIObject RegisterApplyManagerRule##ClassName( HIObject pOwner,const char * ,void * ) \
71 ClassName *Class = new ClassName( ); \
72 if (Class->FBCreate()) { \
73 return Class->GetHIObject(); \
79 FBLibraryModule( ClassName ) \
81 FBRegisterObject( ClassName,"Browsing/Apply",Label,Description,RegisterApplyManagerRule##ClassName,false, NULL ); \
88 #define FBApplyManagerRuleDeclare( ClassName, Parent ) \
89 FBClassDeclare( ClassName,Parent); \
91 ClassName( HIObject pO = NULL ):Parent(pO) { FBClassInit; } \
97 #define FBApplyManagerRuleImplementation( ThisComponent ) \
98 FBClassImplementation( ThisComponent )
177 FBAMMenu(
const char* pName, HIObject pObject=NULL);
186 int AddOption(
const char* pMenuOptions,
int pId = -1,
bool pEnable =
false );
189 #ifdef FBSDKUseNamespace
ApplyManagerRules are used to define custom rules for manipulating custom objects.
virtual bool MenuAction(int pMenuId, FBComponent *pFocusedObject)
Perform action if the added menu item is clicked.
virtual bool IsValidSrc(FBComponent *)
Return true if pSrc is the type of custom object which this rule to be defined for.
virtual bool IsValidConnection(FBComponent *pSrc, FBComponent *&pDst, bool &pAllowMultiple)
Return true if pDst is the type of custom or MB object which your custom object pSrc will be applied ...
virtual bool MenuBuild(FBAMMenu *pAMMenu, FBComponent *pFocusedObject)
Build context menu for the type of custom object.
FBApplyManagerRule(HIObject pObject=NULL)
Constructor.
MotionBuilder SDK base class.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
#define __FBClassDeclare(Name, Parent)
For internal use only.
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.