#include #include #include class QwtPlotCurve; class QwtPlotMarker; class QwtPlotDirectPainter; class Plot: public QwtPlot { Q_OBJECT public: Plot( QWidget * = NULL ); virtual ~Plot(); void start(); virtual void replot(); virtual bool eventFilter( QObject *, QEvent * ); public Q_SLOTS: void setIntervalLength( double ); protected: virtual void showEvent( QShowEvent * ); virtual void resizeEvent( QResizeEvent * ); virtual void timerEvent( QTimerEvent * ); private: void updateCurve(); void incrementInterval(); QwtPlotMarker *d_origin; QwtPlotCurve *d_curve; int d_paintedPoints; QwtPlotDirectPainter *d_directPainter; QwtInterval d_interval; int d_timerId; QwtSystemClock d_clock; };