shared_ptr<Annotation> a(new Annotation(pdata));
lock_guard<mutex> lock(d->_annotations_mutex);
d->_annotations.push_back(a);
+
+ d->new_decode_data();
}
} // namespace data
static void annotation_callback(srd_proto_data *pdata,
void *decoder);
+signals:
+ void new_decode_data();
+
private:
const srd_decoder *const _decoder;
std::map<const srd_probe*, boost::shared_ptr<view::Signal> >
assert(_decoder);
_colour = DecodeColours[index % countof(DecodeColours)];
+
+ connect(_decoder.get(), SIGNAL(new_decode_data()),
+ this, SLOT(on_new_decode_data()));
}
void DecodeSignal::init_context_bar_actions(QWidget *parent)
return actions;
}
+void DecodeSignal::on_new_decode_data()
+{
+ if (_view)
+ _view->update_viewport();
+}
+
} // namespace view
} // namespace pv
**/
int get_nominal_offset(const QRect &rect) const;
+private slots:
+ void on_new_decode_data();
+
private:
boost::shared_ptr<pv::data::Decoder> _decoder;
v_scroll_value_changed(verticalScrollBar()->sliderPosition());
}
+void View::update_viewport()
+{
+ assert(_viewport);
+ _viewport->update();
+}
+
void View::get_scroll_layout(double &length, double &offset) const
{
const shared_ptr<data::SignalData> sig_data = _session.get_data();
void normalize_layout();
+ void update_viewport();
+
signals:
void hover_point_changed();