#pragma once #include "nmData_global.h" #include "ZxDataObjectDbl.h" #include "nmDefines.h" // 这是数值试井数据对象的例子 // 对应的表结构参见 /* */ //class nmGuiPlot; class NM_DATA_EXPORT nmDataDemo : public ZxDataObjectDbl { ZX_DECLARE_DYNAMIC public: nmDataDemo(); nmDataDemo(const nmDataDemo &other); virtual ~nmDataDemo(); nmDataDemo &operator = (const nmDataDemo &other); // 获取对象,单例模式 static nmDataDemo* getInstance(); public: // 接口 virtual ZxDataObject* clone(); virtual QString type() const; // 表名 virtual QString getTableName(); // 加载保存(数据库部分) virtual bool _parseData(VecVariant vec, int& n); virtual bool _sumUpData(VecVariant& vec); // 序列化(统一序列化为大字段时的处理) virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); // Icon virtual QIcon getIcon(bool expanded) const; public: // 对于参数的set和get处理,主要是为了调用方便 void setWellCode(const QString& s); QString getWellCode() const; void setTopDepth(const double& d); double getTopDepth() const; void setBottomDepth(const double& d); double getBottomDepth() const; // 分析名称的Get和Set void setAnalyzeName(const QString &newAnalyzeName); const QString &analyzeName() const; void setAnalyzePVTIndex(int newAnalyzePVTIndex); int analyzePVTIndex() const; int analyzeIIIndex() const; void setAnalyzeIIIndex(int newAnalyzeIIIndex); const QList &analyzeMultiphase() const; void setAnalyzeMultiphase(const QList &newAnalyzeMultiphase); void *getWxPlot() const; void setWxPlot(void *newPWxPlot); protected: // 与数据库关联的数据,如果父类已经定义,则无需再次定义 //QString m_sID; QString m_sWellCode; //QString m_sName; double m_dTopDepth; double m_dBottomDepth; // QDSZ // 单例的指针 static nmDataDemo* s_instance; // 绘图相关 void* m_pWxPlot; // 分析名称 QString m_sAnalyzeName; // 分析的多相流 QList m_analyzeMultiphase; // 分析的PVT,目前只支持选择已经存在的 int m_iAnalyzePVTIndex; // 分析的相渗,目前只支持选择已经存在的 int m_iAnalyzeIIIndex; };