]> sigrok.org Git - pulseview.git/blobdiff - pv/view/ruler.h
Replaced boost::shared_ptr with std::shared_ptr
[pulseview.git] / pv / view / ruler.h
index ba03f312103fce4c42dfcb518c63ab82c35cade6..e7575db1d534fe8a37af3cde9f8f4f08ddef019b 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef PULSEVIEW_PV_VIEW_RULER_H
 #define PULSEVIEW_PV_VIEW_RULER_H
 
+#include <memory>
+
 #include "marginwidget.h"
 
 namespace pv {
@@ -34,12 +36,10 @@ 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:
@@ -47,8 +47,8 @@ public:
 
        void clear_selection();
 
-       static QString format_time(double t, unsigned int prefix,
-               unsigned precision = 0);
+public:
+       QSize sizeHint() const;
 
 private:
        void paintEvent(QPaintEvent *event);
@@ -67,7 +67,9 @@ private slots:
        void hover_point_changed();
 
 private:
-       TimeMarker *_grabbed_marker;
+       std::weak_ptr<TimeMarker> _grabbed_marker;
+       QPoint _mouse_down_point;
+       bool _dragging;
 };
 
 } // namespace view