* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PULSEVIEW_PV_VIEW_TRACE_H
-#define PULSEVIEW_PV_VIEW_TRACE_H
+#ifndef PULSEVIEW_PV_VIEW_TRACE_HPP
+#define PULSEVIEW_PV_VIEW_TRACE_HPP
#include <QColor>
#include <QPainter>
#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 int ColourBGAlpha;
+ static const QColor BrightGrayBGColour;
+ static const QColor DarkGrayBGColour;
+
protected:
Trace(QString name);
*/
void set_colour(QColor colour);
+ /**
+ * Enables or disables the coloured background for this trace.
+ */
+ void set_coloured_bg(bool state);
+
/**
* Paints the signal label.
* @param p the QPainter to paint into.
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.
* @param pp the painting parameters object to paint with.
* @param y the y-offset of the axis.
*/
- void paint_axis(QPainter &p, const RowItemPaintParams &pp, int y);
+ void paint_axis(QPainter &p, const ViewItemPaintParams &pp, int y);
void add_colour_option(QWidget *parent, QFormLayout *form);
protected:
QString name_;
- QColor colour_;
+ QColor colour_, bgcolour_;
+ bool coloured_bg_, coloured_bg_state_;
private:
pv::widgets::Popup *popup_;
} // namespace view
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_TRACE_H
+#endif // PULSEVIEW_PV_VIEW_TRACE_HPP