View: Added time_markers
[pulseview.git] / pv / view / view.hpp
index e763da7e398a9b563b8fc5927088ad3ed391a2aa..a23f284825d17534b6edcf11df3a2e302610d661 100644 (file)
@@ -63,6 +63,8 @@ private:
 
        static const int MaxScrollValue;
 
+       static const int ScaleUnits[3];
+
 public:
        static const QColor CursorAreaColour;
 
@@ -88,6 +90,11 @@ public:
 
        const Viewport* viewport() const;
 
+       /**
+        * Gets a list of time markers.
+        */
+       std::vector< std::shared_ptr<TimeItem> > time_items() const;
+
        /**
         * Returns the view time scale in seconds per pixel.
         */
@@ -100,6 +107,16 @@ public:
        double offset() const;
        int owner_visual_v_offset() const;
 
+       /**
+        * Returns the SI prefix to apply to the graticule time markings.
+        */
+       unsigned int tick_prefix() const;
+
+       /**
+        * Returns period of the graticule time markings.
+        */
+       double tick_period() const;
+
        /**
         * Returns the number of nested parents that this row item owner has.
         */
@@ -175,6 +192,12 @@ private:
         */
        void set_zoom(double scale, int offset);
 
+       /**
+        * Find a tick spacing and number formatting that does not cause
+        * the values to collide.
+        */
+       void calculate_tick_spacing();
+
        void update_scroll();
 
        void update_layout();
@@ -252,6 +275,9 @@ private:
        int v_offset_;
        bool updating_scroll_;
 
+       double tick_period_;
+       unsigned int tick_prefix_;
+
        bool show_cursors_;
        CursorPair cursors_;