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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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, \
VecDouble& vecX, \
VecDouble& 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;
};