logplus/logPlus/qmycustomplot.h

95 lines
3.2 KiB
C++

#ifndef QMYCUSTOMPLOT_H
#define QMYCUSTOMPLOT_H
#include "qcustomplot.h"
#include "LogIO.h"
#pragma execution_character_set("utf-8")
class QMyCustomPlot : public QCustomPlot
{
Q_OBJECT
public:
QMyCustomPlot(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="", QString strTrackName="", QString strLineName="");
virtual ~QMyCustomPlot()
{
}
protected:
virtual void mouseMoveEvent(QMouseEvent *event);
public:
QString m_strUuid;
QString m_strSlfName;
QString m_strWellName;
QString m_strTrackName;
QString m_strLineName;
//
float m_iX1, m_iX2;
float m_iY1, m_iY2;
//其他曲线
QString m_newFillType;
QString m_newTargetLine;
QColor m_newColor;
QString m_newLithosImage;
QString m_newHeadFill;
float m_vMin;
float m_vMax;
QString m_strScaleType="线性";//刻度类型(线性,对数)
QColor m_frontColor;//岩性前景色
QColor m_backColor;//岩性背景色
QString m_newFillMode;
QContextMenuEvent *m_event;
bool m_bDrawRect = true;
public:
void init(QString strName, QVector<double> x, QVector<double> y);
void addImageToPlot(double left_Low, double right_Hight, const QString imagePath);
public slots:
void s_LineClicked(int index);
void onResetZoom();
void removeSelectedGraph();
void removeSelectedGraphByTitle();
void s_Raise(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
//属性
//左刻度
void s_ChangeLeftScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale);
//右刻度
void s_ChangeRightScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newRightScale);
//刻度类型
void s_ChangeScaleType(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strScaleType);
//线颜色
void s_ChangeLineColor(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor);
//线宽
void s_ChangeLineWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double width);
//线型
void s_ChangeLineStyle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, Qt::PenStyle lineStyle);
//岩性填充-不填充
void s_ClearFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName);
//岩性填充-填充
void s_ChangeFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName,
QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill,
float vMin, float vMax, QColor frontColor, QColor backColor, QString newFillMode);
void onAddRect();
public:
//
virtual void mousePressEvent(QMouseEvent *event);
virtual void contextMenuEvent(QContextMenuEvent *event);
private:
};
#endif // QMYCUSTOMPLOT_H