#include "tracetreeitem.hpp"
+#include <pv/globalsettings.hpp>
#include "pv/data/signalbase.hpp"
using std::shared_ptr;
* For this reason, Trace is more generic and contains properties and helpers
* that benefit any kind of time series items.
*/
-class Trace : public TraceTreeItem
+class Trace : public TraceTreeItem, public GlobalSettingsInterface
{
Q_OBJECT
*/
shared_ptr<data::SignalBase> base() const;
- /**
- * Sets the name of the signal.
- */
- virtual void set_name(QString name);
-
- /**
- * Set the color of the signal.
- */
- virtual void set_color(QColor color);
-
/**
* Configures the segment display mode to use.
*/
virtual void set_segment_display_mode(SegmentDisplayMode mode);
+ virtual void on_setting_changed(const QString &key, const QVariant &value);
+
/**
* Paints the signal label.
* @param p the QPainter to paint into.
int get_current_segment() const;
+ virtual void hover_point_changed(const QPoint &hp);
+
protected:
/**
* Paints the background layer of the signal with a QPainter.
*/
void paint_axis(QPainter &p, ViewItemPaintParams &pp, int y);
+ /**
+ * Draw a hover marker under the cursor position.
+ * @param p The painter to draw into.
+ */
+ void paint_hover_marker(QPainter &p);
+
void add_color_option(QWidget *parent, QFormLayout *form);
void create_popup_form();
QPen axis_pen_;
SegmentDisplayMode segment_display_mode_;
+ bool show_hover_marker_;
/// The ID of the currently displayed segment
int current_segment_;