#ifndef PULSEVIEW_PV_VIEW_RULER_H
#define PULSEVIEW_PV_VIEW_RULER_H
-#include <QWidget>
+#include <memory>
+
+#include "marginwidget.h"
namespace pv {
namespace view {
-class TimeMarker;
-class View;
-
-class Ruler : public QWidget
+class Ruler : public MarginWidget
{
Q_OBJECT
private:
+ static const int RulerHeight;
static const int MinorTickSubdivision;
static const int ScaleUnits[3];
- static const QString SIPrefixes[9];
- static const int FirstSIPrefixPower;
-
static const int HoverArrowSize;
public:
Ruler(View &parent);
- static QString format_time(double t, unsigned int prefix,
- unsigned precision = 0);
+public:
+ QSize sizeHint() const;
private:
void paintEvent(QPaintEvent *event);
- void mouseMoveEvent(QMouseEvent *e);
- void mousePressEvent(QMouseEvent *e);
- void mouseReleaseEvent(QMouseEvent *);
-
private:
/**
* Draw a hover arrow under the cursor position.
private slots:
void hover_point_changed();
-
-private:
- View &_view;
-
- TimeMarker *_grabbed_marker;
};
} // namespace view