Go
to the documentation of this file.
00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #pragma once
00017
00018 #include "PFExport.h"
00019 #include "..\ifnpub.h"
00020 #include "..\object.h"
00021
00022 PFExport Object* GetPFObject(Object* obj);
00023
00024 #define PFACTIONLISTSET_INTERFACE Interface_ID(0x7216b6f, 0x634253c5)
00025 #define GetPFActionListSetInterface(obj) ((IPFActionListSet*)((GetPFObject(obj))->GetInterface(PFACTIONLISTSET_INTERFACE)))
00026
00027 class IPFActionListSet : public FPMixinInterface
00028 {
00029 public:
00030
00031 enum { kGetNumActionLists, kGetActionList, kAppendActionList,
00032 kInsertActionList, kRemoveActionList, kHasActionList,
00033 kIsActionList
00034 };
00035
00036
00037
00038 BEGIN_FUNCTION_MAP
00039
00040 FN_0( kGetNumActionLists, TYPE_INT, NumActionLists );
00041 FN_1( kGetActionList, TYPE_INODE, GetActionList, TYPE_INDEX);
00042 FN_1( kAppendActionList, TYPE_bool, AppendActionList, TYPE_INODE);
00043 FN_2( kInsertActionList, TYPE_bool, InsertActionList, TYPE_INODE, TYPE_INDEX);
00044 FN_1( kRemoveActionList, TYPE_bool, RemoveActionList, TYPE_INDEX);
00045 FN_2( kHasActionList, TYPE_bool, HasActionList, TYPE_INODE, TYPE_INDEX_BR);
00046 FN_1( kIsActionList, TYPE_bool, IsActionList, TYPE_INODE);
00047
00048 END_FUNCTION_MAP
00049
00050
00051 FPInterfaceDesc* GetDesc() { return GetDescByID(PFACTIONLISTSET_INTERFACE); }
00052
00053
00054
00062 virtual int NumActionLists() const = 0;
00063
00067 virtual INode* GetActionList(int index) const = 0;
00068
00072 virtual bool AppendActionList(INode* alist) = 0;
00073
00077 virtual bool InsertActionList(INode* alist, int indexAt) = 0;
00078
00082 virtual bool RemoveActionList(int index) = 0;
00083
00087 virtual bool HasActionList(INode* alist, int& index) const = 0;
00088
00092 PFExport static bool IsActionList(INode* alist);
00093 };
00094
00095 inline IPFActionListSet* PFActionListSetInterface(Object* obj) {
00096 return ((obj == NULL) ? NULL : GetPFActionListSetInterface(obj));
00097 };
00098
00099 inline IPFActionListSet* PFActionListSetInterface(INode* node) {
00100 return ((node == NULL) ? NULL : PFActionListSetInterface(node->GetObjectRef()));
00101 };
00102
00103