|
|
#pragma once
|
|
|
|
|
|
#include "iDlgBase.h"
|
|
|
|
|
|
#include "mGuiPlot_global.h"
|
|
|
|
|
|
class ZxTableView;
|
|
|
class ZxTableModel;
|
|
|
class ZxObjCurveBase;
|
|
|
class ZxDataGaugeBase;
|
|
|
class M_GUI_PLOT_EXPORT iGuiPlotTableHelper : public iDlgBase
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
|
explicit iGuiPlotTableHelper(const QString& sTitle, QWidget *parent = 0);
|
|
|
~iGuiPlotTableHelper();
|
|
|
|
|
|
// 初始化
|
|
|
virtual void initUI();
|
|
|
|
|
|
// 如果pCurve对应的的表已经存在,则修改其数据
|
|
|
// 否则新建
|
|
|
ZxTableView* appendTableBy(ZxObjCurveBase* pCurve);
|
|
|
|
|
|
// 图上选中,反推表格
|
|
|
void setSelectedRows(ZxObjCurveBase* pCurve, int nFrom, int nTo);
|
|
|
|
|
|
QStringList getTitles(ZxObjCurveBase* pCurve);
|
|
|
// 删除pCurve对应的表
|
|
|
bool removeTableBy(ZxObjCurveBase* pCurve);
|
|
|
// 设置TabWx的当前Tab
|
|
|
bool setCurrentTableBy(ZxObjCurveBase* pCurve);
|
|
|
|
|
|
int getIndexOf(ZxObjCurveBase* pCurve);
|
|
|
|
|
|
// 反复查找相关的函数
|
|
|
QString getTagByModel(const ZxTableModel* p);
|
|
|
|
|
|
// 是否显示toolbar
|
|
|
void setToolBarVisible(bool );
|
|
|
|
|
|
// 返回所有View
|
|
|
QMap<QString, ZxTableView*>* getMapTableViews();
|
|
|
|
|
|
// 保存入库
|
|
|
void runPossibleSave();
|
|
|
bool isPossibleModified();
|
|
|
|
|
|
// 设置表格只读,主要是右键及双击
|
|
|
void setTableReadonly(QString sTag = "", bool bReadonly = true);
|
|
|
|
|
|
public slots:
|
|
|
// Toolbar按钮消息响应
|
|
|
virtual void slotBtnTriggered();
|
|
|
virtual void slotSaveDatabase();
|
|
|
|
|
|
signals:
|
|
|
// 在保存时,通过该信号获取对应的DataObj
|
|
|
void sigGetDataObjOfView(ZxTableView* pView, ZxDataGaugeBase*& p);
|
|
|
|
|
|
// 一旦压力或流量保存之后,则触发其他窗口的刷新
|
|
|
void sigDataSavedPF(QString sCode);
|
|
|
|
|
|
private:
|
|
|
void loadDatabase(ZxTableModel* pModel);
|
|
|
void loadFromExcel(ZxTableModel* pModel);
|
|
|
ZxTableView* getCurView();
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual QHBoxLayout* initToolBars();
|
|
|
virtual ZxTableView* createTableView(VVecFloat& vvecData, QStringList& listTitles);
|
|
|
virtual void paintEvent(QPaintEvent *);
|
|
|
|
|
|
private:
|
|
|
|
|
|
// TabWx
|
|
|
QTabWidget* m_pTabWx;
|
|
|
|
|
|
// 是否显示toolbar
|
|
|
bool m_bShowToolBar;
|
|
|
|
|
|
// TableView载体
|
|
|
QMap<QString, ZxTableView*> m_mapTableViews;
|
|
|
};
|