#ifndef FORMWELL_H #define FORMWELL_H #include #include "formtrack.h" #include "formdraw.h" #include "formtracktop.h" #include "common.h" #pragma execution_character_set("utf-8") struct GridProperty { GridProperty() :m_nInv(1), m_nWidth(1), m_clor(0, 0, 0), m_nType(1) {} int m_nInv; int m_nWidth; QColor m_clor; int m_nType; }; namespace Ui { class FormWell; } class FormWell : public QWidget { Q_OBJECT public: explicit FormWell(QWidget *parent = nullptr, QString strWellName=""); ~FormWell(); // 插入列,返回列索引 int insertColumn(double dw); QVector new_track(QStringList listdt, QString strTrackName = ""); void setBorderFlags(BorderFlags flags); // 根据道ID,获取列索引 int getTableWidgetColumn(QString strTrackUuid); // 粗网格 GridProperty& getCuGridProperty(); GridProperty& getZhongGridProperty(); GridProperty& getXiGridProperty(); GridProperty& getBorderGridProperty(); protected: void paintEvent(QPaintEvent *event); // void resizeEvent(QResizeEvent *event); //删除一列道后 void resizeWindow(); private: Ui::FormWell *ui; GridProperty m_cuProperty; // 粗网格 GridProperty m_zhongProperty; // 中网格 GridProperty m_xiProperty; // 细网格 GridProperty m_borderProperty; // 边框 public: QString m_strUuid; QString m_strWellName; QString m_strSlfName=""; int m_iScale=200; double m_iY1=0; double m_iY2=0; QWidget *m_parent; // 道图形 QMap> m_mapFormDraw; BorderFlags m_BorderFlags; public: QJsonObject makeJson(); QStringList getLineList(QString strWellName, QString strTrackName); void setRowHeight(double dHight, QProgressBar *progressBar, int iSplit); //设置道宽 int setColWidth(int iCurrentCol, float iNewWidth); void setWellProperty(QVariantList listVal); //获取当前井的所有道名称 QStringList getTrackNameList(); void getTableSize_Head(int &iHight); public slots: //void onTableColumnsInserted(const QModelIndex &parent, int first, int last); void s_NewCol(QStringList listdt); void s_NewTrack(QString strUuid, QString strWellName, QString strSlfName, QString strLineName, QString strType,int nW); //新建空白道,没有曲线 void s_NewTrack_No_Line(QString strUuid, QString strWellName, QString strTrackName); void slot_NewTrack_No_Line(QString strUuid, QJsonObject topObj, QJsonObject infoObj); void s_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iTableType, QString strFormInfoType); void s_ChangeCross(QString strUuid, QString strTrackUuid);// void s_ReplotFinished(QString strUuid); //图头右键菜单响应函数 void slotContextMenu(QPoint pos); void slotDeleteSelectTrack(); }; #endif // FORMWELL_H