]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/cursorpair.hpp
Make sure get_time_extents() uses a signal that data was acquired for
[pulseview.git] / pv / views / trace / cursorpair.hpp
index 9d450df6b69af06e1dcc9a0830f036c9b18c3f23..ba6b2a7097590120942ad530325bf48bb4321aa0 100644 (file)
@@ -17,8 +17,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_CURSORPAIR_HPP
-#define PULSEVIEW_PV_VIEWS_TRACEVIEW_CURSORPAIR_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACE_CURSORPAIR_HPP
+#define PULSEVIEW_PV_VIEWS_TRACE_CURSORPAIR_HPP
 
 #include "cursor.hpp"
 #include "pv/globalsettings.hpp"
@@ -76,12 +76,18 @@ public:
         */
        void set_time(const pv::util::Timestamp& time) override;
 
+       virtual const pv::util::Timestamp time() const override;
+
        float get_x() const override;
 
+       virtual const pv::util::Timestamp delta(const pv::util::Timestamp& other) const override;
+
        QPoint drag_point(const QRect &rect) const override;
 
        pv::widgets::Popup* create_popup(QWidget *parent) override;
 
+       QMenu* create_header_context_menu(QWidget *parent) override;
+
        QRectF label_rect(const QRectF &rect) const override;
 
        /**
@@ -102,7 +108,8 @@ public:
        /**
         * Constructs the string to display.
         */
-       QString format_string();
+       QString format_string(int max_width = 0, std::function<double(const QString&)> query_size
+               = [](const QString& s) -> double { (void)s; return 0; });
 
        pair<float, float> get_cursor_offsets() const;
 
@@ -111,6 +118,9 @@ public:
 public Q_SLOTS:
        void on_hover_point_changed(const QWidget* widget, const QPoint &hp);
 
+private:
+       QString format_string_sub(int time_precision, int freq_precision, bool show_unit = true);
+
 private:
        shared_ptr<Cursor> first_, second_;
        QColor fill_color_;
@@ -118,10 +128,11 @@ private:
        QSizeF text_size_;
        QRectF label_area_;
        bool label_incomplete_;
+       bool show_interval_, show_frequency_, show_samples_;
 };
 
 } // namespace trace
 } // namespace views
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_CURSORPAIR_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_CURSORPAIR_HPP