/*========================================================================= * * CPALists.hpp : lists of the Editor Objects * * * Version 1.0 * Creation date * Revision date * * Shaitan *=======================================================================*/ #ifdef ACTIVE_EDITOR #include "objdllb.hpp" #include "Sort3lst.hpp" /****************************************/ #ifndef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif #endif /****************************************/ #ifndef __CPA_LISTS_HPP__ #define __CPA_LISTS_HPP__ /* define*/ typedef enum tdeListUpdateMode_ { E_lum_Insert, E_lum_ReInsert, E_lum_Delete, } tdeListUpdateMode; class EDT_ListByDLL; /*#################################################################################*/ /* Instances */ /*#################################################################################*/ /*=========================================================================== * Description: Class for the Lists By Type * Creation date: * Author: Shaitan * *--------------------------------------------------------------------------- * List corresponding to the type "m_lTypeObject" *--------------------------------------------------------------------------- * Revision date: Author: *=========================================================================*/ class CPA_EXPORT EDT_ListByType : public CObject { protected: CPA_ObjectDLLBase *m_pObjectDLL; CString m_csTypeName; EDT_ListByType (); void SetObjectDLL (CPA_ObjectDLLBase *p_oDLL) { m_pObjectDLL = p_oDLL; } void SetTypeName (CString csTypeName); public: /* list of instances*/ CPA_List m_stListObjects; /* list Sorted*/ CPA_BaseObjectList m_stSortedList; EDT_ListByType (CPA_ObjectDLLBase *p_oDLL, CString csTypeName); ~EDT_ListByType (); /* Type*/ CString GetTypeName (void) { return m_csTypeName; } /* DLL*/ CPA_ObjectDLLBase * GetDLL (void) { return m_pObjectDLL; } /* Instances*/ CPA_SuperObject * GetObjectWithName (CString csName); /* Reinit*/ void fn_vReinit (void); friend class EDT_ListByDLL; }; /*=========================================================================== * Description: Class for the Lists By DLL * Creation date: * Author: Shaitan * *--------------------------------------------------------------------------- * List corresponding to the type "m_lTypeObject" *--------------------------------------------------------------------------- * Revision date: Author: *=========================================================================*/ class CPA_EXPORT EDT_ListByDLL : public CObject { protected: /* for identification*/ CPA_ObjectDLLBase *m_pDLLObject; public: /* list of instances*/ EDT_ListByType m_stListAllTypes; /* list of selected objects*/ CPA_List m_stListSelected; /* list of concerned objects*/ CPA_List m_stListConcerned; /* list of protected childs selected*/ CPA_List m_stListProtectSelected; /* list of protected childs concerned*/ CPA_List m_stListProtectConcerned; /* lists by type*/ CPA_List m_stListOfListByType; /* constructor*/ EDT_ListByDLL (CPA_ObjectDLLBase *p_oDLL = NULL); ~EDT_ListByDLL (void); /* Lists*/ EDT_ListByType * GetListByType (CString csTypeName); /* Instance*/ CPA_SuperObject * GetObject (char *szTypeName, char *szName); /* DLL*/ CPA_ObjectDLLBase * GetDLL (void) { return m_pDLLObject; } /* Update*/ void fn_vReinit (void); void fn_vUpdateSortedList (void); void fn_vUpdateListObject (CPA_SuperObject *pEdObj, tdeListUpdateMode eType); void fn_vUpdateListSelect (CPA_SuperObject *pEdObj, tdeListUpdateMode eType, BOOL bIsSelected); void fn_vUpdateListProtect (CPA_SuperObject *pEdObj, tdeListUpdateMode eType, BOOL bIsSelected); }; #endif /* __CPA_LISTS_HPP__*/ #endif /* ACTIVE_EDITOR*/