/*========================================================================= * * EDTTemp.hpp - List of Temporary Modifs - definition * * * Version 1.0 * Creation date * Revision date * * Shaitan *=======================================================================*/ #ifdef ACTIVE_EDITOR #ifndef __EDT_TEMP_HPP__ #define __EDT_TEMP_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 //************************************** #include "itf/CPASectO.hpp" #include "incPOS.h" #include "SCR.h" class EDT_HierarchyEditor; class EDT_SuperObject; // modifications #define C_szCreation "Creation" #define C_szSuppression "Suppression" #define C_szChangeFather "Father" #define C_szChangePosition "Position" #define C_szChangeName "Name" #define C_lNbTypeModifs 5 static CString g_a_csTypeModifs [] = { C_szCreation, C_szSuppression, C_szChangeFather, C_szChangePosition, C_szChangeName }; typedef enum tdeTempModif_ { E_tm_SaveTemp, E_tm_DeleteTemp } tdeTempModif; /*=========================================================================== * Description: class EDT_TemporarySO * Creation date: * Author: Shaitan *--------------------------------------------------------------------------- * Revision date: Author: *=========================================================================*/ class EDT_TempModif : public CPA_SectionObject { private: // original super-object EDT_SuperObject * m_pOriginalSO; // matrix CPA_SectionObject * m_pMatrixSection; // changes BOOL m_bCreated; BOOL m_bDeleted; // name CString m_csFinalName; // father EDT_SuperObject * m_pFinalFather; // position GEO_tdxHandleToMatrix m_hFinalPosition; // loaded modification BOOL m_bLoaded; //CPA2 Stegaru Cristian 98-02 CString m_csOriginalSOName, m_csInitialSPOName; BOOL m_bNameChanged, m_bFatherChanged, m_bPositionChanged; //End CPA2 Stegaru Cristian 98-02 public: // constructors //CPA2 Stegaru Cristian 98-02 EDT_TempModif (EDT_SuperObject *pOriginalSO, BOOL bLoaded, CString csModifSectionName = "", CString csOriginalSOName = ""); //End CPA2 Stegaru Cristian 98-02 ~EDT_TempModif (void); // original object EDT_SuperObject * GetOriginalSO (void) { return m_pOriginalSO; } // matrix CString GetMatrixSectionName (void); CPA_SectionObject * GetMatrixSection (void) { return m_pMatrixSection; } // load BOOL fn_bWasLoaded (void) { return m_bLoaded; } // get functions BOOL fn_bWasCreated (void) { return m_bCreated; } BOOL fn_bWasDeleted (void) { return m_bDeleted; } CString GetFinalName (void) { return m_csFinalName; } EDT_SuperObject * GetFinalFather (void) { return m_pFinalFather; } GEO_tdxHandleToMatrix GetFinalPosition (void) { return m_hFinalPosition; } // set functions void SetCreated (BOOL bCreated); void SetDeleted (BOOL bDeleted); //CPA2 Stegaru Cristian 98-02 void SetFinalPosition (GEO_tdxHandleToMatrix hNewPosition); void SetFinalFather (EDT_SuperObject *pNewFather); void SetFinalName (CString csNewName); CString mfn_csGetOriginalSOName () { return m_csOriginalSOName;} void mfn_vSetOriginalSOName (CString csOriginalSOName) { m_csOriginalSOName = csOriginalSOName;} BOOL mfn_bValidModif () { BOOL bRet = FALSE; if (m_bLoaded || //modif from a previous session (!m_bLoaded && m_bCreated)) //inserted bRet = TRUE; return bRet; } CString mfn_csGetInitialSPOName () { return m_csInitialSPOName; /* CString csInitialSPOName; if (m_pOriginalSO) csInitialSPOName = m_pOriginalSO->mfn_csGetInitialSPOName (); return csInitialSPOName; */ } void mfn_vSetInitialSPOName (CString csInitialSPOName) { m_csInitialSPOName = csInitialSPOName; } //End CPA2 Stegaru Cristian 98-02 // modification functions void fn_vUpdateModification (CString csTypeModif, BOOL bAddModif = TRUE); void fn_vCancelModification (CString csTypeModif); BOOL fn_bIsModified (CString csTypeModif); // save void fn_vNotifySave (void); void fn_vNotifyUnsave (void); void fn_vNotifyRename (void); static void CallBackSaveModif (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction); static void CallBackSaveMatrix (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction); }; /*=========================================================================== * Description: Class EDT_TempList * Creation date: * Author: Shaitan * *--------------------------------------------------------------------------- * Revision date: Author: *=========================================================================*/ class EDT_TempList : public CPA_SectionObject { private: CPA_List m_oListOfTempModif; EDT_HierarchyEditor *m_pEditor; public: EDT_TempList (EDT_HierarchyEditor *pEditor, BOOL bLoaded); ~EDT_TempList (void); CPA_List * GetListOfTemporaryModifs (void) { return &m_oListOfTempModif; } EDT_HierarchyEditor * GetEditor (void) { return m_pEditor; } void fn_vAddTemporaryModif (EDT_TempModif *pModif, BOOL bNotify = TRUE); void fn_vRemoveTemporaryModif (EDT_TempModif *pModif); void fn_vChangeTemporaryModif (EDT_TempModif *pModif); void fn_vRemoveAllTemporaryModifs (void); static void CallBackSaveListModif (SCR_tdst_File_Description *p_stFile, char *szSectionName, void *p_vData, SCR_tde_Ntfy_Action eAction); }; #endif // __EDT_TEMP_HPP__ #endif // ACTIVE_EDITOR