#ifndef MAINWINDOWCURVE_H #define MAINWINDOWCURVE_H #include #include "formwell.h" #include "geometryutils.h" #include "formmultiheads.h" #pragma execution_character_set("utf-8") 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(); 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; FormMultiHeads *m_formMultiHeads; //左侧工程区 QDockWidget *m_dock1; 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 dockLayout(); //新建井+道+曲线(首条) void NewWellAndTrack(QString strWellName, QString strSlfName, QString strLineName, QString strType); QJsonObject makeJson(); signals: void sig_NewTrackChangeWidth(QString strWellName);//新建道后,改变井宽 void sig_NewWell(QString strWellName); public slots: void s_NewWell(QString strWellName);//新建井 void s_NewTrackChangeWidth(QString strWellName);//新建道后,改变井宽 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_Save();//保存 //void s_Open(QString fileFull);//打开 void s_showHeadTable();//显示/隐藏图头 //图头右键菜单响应函数 void slotContextMenu(QPoint pos); void slotMerge();//合并 void slotSplit();//拆分 }; #endif // MAINWINDOWCURVE_H