* 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"
*/
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;
/**
/**
* Constructs the string to display.
*/
- QString format_string(qreal max_width = 0, std::function<qreal(const QString&)> query_size
- = [](const QString& s) -> qreal { Q_UNUSED(s); return 0; });
+ 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;
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_;
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