#ifndef MAINWINDOWCURVE_H #define MAINWINDOWCURVE_H #include #include "formwell.h" #include "geometryutils.h" #include "formmultiheads.h" #include "qtprojectwidgets.h" #pragma execution_character_set("utf-8") struct SelectTableItem { int m_iTableType=0; // 当前选中数据表格的类型,1:井次, 2:道, 3:曲线\表格\波列\参数卡 QString m_strUuid=""; QString m_strWellName=""; QString m_strSlfName=""; QString m_strTrackName=""; QString m_strLineName=""; QString m_strType="";//类型:curve, wave }; namespace Ui { class MainWindowCurve; } class MainWindowCurve : public QMainWindow { Q_OBJECT public: explicit MainWindowCurve(QWidget *parent = nullptr); ~MainWindowCurve(); private: Ui::MainWindowCurve *ui; protected: //支持复制粘贴,暂时还未实现 void keyPressEvent(QKeyEvent * e); public: //图头 bool eventFilter(QObject* obj, QEvent* event); void onPasteExcelData(); public slots: void slot_time(); //改变缩放比例 void s_changeScale(int iNewScale); //改变道宽 void s_changeWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, int iCurrentCol, int iNewWidth); void onItemClicked(QTableWidgetItem* item); void mousePressEvent(QMouseEvent *event); void s_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iTableType); public slots: void dragEnterEvent(QDragEnterEvent* event); void dragMoveEvent(QDragMoveEvent* event); void dropEvent(QDropEvent* event); //图头 void copy(); void Paste(); //鼠标滚动,通知可视解释窗口 void s_mouseWheel(QWheelEvent *event); public: QString m_strUuid; QStringList m_listWell; //当前选中数据表格 SelectTableItem m_SelectTableItem; FormMultiHeads *m_formMultiHeads; //左侧工程区 QDockWidget *m_dock1; QtProjectWidgets *m_leftWidgets = NULL; //左侧工程区 QLineEdit *spinbox1; QLineEdit *spinbox2; QLineEdit *spinbox3; public: //展示所有井 void DisplayWells(QJsonArray wellsArray); //展示其中一口井 void DisplayWell_One(QJsonObject wellObjInfo); //展示所有道 void DisplayTracks(QJsonArray tracksArray); //展示其中一道 void DisplayTrack_One(QJsonObject trackObjInfo, int id); //展示所有曲线 void DisplayLines(QJsonArray linesArray); //展示其中一条曲线 void DisplayLine_One(QJsonObject lineObjInfo); void Open(QString fileFull);//打开 public: //样式 void loadStyle(const QString &qssFile); //初始化工具栏 void initMainToolBar(); void initToolBar(); void initToolBar_2(); // 返回 strWellName << strSlfName QStringList insertCol(int nW); // 返回 strWellName << strSlfName QStringList getSelectWell(); //停靠 void dockLayout(); //新建井+道+曲线(首条) void NewWellAndTrack(QString strWellName, QString strSlfName, QString strLineName, QString strType); QJsonObject makeJson(); QStringList getLineList(QString strWellName, QString strTrackName); signals: void sig_NewTrackChangeWidth(QString strWellName, int nW=0);//新建道后,改变井宽 void sig_NewWell(QString strWellName); public slots: void s_NewWell(QString strWellName, QString strSlfName);//新建井 void s_NewTrackChangeWidth(QString strWellName, int nW=0);//新建道后,改变井宽 void s_NewTrack_No_Line(QString strWellName, QString strTrackName);//新建空白道,没有曲线 void s_AddLine_Property(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale, double newRightScale, QString strScaleType, QColor lineColor, double width, Qt::PenStyle lineStyle);//新建曲线,带属性 void s_NewTrack(); // 新建道 void s_NewDepth(); // 深度 void s_NewLogs(); // 曲线 void s_NewWave(); // 波列 void s_NewOGResult(); // 解释结论道 void s_NewGujing(); // 固井结论道 void s_NewSideCore(); // 井壁取心 void s_NewCore(); // 岩心分析 void s_NewMudlogging(); // 录井剖面 void s_NewTxt(); // 岩性描述 void s_NewCoreImage(); // 岩心照片 void s_NewSantuyibiao();// 斜井三图一表 void s_NewCrack(); // 裂缝 void s_NewShowDip(); // 蝌蚪图 void s_pinLvAc(); // 频率统计 void s_NewGanZhuangTu(); // 杆状图 void s_roseAc(); // 玫瑰图 void s_dcaAc(); // DCA分析 void s_Jykt(); // 井眼垮塌矢量图 void s_Denv(); // 井斜方位图 void s_DrawImage(); // 图像 成图 void s_NewGeoSection(); // 地质层位道 void s_NewJiegutext(); // 气测/FMT/射孔/文本 void s_NewLogface(); // 沉积相 void s_NewMCals(); // 多臂井径 void s_NewTubingstring(); // 套管组件 void s_NewTDT(); // TDT //校深 void ApplyShiftDepth(QString strSlfName, QString strLineName, double DepthOffset); void s_Shift(); // 整体深度平移校正 void MoveShift(QString strSlfName, QString strLineName, float sdep,float edep,float delta); void s_MoveShift(); // 深度分段平移校正 void slotRun(); // void s_showHeadTable(); //显示/隐藏图头 void s_currtemplite(); //加载图文件 void s_Save(); //保存图文件 void s_ExecuteDepthShift(); //校深 void s_ModuleOpen(); //处理算法 //void s_Open(QString fileFull);//打开 //图头右键菜单响应函数 void slotContextMenu(QPoint pos); void slotMerge();//合并 void slotSplit();//拆分 }; #endif // MAINWINDOWCURVE_H