]> sigrok.org Git - pulseview.git/commitdiff
Annotation: Use special type for the class, not plain int
authorSoeren Apel <redacted>
Wed, 18 Apr 2018 06:49:49 +0000 (08:49 +0200)
committerSoeren Apel <redacted>
Thu, 19 Apr 2018 18:46:06 +0000 (20:46 +0200)
pv/data/decode/annotation.cpp
pv/data/decode/annotation.hpp
pv/views/trace/decodetrace.cpp
pv/views/trace/decodetrace.hpp

index 7c720430e9d6cf7e6a688fd6c138cad2cd90589b..96a594c3c6ce57a07f621ce9ddf9cd439fed1acd 100644 (file)
@@ -41,7 +41,7 @@ Annotation::Annotation(const srd_proto_data *const pdata) :
                (const srd_proto_data_annotation*)pdata->data;
        assert(pda);
 
-       format_ = pda->ann_class;
+       ann_class_ = (Class)(pda->ann_class);
 
        const char *const *annotations = (char**)pda->ann_text;
        while (*annotations) {
@@ -60,9 +60,9 @@ uint64_t Annotation::end_sample() const
        return end_sample_;
 }
 
-int Annotation::format() const
+Annotation::Class Annotation::ann_class() const
 {
-       return format_;
+       return ann_class_;
 }
 
 const vector<QString>& Annotation::annotations() const
index 42a291a2134a5d7eb439b6a2c7dda7ffcac1238d..a107e0efeed7426584cbded2169ca639ffc47288 100644 (file)
@@ -35,18 +35,21 @@ namespace decode {
 
 class Annotation
 {
+public:
+       typedef uint32_t Class;
+
 public:
        Annotation(const srd_proto_data *const pdata);
 
        uint64_t start_sample() const;
        uint64_t end_sample() const;
-       int format() const;
+       Class ann_class() const;
        const vector<QString>& annotations() const;
 
 private:
        uint64_t start_sample_;
        uint64_t end_sample_;
-       int format_;
+       Class ann_class_;
        vector<QString> annotations_;
 };
 
index 8dea88321a7c642cf25dc447843fad403856ab60..f4f243931bd6d27e94952afba35421a38d1ebf2e 100644 (file)
@@ -406,7 +406,7 @@ void DecodeTrace::draw_annotation(const pv::data::decode::Annotation &a,
                pixels_offset;
        const double end = a.end_sample() / samples_per_pixel - pixels_offset;
 
-       QColor color = get_annotation_color(row_color, a.format());
+       QColor color = get_annotation_color(row_color, a.ann_class());
        p.setPen(color.darker());
        p.setBrush(color);
 
@@ -440,14 +440,14 @@ void DecodeTrace::draw_annotation_block(
        const double top = y + .5 - h / 2;
        const double bottom = y + .5 + h / 2;
 
-       QColor color = get_annotation_color(row_color, annotations.front().format());
+       QColor color = get_annotation_color(row_color, annotations.front().ann_class());
 
        // Check if all annotations are of the same type (i.e. we can use one color)
        // or if we should use a neutral color (i.e. gray)
-       const int format = annotations.front().format();
-       const bool single_format = all_of(
+       const Annotation::Class ann_class = annotations.front().ann_class();
+       const bool single_class = all_of(
                annotations.begin(), annotations.end(),
-               [&](const Annotation &a) { return a.format() == format; });
+               [&](const Annotation &a) { return a.ann_class() == ann_class; });
 
        const QRectF rect(start, top, end - start, bottom - top);
        const int r = h / 4;
@@ -456,8 +456,8 @@ void DecodeTrace::draw_annotation_block(
        p.setBrush(Qt::white);
        p.drawRoundedRect(rect, r, r);
 
-       p.setPen((single_format ? color.darker() : Qt::gray));
-       p.setBrush(QBrush((single_format ? color : Qt::gray), Qt::Dense4Pattern));
+       p.setPen((single_class ? color.darker() : Qt::gray));
+       p.setBrush(QBrush((single_class ? color : Qt::gray), Qt::Dense4Pattern));
        p.drawRoundedRect(rect, r, r);
 }
 
index 692a5f710a3f653adfa93c8ebe6ba95a4ccc7e6b..04a3b300b9caf8e9681353f1ce14f6109da04dc1 100644 (file)
@@ -50,14 +50,11 @@ namespace pv {
 class Session;
 
 namespace data {
-class SignalBase;
 struct DecodeChannel;
 class DecodeSignal;
 
 namespace decode {
-class Annotation;
 class Decoder;
-class Row;
 }
 }  // namespace data