]> sigrok.org Git - pulseview.git/blobdiff - pv/views/tabular_decoder/view.hpp
TabularDecView-related bug fixes
[pulseview.git] / pv / views / tabular_decoder / view.hpp
index b19ba61450fbe59248f9a6950fc55794585ef324..484b81be799775a3619b7fe969175ad470a878ed 100644 (file)
@@ -25,6 +25,7 @@
 #include <QTableView>
 #include <QToolButton>
 
+#include "pv/globalsettings.hpp"
 #include "pv/views/viewbase.hpp"
 #include "pv/data/decodesignal.hpp"
 
@@ -35,13 +36,14 @@ namespace views {
 
 namespace tabular_decoder {
 
-class AnnotationCollectionModel : public QAbstractTableModel
+class AnnotationCollectionModel : public QAbstractTableModel, public GlobalSettingsInterface
 {
        Q_OBJECT
 
 public:
        AnnotationCollectionModel(QObject* parent = nullptr);
 
+       QVariant data_from_ann(const Annotation* ann, int index) const;
        QVariant data(const QModelIndex& index, int role) const override;
        Qt::ItemFlags flags(const QModelIndex& index) const override;
 
@@ -57,11 +59,15 @@ public:
 
        void set_signal_and_segment(data::DecodeSignal* signal, uint32_t current_segment);
 
+       void on_setting_changed(const QString &key, const QVariant &value) override;
+
 private:
        vector<QVariant> header_data_;
        const deque<const Annotation*>* all_annotations_;
+       data::DecodeSignal* signal_;
        uint32_t prev_segment_;
        uint64_t prev_last_row_;
+       bool theme_is_dark_;
 };
 
 
@@ -106,13 +112,20 @@ private:
 private Q_SLOTS:
        void on_selected_decoder_changed(int index);
        void on_signal_name_changed(const QString &name);
+       void on_signal_color_changed(const QColor &color);
        void on_new_annotations();
 
+       void on_decoder_reset();
        void on_decoder_stacked(void* decoder);
        void on_decoder_removed(void* decoder);
 
        void on_actionSave_triggered(QAction* action = nullptr);
 
+       void on_table_item_clicked(const QModelIndex& index);
+       void on_table_item_double_clicked(const QModelIndex& index);
+       void on_table_header_requested(const QPoint& pos);
+       void on_table_header_toggled(bool checked);
+
        virtual void perform_delayed_view_update();
 
 private: