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/iSubWndAnalSeg.h

72 lines
1.7 KiB
C

#pragma once
#include "iSubWndAnal.h"
class iWxModelOption;
class iWxModelParameter;
class iAlgModelBase;
class iParaManager;
class iWxWmDataPF;
class ZxTableModel;
class iWxTime;
class iAlgFitBase;
class ZxObjCurve;
class ZxObjPointEx;
class M_SUB_WND_EXPORT iSubWndAnalSeg : public iSubWndAnal
{
Q_OBJECT
public:
explicit iSubWndAnalSeg(QWidget *parent = 0, QString sExt = "");
~iSubWndAnalSeg();
// 配置窗体
virtual void configWnd();
virtual QWidget* initUiMainWx();
// 执行命令:通常来自图形右侧/左侧的工具栏
virtual bool runActionOf(QString sAction);
// 重新调整工具栏
// virtual void reAdjustToolbar(QToolBar*);
// 检测按钮状态Ribbon
virtual bool checkCmdEnable(bool &b, \
QString sName, int nID, \
bool bLicensed);
// 由子窗体创建RunOption
virtual iWxRunOptionStd* buildWxRunOption();
virtual void finalDeals();
protected:
void _dealFuzzy();
void fuzzyHitPoints(ZxObjPointEx* pPt);
bool getCrossXOfHitPoints(QVector<ZxObjPointEx*>& vecHitPts, float& fX);
bool getFuzzyFlowXBy(float xC, float& xF);
void removeFirstOne();
bool autoAlignP(float xC, float xF);
// 对于流动段,在此处考虑模拟选中最后一个流动段
// 有判断条件的情况下TODO 20240819
virtual void simuHitLastSeg(); //模拟点击最后一个流动段
public slots:
// 添加点
void slotCmdHitPoint(PlotOperationMode o, \
const QPointF& pt, \
bool& b);
void slotHitPointMoved();
private:
QVector<ZxObjPointEx*> m_vecHitPts;
};