{
Q_OBJECT
+public:
+ /**
+ * Allowed values for the multi-segment display mode.
+ *
+ * Note: Consider @ref View::set_segment_display_mode when updating the list.
+ */
+ enum SegmentDisplayMode {
+ ShowLastSegmentOnly = 1,
+ ShowSingleSegmentOnly,
+ ShowAllSegments,
+ ShowAccumulatedIntensity
+ };
+
private:
static const QPen AxisPen;
static const int LabelHitPadding;
*/
virtual void set_colour(QColor colour);
+ /**
+ * Configures the segment display mode to use.
+ */
+ virtual void set_segment_display_mode(SegmentDisplayMode mode);
+
/**
* Paints the signal label.
* @param p the QPainter to paint into.
*/
QRectF label_rect(const QRectF &rect) const;
+ void set_current_segment(const int segment);
+
+ int get_current_segment() const;
+
protected:
/**
* Paints the background layer of the signal with a QPainter.
protected:
shared_ptr<data::SignalBase> base_;
+ QPen axis_pen_;
+
+ SegmentDisplayMode segment_display_mode_;
+
+ /// The ID of the currently displayed segment
+ int current_segment_;
private:
pv::widgets::Popup *popup_;