#pragma once #include "iWxModelParameter.h" class ZxObjBase; class ZxObjWmPoint; class iGridRowItem; class M_GUI_JOB_EXPORT iWxModelParameterEx : public iWxModelParameter { Q_OBJECT public: explicit iWxModelParameterEx(QWidget *parent = 0); ~iWxModelParameterEx(); // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); virtual void initUI(); virtual void initUI_M(); void initUI_M_Name(); void initUI_M_Types(); // 刷新至选中的Obj void fresh2Obj(ZxObjBase* p, bool bPtsOnly); protected: // 刷新至选中的Obj,分项处理 void fresh2Obj_Name(ZxObjWmPoint* p); void fresh2Obj_Type(ZxObjWmPoint* p); void fresh2Obj_Paras(ZxObjWmPoint* p); // 刷新 virtual void refreshUIs(QStringList& listParas); // 在pCtrl InitUI之前允许部分调整 virtual void adjustParaInfos(iParameter* pParameter); // 响应ParaCtrl数据的改变 virtual void slotParaCtrlValueChanged(QString sPara, QVariant o); virtual void slotFreshBrotherParasOf(QString sParaBy); // TODO函数全盘拷贝,由于引用关系,暂时未处理 int getWellTypeOf(QString s); public slots: // 当前面窗体参数改变时,本窗体响应 virtual void slotParasObtained(QMap& map); void slotTypeCurrentChanged(QString s); void slotWellNameChanged(QString s); // 参数区增加井名井型 //void slotAddWellAboutItems(QVector&); protected: virtual void paintEvent(QPaintEvent *); protected: QVBoxLayout* m_pLayoutM; QVBoxLayout* m_pLayoutP; QLineEdit* m_pTbxName; QComboBox* m_pCbxTypes; ZxObjBase* m_pObj; QStringList m_listTypes; iGridRowUtils* m_pGridItemUtilsEx; };