#pragma once #include "ZxUiBase.h" #include "Defines.h" #include "ZxBaseUtil.h" #include "iGuiBase_global.h" class iParameter; class iParaItemCtrl; class ZxSerializer; /// @brief 基础窗体ZxUiBase之上的再次封装 class X_GUI_BASE_EXPORT iDlgBase : public ZxUiBase { Q_OBJECT public: explicit iDlgBase(QWidget *parent = 0); ~iDlgBase(); public: // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); // 权宜之计 // 在pCtrl InitUI之前允许部分调整,如参数跟着模型走的调整 virtual void adjustParaInfos(iParameter* pParameter); // 响应ParaCtrl数据的改变 virtual void slotParaCtrlValueChanged(QString sPara, QVariant o); // 从当前井获取该参数的数值 virtual bool getValueFromCurWell(QString sPara, QVariant& o); protected: // 单位切换 float convertValueByUnit(float f, QString sUnitSrc, QString sUnitDest); protected: // 窗体关闭的情形 virtual void closeEvent(QCloseEvent *); protected: };