#include <pv/widgets/decodergroupbox.h>
#include <pv/widgets/decodermenu.h>
-using namespace boost;
-using namespace std;
+using boost::dynamic_pointer_cast;
+using boost::shared_ptr;
+using std::list;
+using std::max;
+using std::map;
+using std::min;
+using std::vector;
namespace pv {
namespace view {
DecodeTrace::DecodeTrace(pv::SigSession &session,
boost::shared_ptr<pv::data::DecoderStack> decoder_stack, int index) :
- Trace(session, QString(decoder_stack->stack().front()->decoder()->name)),
+ Trace(session, QString::fromUtf8(
+ decoder_stack->stack().front()->decoder()->name)),
_decoder_stack(decoder_stack),
_delete_mapper(this)
{
assert(_decoder_stack);
vector<Annotation> annotations(_decoder_stack->annotations());
- BOOST_FOREACH(const Annotation &a, annotations)
+
+ BOOST_FOREACH(const Annotation &a, annotations) {
+ // Every annotation row is 20 pixels further down.
+ int y_ann_row_offset = a.row() * 20;
+
draw_annotation(a, p, get_text_colour(), h, left, right,
- samples_per_pixel, pixels_offset, y);
+ samples_per_pixel, pixels_offset,
+ y + y_ann_row_offset);
+ }
draw_unresolved_period(p, h, left, right,
samples_per_pixel, pixels_offset);
assert(decoder);
pv::widgets::DecoderGroupBox *const group =
- new pv::widgets::DecoderGroupBox(decoder->name);
+ new pv::widgets::DecoderGroupBox(
+ QString::fromUtf8(decoder->name));
_delete_mapper.setMapping(group, index);
connect(group, SIGNAL(delete_decoder()), &_delete_mapper, SLOT(map()));