#pragma once #include #include #include "IxSerDes.h" #include "ZxXpf.h" #include "ZxSerializer.h" #include "Defines.h" #include "ZxBaseUtil.h" #include "mGuiJob_global.h" class iPseudo3Info; // 三区拟压力设置相关的序列化载体 class M_GUI_JOB_EXPORT iPseu3Wrapper : public QObject, virtual public IxSerDes { Q_OBJECT public: iPseu3Wrapper(); iPseu3Wrapper(const iPseu3Wrapper &other); ~iPseu3Wrapper(); // 初始化、刷新UI virtual void init(); // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); void setInfos(const VVecDouble& vvec, \ const QMap& mapPsInfos, \ const QMap& mapOthers); QMap* getPsInfoPtrs(); QMap* getOtherPtrs(); VVecDouble getDataXY(); // 是否有效的三区配置 bool isPs3Valid(); iPseu3Wrapper* clone(); private: // ByteArray map,序列化的另类实现 bool thisToBa(QByteArray& ba); bool baToThis(QByteArray& ba); private slots: private: VVecDouble m_vvecDataXY;//size()==2,一列x一列y QMap m_mapPsInfos; QMap m_mapOthers; };