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.
nmWATI/Include/mGui/mSubWnd/iSubWndBaseAF.h

84 lines
2.3 KiB
C

#pragma once
#include "iSubWnd.h"
class iJobInfoModel;
class ZxSegmentInfo;
class iWxBase;
class ZxPlot;
class iDockBaseWx;
class iJobRun;
class iWxWizard;
class iModelOption;
class ZxRstJobWnd;
class M_SUB_WND_EXPORT iSubWndBaseAF : public iSubWnd
{
Q_OBJECT
public:
explicit iSubWndBaseAF(QWidget *parent = 0, QString sExt = "");
~iSubWndBaseAF();
// 配置窗体
virtual void configWnd();
virtual void setDataWell(ZxDataWell* p);
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
virtual bool saveRunAndSegInfo(ZxRstJobWnd* pRstWnd);
virtual bool loadRunAndSegInfo(ZxRstJobWnd* pRstWnd);
virtual void layoutSubWnds(WndLayoutMode oWlm);
// 把所有JobRun指针传递过来
void setAllJobRuns(QVector<iJobRun*>* p);
virtual void setJobRun(iJobRun* pJobRun, bool bFuzzyPit = false);
iJobRun* getJobRun();
// virtual void setSegmentInfo(ZxSegmentInfo* p);
ZxSegmentInfo* getSegmentInfo();
/// @brief 命令是否Enabled的状态判断通常来自Ribbon
/// @param b (out)trueEnabled falsedisabled
/// @param sName (in),Cmd Name
/// @param nID (in),Cmd ID
/// @param bLicensed (in),当前是否有授权
/// @return 本窗体是否已经进行状态判断(即属于本窗体可执行的命令)
virtual bool checkCmdEnable(bool &b, \
QString sName, int nID, \
bool bLicensed);
protected:
// 重新调整工具栏
virtual void reAdjustToolbar(QToolBar*);
// 20210825去除无效比如变井储HegeMan开始处总是有空值TheoryDeriv / TheorySource
// 后续可以考虑是不是需要处理其它 TODO
virtual bool adjustResultDataOf(QString sCurveTag, \
VecFloat& vecX, \
VecFloat& vecY, \
bool bCutoffNeeded = false);
public slots:
// 增加JobRun选项
void slotToolbarBuilt(QToolBar*);
protected:
// 当前所有JobRun输入主窗口从主窗口传入
QVector<iJobRun*>* m_pVecJobRuns;
iJobRun* m_pJobRun; //这是传入,本类不负责维护
ZxSegmentInfo* m_pSegInfo;
// 临时当前子窗体布局Mode
WndLayoutMode m_oWlm;
};