#pragma once #include "ZxDataObjectStrUser.h" // 项目项目数据对象类 class M_PROJECTMANAGER_EXPORT ZxDataProject : public ZxDataObjectStrUser { ZX_DECLARE_DYNAMIC Q_OBJECT public: ZxDataProject(); ZxDataProject(const ZxDataProject &other); virtual ~ZxDataProject(); ZxDataProject &operator = (const ZxDataProject &other); bool operator == (const ZxDataProject &other) const; bool operator != (const ZxDataProject &other) const; public: // 接口 virtual ZxDataObject* clone(); virtual QString type() const; // 加载保存 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; // 该函数是加载子类对象,仅仅加载code之类的关键信息 // 比如在建立树时,创建该节点。 virtual bool createChildren(); virtual bool createChildrenWells(); virtual bool createChildrenJobs(); virtual bool createChildrenPVTs();//注意:PVT与井无关,此处只是借用 // 重新加载,注意:PVT与井无关,此处只是借用 void reloadChildrenJobs(); void reloadChildrenPVTs(); // 加载数据 virtual bool loadData(VVecVariant& vvec, QString &sLog, bool bTopOneOnly = true); signals: // 允许在外部进行工区级别或井级别的孩子节点创建(比如数值试井涉及到的数据) void sigExtDataObjChildren(ZxDataObject*); public: // 对象编码 virtual void setCode(const QString& s); virtual void setName(const QString& s); // 数据库类型 void setDbType(const QString& s); QString getDbType() const; // 数据库路径 void setDbUrl(const QString& s); QString getDbUrl() const; // 版本号 void setDbVer(const QString& s); QString getDbVer() const; // 项目描述 void setProjDesc(const QString& s); QString getProjDesc() const; // 油田名称 void setFieldName(const QString& s); QString getFieldName() const; // 油田编码 void setFieldCode(const QString& s); QString getFieldCode() const; protected: // QString m_sProjName; //项目名称 QString m_sDbType; //数据库类型 QString m_sDbUrl; //数据库路径 QString m_sDbVer; //版本号 QString m_sFieldName; //油田名称 QString m_sFieldCode; //油田编码 QString m_sProjDesc; //项目描述 };