#ifndef FORMLOGMUD_H #define FORMLOGMUD_H #include #include #include "LogmudResultItem.h" #include "LogmuditemDrawer.h" #pragma execution_character_set("utf-8") namespace Ui { class FormLogmud; } class CDrawTvd; class FormLogmud : public QWidget { Q_OBJECT public: explicit FormLogmud(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="", QString strTrackName="", QString strLineName=""); ~FormLogmud(); bool LoadFromSLF_LogMud(); bool SaveToSLF_LogMud(); LogmudResultItem* AddItem(double topDepth, double bottomDepth); LogmudResultItem *AddItem(double topDepth, double bottomDepth, int insertPos); int GetInsertIndex(double topDepth, double bottomDepth) const; void setDepthY(float fy1, float fy2); //改变深度更新绘图 void updateDepthY(float fy1, float fy2); void initBottomDepth(double dep); private: Ui::FormLogmud *ui; protected: void paintEvent(QPaintEvent *event); virtual void wheelEvent(QWheelEvent *event); bool IsFiniteNumber(float v) { return qIsFinite(v) != 0; } public: QString m_strUuid; QString m_strSlfName; QString m_strWellName; QString m_strTrackName; QString m_strLineName; LogmudItemDrawer* m_pLogMud = NULL; QWidget *m_parent; double m_wellTop = 0.0; double m_dTopDepth = 0.0; double m_dBottomDepth = 0.0; double m_dAddY = 19.0f; int m_nbb = 1; struct logmud_stru *m_LogMun = NULL; QList m_childrenItems;//所有小分段 public: void DrawTvd(); public slots: void s_ResizeDepth(QString strUuid, int nHeight, float fDepthUpperY, float fDepthLowerY); //滚动条 void vertScrollBarChanged_setGeometry(QString strUuid, double value, double low, double upper, double ddepth); void vertScrollBarChanged_Print(QString strUuid, int iNum, int iHeightOfScreen); }; #endif // FORMLOGMUD_H