]> sigrok.org Git - pulseview.git/blobdiff - pv/view/timemarker.hpp
TimeItem: Added new class - a base of TimeMarker, derived from SelectableItem
[pulseview.git] / pv / view / timemarker.hpp
index 0103fb041dfbdbede975ee4753de759c5d89546b..24688ebc2e3d91a6ef319e932948026971668198 100644 (file)
@@ -27,7 +27,7 @@
 #include <QRectF>
 #include <QWidgetAction>
 
-#include "selectableitem.hpp"
+#include "timeitem.hpp"
 
 class QPainter;
 class QRect;
@@ -37,10 +37,14 @@ namespace view {
 
 class View;
 
-class TimeMarker : public SelectableItem
+class TimeMarker : public TimeItem
 {
        Q_OBJECT
 
+public:
+       static const int ArrowSize;
+       static const int Offset;
+
 protected:
        /**
         * Constructor.
@@ -75,21 +79,24 @@ public:
         */
        virtual void paint(QPainter &p, const QRect &rect);
 
+       /**
+        * Gets the text to show in the marker.
+        */
+       virtual QString get_text() const = 0;
+
        /**
         * Gets the marker label rectangle.
         * @param rect The rectangle of the ruler client area.
         * @return Returns the label rectangle.
         */
-       virtual QRectF get_label_rect(const QRect &rect) const = 0;
+       virtual QRectF get_label_rect(const QRect &rect) const;
 
        /**
         * Paints the marker's label to the ruler.
         * @param p The painter to draw with.
         * @param rect The rectangle of the ruler client area.
-        * @param prefix The SI prefix to paint time value with.
         */
-       virtual void paint_label(QPainter &p, const QRect &rect,
-               unsigned int prefix) = 0;
+       void paint_label(QPainter &p, const QRect &rect);
 
        pv::widgets::Popup* create_popup(QWidget *parent);
 
@@ -100,7 +107,6 @@ Q_SIGNALS:
        void time_changed();
 
 protected:
-       View &view_;
        const QColor &colour_;
 
        double time_;