#include <stdint.h>
-#include "rowitem.hpp"
+#include "tracetreeitem.hpp"
class QFormLayout;
namespace view {
-class Trace : public RowItem
+class Trace : public TraceTreeItem
{
Q_OBJECT
static const QPen AxisPen;
static const int LabelHitPadding;
+ static const QColor BrightBGColour;
+ static const QColor DarkBGColour;
+
protected:
Trace(QString name);
void set_colour(QColor colour);
/**
- * Computes the outline rectangle of the viewport hit-box.
- * @param rect the rectangle of the viewport area.
- * @return Returns the rectangle of the hit-box.
+ * Enables or disables the coloured background for this trace.
*/
- QRectF hit_box_rect(const QRectF &rect) const;
+ void set_coloured_bg(bool state);
/**
* Paints the signal label.
QRectF label_rect(const QRectF &rect) const;
protected:
+ /**
+ * Paints the background layer of the signal with a QPainter.
+ * @param p The QPainter to paint into.
+ * @param pp The painting parameters object to paint with.
+ */
+ virtual void paint_back(QPainter &p, const ViewItemPaintParams &pp);
+
/**
* Paints a zero axis across the viewport.
* @param p the QPainter to paint into.
protected:
QString name_;
- QColor colour_;
+ QColor colour_, bgcolour_;
+ bool coloured_bg_, coloured_bg_state_;
private:
pv::widgets::Popup *popup_;