TriTempFileMgr.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #pragma once
  2. #include "stdafx.h"
  3. #include "TriTempFile.h"
  4. namespace OTSMODEL {
  5. // CPartSTDFileMnr command target
  6. class __declspec(dllexport) CTriTempFileMgr
  7. {
  8. public:
  9. CTriTempFileMgr(); // constructor
  10. CTriTempFileMgr(const CTriTempFileMgr&); // copy constructor
  11. CTriTempFileMgr(CTriTempFileMgr*); // copy constructor
  12. CTriTempFileMgr& operator=(const CTriTempFileMgr&); // =operator
  13. BOOL operator==(const CTriTempFileMgr&); // ==operator
  14. virtual ~CTriTempFileMgr(); // destructor
  15. // Load/Save
  16. BOOL Load(CString a_strPathName = _T(""), BOOL a_bClear = TRUE);
  17. BOOL Save(CString a_strPathName = _T(""));
  18. // std items list
  19. void SetTriTempItemList(CTriTempItemList& a_listSTDItems, BOOL a_bClear = TRUE);
  20. CTriTempItemPtr GetTriTempItemByIndex(int a_nIndex);
  21. CTriTempItemPtr GetTriTempItemByName(CString a_strName);
  22. BOOL DeleteTriTempItemByIndex(int a_nIndex);
  23. BOOL AddTriTempItem(CTriTempItemPtr a_poTriTempItem);
  24. BOOL InsertTriTempItem(int a_nIndex, CTriTempItemPtr a_poTriTempItem);
  25. BOOL EditTriTempItem(int a_nIndex, CTriTempItemPtr a_poTriTempItem);
  26. // triangle template standard data
  27. CTriTempFilePtr GetTriTempFile() { return m_poTriTempFile; }
  28. void SetTriTempFile(CTriTempFilePtr);
  29. // file pathname
  30. CString GetPathName() { return m_strPathName; }
  31. void SetPathName(CString a_strPathName) { m_strPathName = a_strPathName; }
  32. // modify flag
  33. BOOL IsModified() { return m_bModify; }
  34. void SetModify(BOOL a_bModify = TRUE) { m_bModify = a_bModify; }
  35. protected:
  36. // cleanup
  37. void Cleanup();
  38. // initialization
  39. void Init();
  40. // duplication
  41. void Duplicate(const CTriTempFileMgr& a_oSource);
  42. // particle size level data
  43. CTriTempFilePtr m_poTriTempFile;
  44. // file pathname
  45. CString m_strPathName;
  46. // modify flag
  47. BOOL m_bModify;
  48. };
  49. typedef std::shared_ptr<CTriTempFileMgr> __declspec(dllexport) CTriTempFileMgrPtr;
  50. }