]> sigrok.org Git - pulseview.git/blobdiff - pv/view/signal.cpp
Initialise Trace widgets when the trace is received by the View
[pulseview.git] / pv / view / signal.cpp
index 9b08336e3c64cc627f2e919a8a8b000383253017..0e1c7c729c77c4693c32a0afd38663c5ff54026f 100644 (file)
@@ -54,19 +54,25 @@ Signal::Signal(pv::SigSession &session, const sr_probe *const probe) :
        Trace(session, probe->name),
        _probe(probe),
        _name_action(NULL),
-       _name_widget(),
+       _name_widget(NULL),
        _updating_name_widget(false)
 {
        assert(_probe);
+}
+
+void Signal::init_context_bar_actions(QWidget *parent)
+{
+       _name_widget = new QComboBox(parent);
+       _name_widget->setEditable(true);
 
-       _name_action.setDefaultWidget(&_name_widget);
+       _name_action = new QWidgetAction(parent);
+       _name_action->setDefaultWidget(_name_widget);
 
-       _name_widget.setEditable(true);
        for(unsigned int i = 0; i < countof(ProbeNames); i++)
-               _name_widget.insertItem(i, ProbeNames[i]);
-       _name_widget.setEditText(probe->name);
+               _name_widget->insertItem(i, ProbeNames[i]);
+       _name_widget->setEditText(_probe->name);
 
-       connect(&_name_widget, SIGNAL(editTextChanged(const QString&)),
+       connect(_name_widget, SIGNAL(editTextChanged(const QString&)),
                this, SLOT(on_text_changed(const QString&)));
 }
 
@@ -74,7 +80,7 @@ void Signal::set_name(QString name)
 {
        Trace::set_name(name);
        _updating_name_widget = true;
-       _name_widget.setEditText(name);
+       _name_widget->setEditText(name);
        _updating_name_widget = false;
 }