const int Trace::LabelHitPadding = 2;
Trace::Trace(QString name) :
+ _view(NULL),
_name(name),
_v_offset(0),
_popup(NULL),
void Trace::set_view(pv::view::View *view)
{
assert(view);
+
+ if (_view)
+ disconnect(_view, SIGNAL(hover_point_changed()),
+ this, SLOT(on_hover_point_changed()));
+
_view = view;
+
+ connect(view, SIGNAL(hover_point_changed()),
+ this, SLOT(on_hover_point_changed()));
}
void Trace::paint_back(QPainter &p, int left, int right)
label_size.width(), label_size.height());
}
-bool Trace::eventFilter(QObject *obj, QEvent *evt)
-{
- QKeyEvent *keyEvent;
-
- (void)obj;
-
- if (evt->type() == QEvent::KeyPress) {
- keyEvent = static_cast<QKeyEvent*>(evt);
- if (keyEvent->key() == Qt::Key_Enter ||
- keyEvent->key() == Qt::Key_Return) {
- close_popup();
- return true;
- }
- }
-
- return false;
-}
-
QColor Trace::get_text_colour() const
{
return (_colour.lightness() > 64) ? Qt::black : Qt::white;
{
QLineEdit *const name_edit = new QLineEdit(parent);
name_edit->setText(_name);
- name_edit->selectAll();
- name_edit->setFocus();
connect(name_edit, SIGNAL(textChanged(const QString&)),
this, SLOT(on_text_changed(const QString&)));
form->addRow(tr("Name"), name_edit);
- // We want to close the popup when the Enter key was pressed.
- name_edit->installEventFilter(this);
-
add_colour_option(parent, form);
}
-void Trace::close_popup()
+void Trace::hover_point_changed()
{
- _popup->close();
}
void Trace::on_popup_closed()
colour_changed();
}
+void Trace::on_hover_point_changed()
+{
+ hover_point_changed();
+}
+
} // namespace view
} // namespace pv