2025-10-29 17:23:30 +08:00
|
|
|
|
#ifndef FORMINFO_H
|
|
|
|
|
|
#define FORMINFO_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
#include <QPainter>
|
|
|
|
|
|
#include <QPaintEvent>
|
|
|
|
|
|
//
|
|
|
|
|
|
#include <QJsonDocument>
|
|
|
|
|
|
#include <QJsonObject>
|
|
|
|
|
|
#include <QJsonArray>
|
|
|
|
|
|
|
|
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
|
|
|
|
|
|
|
|
namespace Ui {
|
|
|
|
|
|
class FormInfo;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class FormInfo : public QWidget
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
explicit FormInfo(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="", QString strTrackName="", QString strLineName="", QColor lineColor=QColor(255,0,0));
|
|
|
|
|
|
~FormInfo();
|
|
|
|
|
|
|
2026-02-04 12:16:25 +08:00
|
|
|
|
void initProperty(QJsonObject obj);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
private:
|
|
|
|
|
|
Ui::FormInfo *ui;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void paintEvent(QPaintEvent *event);
|
|
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
void dragEnterEvent(QDragEnterEvent* event);
|
|
|
|
|
|
void dragMoveEvent(QDragMoveEvent* event);
|
|
|
|
|
|
void dropEvent(QDropEvent* event);
|
|
|
|
|
|
//属性
|
|
|
|
|
|
//左刻度
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeLeftScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//右刻度
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeRightScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newRightScale);
|
2025-11-03 18:14:56 +08:00
|
|
|
|
//刻度类型
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeScaleType(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strScaleType);
|
2025-11-03 18:14:56 +08:00
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//线颜色
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeLineColor(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//线宽
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeLineWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double width);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//线型
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeLineStyle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, Qt::PenStyle lineStyle);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//岩性填充-不填充
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ClearFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//岩性填充-填充
|
2025-11-04 14:44:14 +08:00
|
|
|
|
void s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
|
2025-10-29 17:23:30 +08:00
|
|
|
|
QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill,
|
2025-11-24 15:36:38 +08:00
|
|
|
|
float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode, bool bFillNow);
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
2026-01-26 18:06:51 +08:00
|
|
|
|
//修改曲线选择状态 iSelect=0未知,1标准曲线,2主曲线,3从曲线
|
2026-01-30 09:47:13 +08:00
|
|
|
|
void s_ChangeLineStatus(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iSelect, bool bMerge);
|
2026-01-26 18:06:51 +08:00
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
public:
|
2025-10-30 11:55:37 +08:00
|
|
|
|
QString m_strUuid;
|
2025-10-29 17:23:30 +08:00
|
|
|
|
QString m_strSlfName;
|
|
|
|
|
|
QString m_strWellName;
|
|
|
|
|
|
QString m_strTrackName;
|
|
|
|
|
|
QString m_strLineName;
|
2025-11-06 17:34:31 +08:00
|
|
|
|
QString m_strAliasName;//显示名称
|
|
|
|
|
|
QString m_strUnit;//单位
|
2025-11-18 11:40:42 +08:00
|
|
|
|
|
2026-01-26 18:06:51 +08:00
|
|
|
|
int m_iSelect=0; //iSelect=0未知,1标准曲线,2主曲线,3从曲线
|
2026-01-30 09:47:13 +08:00
|
|
|
|
bool m_bMerge = false;//是拼接状态,否代表校深状态。为了切换时做数据清理
|
2025-11-18 11:40:42 +08:00
|
|
|
|
QString m_strType;//类型:curve, wave
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//
|
2025-11-06 14:43:37 +08:00
|
|
|
|
double m_dWidth;//线宽
|
|
|
|
|
|
QColor m_lineColor;//颜色
|
|
|
|
|
|
Qt::PenStyle m_lineStyle;//线形
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//X坐标
|
2025-11-06 14:43:37 +08:00
|
|
|
|
float m_vmin;//左刻度
|
|
|
|
|
|
float m_vmax;//右刻度
|
2025-11-03 18:14:56 +08:00
|
|
|
|
QString m_strScaleType;//刻度类型(线性,对数)
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
2026-02-02 21:32:36 +08:00
|
|
|
|
QFont m_curveNameFont; // 曲线名称
|
|
|
|
|
|
QFont m_curveUnitFont; // 曲线单位
|
|
|
|
|
|
QFont m_curveScaleFont; // 曲线刻度
|
|
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
//岩性填充
|
2025-11-06 14:43:37 +08:00
|
|
|
|
QString m_newHeadFill;//头部图例
|
|
|
|
|
|
QString m_newTargetLine;//目标曲线
|
|
|
|
|
|
QString m_newFillType;//填充类型
|
|
|
|
|
|
QString m_newFillMode;//填充模式
|
2025-10-29 17:23:30 +08:00
|
|
|
|
QColor m_newColor;//填充颜色
|
|
|
|
|
|
QString m_newLithosImage = "";//岩性图片
|
2025-11-06 14:43:37 +08:00
|
|
|
|
float m_new_vMin;//其他目标曲线
|
|
|
|
|
|
float m_new_vMax;//其他目标曲线
|
|
|
|
|
|
QString m_strOtherScaleType;//其他目标曲线,刻度类型(线性,对数)
|
2025-10-31 17:56:50 +08:00
|
|
|
|
QColor m_frontColor;//岩性前景色
|
|
|
|
|
|
QColor m_backColor;//岩性背景色
|
2025-10-29 17:23:30 +08:00
|
|
|
|
|
2025-12-12 20:10:30 +08:00
|
|
|
|
int m_nJg;
|
|
|
|
|
|
|
2026-02-05 14:53:44 +08:00
|
|
|
|
int m_nDrawType; // 绘图类型
|
|
|
|
|
|
int m_nFillType; // 填充类型
|
2026-02-02 21:32:36 +08:00
|
|
|
|
QString m_strAmp; // 幅度刻度
|
|
|
|
|
|
float m_fMaxAmp; // 最大振幅
|
|
|
|
|
|
bool m_bShowScale; // 显示刻度
|
|
|
|
|
|
|
2026-02-04 12:16:25 +08:00
|
|
|
|
int m_nColorNum = 256; // 调色板参数设置-变密度颜色级数
|
|
|
|
|
|
int m_nSchemeIndex = 1; // 调色板参数设置-色板
|
|
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
public:
|
|
|
|
|
|
void setLineWidth(double dWidth);
|
|
|
|
|
|
double getLineWidth();
|
|
|
|
|
|
|
|
|
|
|
|
void setLineStyle(Qt::PenStyle lineStyle);
|
|
|
|
|
|
Qt::PenStyle getLineStyle();
|
|
|
|
|
|
|
|
|
|
|
|
void setVMax(float vmax);
|
|
|
|
|
|
float getVMax();
|
|
|
|
|
|
|
|
|
|
|
|
void setVMin(float vmin);
|
|
|
|
|
|
float getVMin();
|
|
|
|
|
|
|
2025-10-31 17:56:50 +08:00
|
|
|
|
void setFrontColor(QColor frontColor);
|
|
|
|
|
|
QColor getFrontColor();
|
|
|
|
|
|
|
|
|
|
|
|
void setBackColor(QColor backColor);
|
|
|
|
|
|
QColor getBackColor();
|
|
|
|
|
|
|
2026-02-02 21:32:36 +08:00
|
|
|
|
bool setInfoProperty(QString strProName, QVariant val);
|
|
|
|
|
|
|
2026-02-04 12:16:25 +08:00
|
|
|
|
int getFillTypeIndex();
|
|
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
QJsonObject makeJson();
|
|
|
|
|
|
|
|
|
|
|
|
//public:
|
|
|
|
|
|
// void mousePressEvent(QMouseEvent *event) override {
|
|
|
|
|
|
// if (event->button() == Qt::LeftButton) {
|
|
|
|
|
|
// startPosition = event->globalPos() - frameGeometry().topLeft();
|
|
|
|
|
|
// event->accept();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// void mouseMoveEvent(QMouseEvent *event) override {
|
|
|
|
|
|
// if (event->buttons() & Qt::LeftButton) {
|
|
|
|
|
|
// move(event->globalPos() - startPosition);
|
|
|
|
|
|
// event->accept();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
QPoint startPosition;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2026-02-02 21:32:36 +08:00
|
|
|
|
|
2025-10-29 17:23:30 +08:00
|
|
|
|
#endif // FORMINFO_H
|