You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/iGui/iGuiBase/iDlgBase.h

60 lines
1.3 KiB
C

#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);
// 当清空Layout布局时把m_mapCtrls中涉及到的Wx清除
virtual bool removeSubCtrlCached(QWidget* pWx);
protected:
// 单位切换
double convertValueByUnit(double d,
QString sUnitSrc,
QString sUnitDest);
protected:
// 窗体关闭的情形
virtual void closeEvent(QCloseEvent *);
// 重写消息
virtual bool event(QEvent *event);
protected:
};