#include <stdint.h>
-#include "selectableitem.h"
+#include "rowitem.h"
class QFormLayout;
namespace pv {
-namespace view {
-class View;
+namespace widgets {
+class Popup;
+}
+
+namespace view {
-class Trace : public SelectableItem
+class Trace : public RowItem
{
Q_OBJECT
/**
* Gets the name of this signal.
*/
- QString get_name() const;
+ QString name() const;
/**
* Sets the name of the signal.
/**
* Get the colour of the signal.
*/
- QColor get_colour() const;
+ QColor colour() const;
/**
* Set the colour of the signal.
void set_colour(QColor colour);
/**
- * Gets the vertical layout offset of this signal.
- */
- int get_v_offset() const;
-
- /**
- * Sets the vertical layout offset of this signal.
- */
- void set_v_offset(int v_offset);
-
- /**
- * Returns true if the trace is visible and enabled.
- */
- virtual bool enabled() const = 0;
-
- virtual void set_view(pv::view::View *view);
-
- /**
- * Paints the background layer of the trace with a QPainter
- * @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
- **/
- virtual void paint_back(QPainter &p, int left, int right);
-
- /**
- * Paints the mid-layer of the trace with a QPainter
- * @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
- **/
- virtual void paint_mid(QPainter &p, int left, int right);
-
- /**
- * Paints the foreground layer of the trace with a QPainter
- * @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
- **/
- virtual void paint_fore(QPainter &p, int left, int right);
-
- /**
- * Paints the signal label into a QGLWidget.
+ * Paints the signal label.
* @param p the QPainter to paint into.
* @param right the x-coordinate of the right edge of the header
* area.
*/
virtual void paint_label(QPainter &p, int right, bool hover);
- /**
- * Determines if a point is in the header label rect.
- * @param left the x-coordinate of the left edge of the header
- * area.
- * @param right the x-coordinate of the right edge of the header
- * area.
- * @param point the point to test.
- */
- bool pt_in_label_rect(int left, int right, const QPoint &point);
-
virtual QMenu* create_context_menu(QWidget *parent);
pv::widgets::Popup* create_popup(QWidget *parent);
- /**
- * Gets the y-offset of the axis.
- */
- int get_y() const;
-
/**
* Computes the outline rectangle of a label.
- * @param p the QPainter to lay out text with.
* @param right the x-coordinate of the right edge of the header
* area.
* @return Returns the rectangle of the signal label.
*/
- QRectF get_label_rect(int right);
+ QRectF label_rect(int right) const;
protected:
virtual void populate_popup_form(QWidget *parent, QFormLayout *form);
- void close_popup();
-
private Q_SLOTS:
void on_text_changed(const QString &text);
void on_popup_closed();
-Q_SIGNALS:
- void visibility_changed();
- void text_changed();
- void colour_changed();
-
protected:
- pv::view::View *_view;
-
QString _name;
QColor _colour;
- int _v_offset;
private:
pv::widgets::Popup *_popup;