logplus/logPlus/mainwindowcurve.h

113 lines
2.9 KiB
C++

#ifndef MAINWINDOWCURVE_H
#define MAINWINDOWCURVE_H
#include <QMainWindow>
#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