#pragma once #include "IxPtyPano.h" #include "iGuiPlotSeg.h" #include "ZxTableView.h" #include "iDlgBase.h" #include "mGuiJob_global.h" class ZxPtyDock; class ZxRenderItem; // ZXF20240702 // 产液段设置 class M_GUI_JOB_EXPORT iWxSegMore : public iDlgBase { Q_OBJECT public: explicit iWxSegMore(QWidget *parent = 0); ~iWxSegMore(); // 产液段设置信息(水平段顶深,水平段底深) void setInfos(QString sSegName, QVector > vecInfos, \ double dDepthTop, double dDepthBottom); // 得到参数 QVector > getInfos(); // 初始化 virtual void initUI(); private: // 初始化 void initUI_MainLayout(); void initUI_Main(); void initUI_Bottoms(); //表格和图形 void initPlot(); void initTable(); void initPtyWx(); void bindDockPty(IxPtySource* pItem); signals: // 表格项修改 void sigSegTableChanged(QString sTagName, QString sParam, double fVal); private slots: void slotBtnOK(); void slotBtnCancel(); // 图元ObjSegLine改变 void slotObjSegLineChange(ZxObjBase*); // 表格改变 void slotTableCellChanged(const QModelIndex&, const QModelIndex&); // 属性 void slotGraphItemPoliciesInstalled(ZxRenderItem* pItem); // 属性是否显示 void slotShowProperty(); private: // 布局相关 QVBoxLayout* m_pMainLayout; // 绘图区域 iGuiPlotSeg* m_pPlot; // 表格 ZxTableView* m_pTableView; // 属性框 ZxPtyDock* m_pDockPty; QList m_listProps; // 产液段数 QString m_sSegName; // 层数,段参数 QVector > m_vecInfos; // 段标签数据传入图形中 QStringList m_listSegTags; QMap > m_mapInfos; // 参数列表 QStringList m_listSegParams; // 水平井起始深度,终止深度 double m_dDepthTop; double m_dDepthBottom; };