#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;
};