#pragma once #include "AbsAxis.h" namespace YSG { struct TimeAxisPrivate; struct TimeTicker; class LIB_DECL TimeAxis : public AbsAxis { public: Q_Ptr2(TimeAxis) PROP(int, timePointSize) PROP(int, tickPixelSpace) PROP(QString, timeFormat) PROP(QFont, font) int giveData(QTime time); QTime tickToTime(int tick, SRC=SRC::Edit); struct Builder; }; struct TimeAxis_Prop { int timePointSize = 100; int tickPixelSpace = 8; QString timeFormat = "mm:ss.zzz"; QFont font; }; struct LIB_DECL TimeAxis::Builder : AbsAxis::BuilderT , protected TimeAxis_Prop{ PROP_B(int, timePointSize) PROP_B(int, tickPixelSpace) PROP_B(QString, timeFormat) PROP_B(QFont, font) Builder(Plot *plot, Qt::Orientation orientation); TimeAxis* build(); }; }