mirror of git://sigrok.org/pulseview
Added a label context bar action
This commit is contained in:
parent
b1264f5650
commit
9e40e83daf
|
@ -57,6 +57,7 @@ AnalogSignal::~AnalogSignal()
|
|||
const list<QAction*> AnalogSignal::get_context_bar_actions()
|
||||
{
|
||||
list<QAction*> actions;
|
||||
actions.push_back(&_name_action);
|
||||
return actions;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,9 @@ Header::Header(View &parent) :
|
|||
connect(_action_set_colour, SIGNAL(triggered()),
|
||||
this, SLOT(on_action_set_colour_triggered()));
|
||||
|
||||
connect(&_view.session(), SIGNAL(signals_changed()),
|
||||
this, SLOT(on_signals_changed()));
|
||||
|
||||
connect(&_view, SIGNAL(signals_moved()),
|
||||
this, SLOT(on_signals_moved()));
|
||||
}
|
||||
|
@ -256,6 +259,15 @@ void Header::on_action_set_colour_triggered()
|
|||
context_signal->set_colour(new_colour);
|
||||
}
|
||||
|
||||
void Header::on_signals_changed()
|
||||
{
|
||||
const vector< shared_ptr<Signal> > sigs(_view.session().get_signals());
|
||||
BOOST_FOREACH(shared_ptr<Signal> s, sigs) {
|
||||
assert(s);
|
||||
connect(s.get(), SIGNAL(text_changed()), this, SLOT(update()));
|
||||
}
|
||||
}
|
||||
|
||||
void Header::on_signals_moved()
|
||||
{
|
||||
update();
|
||||
|
|
|
@ -63,6 +63,8 @@ private:
|
|||
void contextMenuEvent(QContextMenuEvent *event);
|
||||
|
||||
private slots:
|
||||
void on_signals_changed();
|
||||
|
||||
void on_action_set_name_triggered();
|
||||
|
||||
void on_action_set_colour_triggered();
|
||||
|
|
|
@ -67,6 +67,7 @@ LogicSignal::~LogicSignal()
|
|||
const list<QAction*> LogicSignal::get_context_bar_actions()
|
||||
{
|
||||
list<QAction*> actions;
|
||||
actions.push_back(&_name_action);
|
||||
return actions;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,12 +35,42 @@ const int Signal::LabelHitPadding = 2;
|
|||
|
||||
const QPen Signal::SignalAxisPen(QColor(128, 128, 128, 64));
|
||||
|
||||
const char *const ProbeNames[] = {
|
||||
"CLK",
|
||||
"DATA",
|
||||
"IN",
|
||||
"OUT",
|
||||
"RST",
|
||||
"Tx",
|
||||
"Rx",
|
||||
"EN",
|
||||
"SCLK",
|
||||
"MOSI",
|
||||
"MISO",
|
||||
"/SS",
|
||||
"SDA",
|
||||
"SCL"
|
||||
};
|
||||
|
||||
Signal::Signal(const sr_probe *const probe) :
|
||||
_probe(probe),
|
||||
_name(probe->name),
|
||||
_v_offset(0)
|
||||
_v_offset(0),
|
||||
_name_action(NULL),
|
||||
_name_widget(),
|
||||
_updating_name_widget(false)
|
||||
{
|
||||
assert(_probe);
|
||||
|
||||
_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);
|
||||
|
||||
connect(&_name_widget, SIGNAL(editTextChanged(const QString&)),
|
||||
this, SLOT(on_text_changed(const QString&)));
|
||||
}
|
||||
|
||||
QString Signal::get_name() const
|
||||
|
@ -51,6 +81,9 @@ QString Signal::get_name() const
|
|||
void Signal::set_name(QString name)
|
||||
{
|
||||
_name = name;
|
||||
_updating_name_widget = true;
|
||||
_name_widget.setEditText(name);
|
||||
_updating_name_widget = false;
|
||||
}
|
||||
|
||||
QColor Signal::get_colour() const
|
||||
|
@ -165,5 +198,11 @@ QRectF Signal::get_label_rect(int y, int right)
|
|||
label_size.width(), label_size.height());
|
||||
}
|
||||
|
||||
void Signal::on_text_changed(const QString &text)
|
||||
{
|
||||
_name = text;
|
||||
text_changed();
|
||||
}
|
||||
|
||||
} // namespace view
|
||||
} // namespace pv
|
||||
|
|
|
@ -24,10 +24,12 @@
|
|||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
#include <QColor>
|
||||
#include <QComboBox>
|
||||
#include <QPainter>
|
||||
#include <QPen>
|
||||
#include <QRect>
|
||||
#include <QString>
|
||||
#include <QWidgetAction>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
@ -150,6 +152,12 @@ private:
|
|||
*/
|
||||
QRectF get_label_rect(int y, int right);
|
||||
|
||||
private slots:
|
||||
void on_text_changed(const QString &text);
|
||||
|
||||
signals:
|
||||
void text_changed();
|
||||
|
||||
protected:
|
||||
const sr_probe *const _probe;
|
||||
|
||||
|
@ -158,6 +166,10 @@ protected:
|
|||
int _v_offset;
|
||||
|
||||
QSizeF _text_size;
|
||||
|
||||
QWidgetAction _name_action;
|
||||
QComboBox _name_widget;
|
||||
bool _updating_name_widget;
|
||||
};
|
||||
|
||||
} // namespace view
|
||||
|
|
Loading…
Reference in New Issue