|
|
#pragma once
|
|
|
|
|
|
#include "ZxSubAxisBase.h"
|
|
|
|
|
|
// 该类用于了zxLogMonitor
|
|
|
class I_PLOTBASE_EXPORT ZxSubAxisDt
|
|
|
: public ZxSubAxisBase
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
ZX_DECLARE_DYNAMIC
|
|
|
|
|
|
public:
|
|
|
enum TimeTextFormat //刻度文本显示样式
|
|
|
{
|
|
|
TTF_Relative_TIU = 0, //相对时间,多少分或多少秒等等
|
|
|
TTF_Relative_Normal, //相对时间,1'35.24'',时分秒模式
|
|
|
|
|
|
// 成都不考虑如下三种
|
|
|
#ifdef QT_DEBUG
|
|
|
TTF_Absolute_Time //绝对时间,格式由format来定
|
|
|
#endif
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
|
|
|
ZxSubAxisDt();
|
|
|
ZxSubAxisDt(const QString& name);
|
|
|
ZxSubAxisDt(const ZxSubAxisDt & c);
|
|
|
virtual ~ZxSubAxisDt();
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual double getValueForPos(double fPos) const;
|
|
|
virtual double getPosForValue(double fVal) const;
|
|
|
|
|
|
void setStartDt(QDateTime& dt);
|
|
|
QDateTime getStartDt();
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void init();
|
|
|
void onInstallPolicies();
|
|
|
|
|
|
virtual void onLayout();
|
|
|
virtual void paintBack(QPainter* painter, const ZxPaintParam& param);
|
|
|
virtual void fillPtyPano(IxPtyPano* pano);
|
|
|
virtual void fillPtyPano_TtfFormat(IxPtyPano* pano, IxPtyItem* prop);
|
|
|
virtual void fillPtyPano_TtfUnit(IxPtyPano* pano, IxPtyItem* prop);
|
|
|
virtual void fillPtyPano_Style(IxPtyPano* pano, IxPtyItem* prop);
|
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual void calculateMajorGrid();
|
|
|
virtual void calculateMinorGrid();
|
|
|
virtual void calculateThirdGrid();
|
|
|
|
|
|
virtual void drawMajorGrid(QPainter* painter, const ZxPaintParam& param);
|
|
|
virtual void drawMinorGrid(QPainter* painter, const ZxPaintParam& param);
|
|
|
virtual void drawThirdGrid(QPainter* painter, const ZxPaintParam& param);
|
|
|
virtual void drawDepthText(QPainter* painter, const ZxPaintParam& param);
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
virtual void onColnDepthRatioChanged(double dRatio);
|
|
|
|
|
|
public:
|
|
|
|
|
|
QString getLabelStr(double d);
|
|
|
|
|
|
void setTtf(TimeTextFormat o);
|
|
|
TimeTextFormat getTtf();
|
|
|
void setTtfFormat(QString s);
|
|
|
QString getTtfFormat();
|
|
|
void setTtfUnit(QString s);
|
|
|
QString getTtfUnit();
|
|
|
QString getTimeBaseUnit();
|
|
|
|
|
|
virtual QString getTipOfDepth(double dDepth);
|
|
|
|
|
|
private:
|
|
|
|
|
|
// 起始时间,对应数据深度0
|
|
|
QDateTime m_dtStart;
|
|
|
TimeTextFormat m_oTtf;
|
|
|
QString m_sTtfUnit; //对于相对时间,是单位
|
|
|
QString m_sTtfFormat; //对于绝对时间,是format
|
|
|
};
|