RptParamFile.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #pragma once
  2. #include "PartSTDData.h"
  3. #include "PartSizeFile.h"
  4. #include "TriTempFile.h"
  5. #include "MultiLang.h"
  6. namespace OTSMODEL {
  7. // report param file mark
  8. const int RPT_PARAM_FILE_MARK = 'R' + 'P' + 'T' + 'P' + 'A' + 'R' + 'A' + 'M';
  9. // report param file version
  10. const CString RPT_PARAM_FILE_VERSION = _T("1.1.1");
  11. // report param file extension
  12. const CString RPT_PARAM_FILE_EXT = _T(".rpf");
  13. const CString RPT_PARAM_FILE_FILTER = _T("Report param Files (*.rpf)|*.rpf||");
  14. class __declspec(dllexport) CRptParamFile : public xmls::ISlo
  15. {
  16. public:
  17. CRptParamFile(); // constructor
  18. CRptParamFile(const CRptParamFile&); // copy constructor
  19. CRptParamFile(CRptParamFile*); // copy constructor
  20. CRptParamFile& operator=(const CRptParamFile&); // =operator
  21. BOOL operator==(const CRptParamFile&); // ==operator
  22. virtual ~CRptParamFile(); // destructor
  23. // serialization
  24. void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  25. // file version
  26. CString GetVersion() { return m_strVersion; }
  27. void SetVersion(CString a_strVersion) { m_strVersion = a_strVersion; }
  28. // particle size level file folder
  29. CString GetSizeFileFolder() { return m_strSizeFileFolder; }
  30. void SetSizeFileFolder(CString a_strSizeFileFolder) { m_strSizeFileFolder = a_strSizeFileFolder; }
  31. // particle size level file
  32. CPartSizeFilePtr GetPartSizeFile() { return m_pPartSizeFile; }
  33. void SetPartSizeFile(CPartSizeFilePtr a_pPartSizeFile);
  34. // triangulation template file folder
  35. CString GetTrigTempFileFolder() { return m_strTrigTempFileFolder; }
  36. void SetTrigTempFileFolder(CString a_strTrigTempFileFolder) { m_strTrigTempFileFolder = a_strTrigTempFileFolder; }
  37. CTriTempFilePtr GetTriTempFile() { return m_pTriTempFile; }
  38. void SetTriTempFile(CTriTempFilePtr a_pTriTempFile);
  39. // report template file folder
  40. CString GetRptTempFileFolder() { return m_strRptTempFileFolder; }
  41. void SetRptTempFileFolder(CString a_strRptTempFileFolder) { m_strRptTempFileFolder = a_strRptTempFileFolder; }
  42. // report template file path
  43. CString GetRptTempFilePath() { return m_strRptTempFilePath; }
  44. void SetRptTempFilePath(CString a_strRptTempFilePath) { m_strRptTempFilePath = a_strRptTempFilePath; }
  45. // particle STD analysis file folder
  46. CString GetSTDFileFolder() { return m_strSTDFileFolder; }
  47. void SetSTDFileFolder(CString a_strSTDFileFolder) { m_strSTDFileFolder = a_strSTDFileFolder; }
  48. // STD analysis file
  49. CPartSTDDataPtr GetPartSTDData() { return m_pSTDData; }
  50. void SetPartSTDData(CPartSTDDataPtr a_pSTDData);
  51. // scaling factor
  52. double GetScale() { return m_dScale; }
  53. void SetScal(double a_dScale) { m_dScale = a_dScale; }
  54. //show elements col name
  55. CString GetElementsColName() { return m_strElementsColName; }
  56. void SetElementsColName(CString a_strElementsColName) {m_strElementsColName = a_strElementsColName;}
  57. //default computed column name
  58. CString GetDefaultComputedColName() { return m_strDefaultComputedColName; }
  59. void SetDefaultComputedColName(CString a_strDefaultComputedColName) { m_strDefaultComputedColName = a_strDefaultComputedColName; }
  60. /*void SetMultiLangParam(MultiLang::MultiLangPtr multiL) { m_Lang = multiL; }
  61. MultiLang::MultiLangPtr GetMultiLangParam() { return m_Lang; }*/
  62. protected:
  63. // cleanup
  64. void Cleanup();
  65. // initialization
  66. void Init();
  67. // duplication
  68. void Duplicate(const CRptParamFile& a_oSource);
  69. // file version
  70. CString m_strVersion;
  71. // particle size level file folder
  72. CString m_strSizeFileFolder;
  73. // particle size level file
  74. CPartSizeFilePtr m_pPartSizeFile;
  75. // triangulation template file folder
  76. CString m_strTrigTempFileFolder;
  77. // triangulation template file
  78. CTriTempFilePtr m_pTriTempFile;
  79. // report template file folder
  80. CString m_strRptTempFileFolder;
  81. // report template file
  82. CString m_strRptTempFilePath;
  83. // particle STD analysis file folder
  84. CString m_strSTDFileFolder;
  85. // STD analysis file
  86. CPartSTDDataPtr m_pSTDData;
  87. // scaling factor
  88. double m_dScale;
  89. // show element list list
  90. CString m_strElementsColName;
  91. //default computed column name
  92. CString m_strDefaultComputedColName;
  93. //MultiLang::MultiLangPtr m_Lang;
  94. };
  95. typedef std::shared_ptr<CRptParamFile> __declspec(dllexport) CRptParamFilePtr;
  96. }