]> sigrok.org Git - pulseview.git/blobdiff - pv/data/decode/annotation.cpp
TabularDecView: Implement "hide hidden rows/classes" checkbox
[pulseview.git] / pv / data / decode / annotation.cpp
index 9f86b2bab84362e26503233c3cb516ee7ebcdf41..1a331b3e143aeb46e0969b5936dac60e7fa314aa 100644 (file)
@@ -66,8 +66,14 @@ Annotation& Annotation::operator=(Annotation&& a)
        return *this;
 }
 
-Annotation::~Annotation()
+const RowData* Annotation::row_data() const
 {
+       return data_;
+}
+
+const Row* Annotation::row() const
+{
+       return data_->row();
 }
 
 uint64_t Annotation::start_sample() const
@@ -80,6 +86,11 @@ uint64_t Annotation::end_sample() const
        return end_sample_;
 }
 
+uint64_t Annotation::length() const
+{
+       return end_sample_ - start_sample_;
+}
+
 Annotation::Class Annotation::ann_class_id() const
 {
        return ann_class_id_;
@@ -93,6 +104,14 @@ const QString Annotation::ann_class_name() const
        return QString(ann_class->name);
 }
 
+const QString Annotation::ann_class_description() const
+{
+       const AnnotationClass* ann_class =
+               data_->row()->decoder()->get_ann_class_by_id(ann_class_id_);
+
+       return QString(ann_class->description);
+}
+
 const vector<QString>* Annotation::annotations() const
 {
        return texts_;
@@ -103,9 +122,26 @@ const QString Annotation::longest_annotation() const
        return texts_->front();
 }
 
-const Row* Annotation::row() const
+bool Annotation::visible() const
 {
-       return data_->row();
+       const Row* row = data_->row();
+
+       return (row->visible() && row->class_is_visible(ann_class_id_));
+}
+
+const QColor Annotation::color() const
+{
+       return data_->row()->get_class_color(ann_class_id_);
+}
+
+const QColor Annotation::bright_color() const
+{
+       return data_->row()->get_bright_class_color(ann_class_id_);
+}
+
+const QColor Annotation::dark_color() const
+{
+       return data_->row()->get_dark_class_color(ann_class_id_);
 }
 
 bool Annotation::operator<(const Annotation &other) const