#include <boost/shared_ptr.hpp>
#include <QColor>
+#include <QComboBox>
#include <QPainter>
#include <QPen>
#include <QRect>
#include <QString>
+#include <QWidgetAction>
#include <stdint.h>
namespace pv {
+class SigSession;
+
namespace data {
class SignalData;
}
private:
static const int LabelHitPadding;
- static const int LabelHighlightRadius;
static const QPen SignalAxisPen;
protected:
- Signal(const sr_probe *const probe);
+ Signal(pv::SigSession &session, const sr_probe *const probe);
public:
/**
*/
void set_v_offset(int v_offset);
- /**
- * Returns true if the signal has been selected by the user.
- */
- bool selected() const;
-
- /**
- * Selects or deselects the signal.
- */
- void select(bool select = true);
-
/**
* Paints the signal with a QPainter
* @param p the QPainter to paint into.
*/
QRectF get_label_rect(int y, int right);
+private slots:
+ void on_text_changed(const QString &text);
+
+signals:
+ void text_changed();
+
protected:
+ pv::SigSession &_session;
const sr_probe *const _probe;
QString _name;
QColor _colour;
int _v_offset;
- bool _selected;
-
QSizeF _text_size;
+
+ QWidgetAction _name_action;
+ QComboBox _name_widget;
+ bool _updating_name_widget;
};
} // namespace view