]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/decodetrace.hpp
DecodeTrace: Implement annotation export for cursor range
[pulseview.git] / pv / views / trace / decodetrace.hpp
index 4d9e59c162b7484d2c748dbfb2afd492f5f7be25..9372f7af138f9e37b82a4f4b9880fda4063ff339 100644 (file)
@@ -120,6 +120,8 @@ public:
 
        QMenu* create_header_context_menu(QWidget *parent);
 
+       virtual QMenu* create_view_context_menu(QWidget *parent, QPoint &click_pos);
+
        void delete_pressed();
 
 private:
@@ -175,6 +177,8 @@ private:
        QComboBox* create_channel_selector_init_state(QWidget *parent,
                const data::DecodeChannel *ch);
 
+       void export_annotations(vector<data::decode::Annotation> *annotations) const;
+
 public:
        virtual void hover_point_changed(const QPoint &hp);
 
@@ -198,6 +202,13 @@ private Q_SLOTS:
 
        void on_show_hide_decoder(int index);
 
+       void on_export_row();
+       void on_export_all_rows();
+       void on_export_row_with_cursor();
+       void on_export_all_rows_with_cursor();
+       void on_export_row_from_here();
+       void on_export_all_rows_from_here();
+
 private:
        pv::Session &session_;
        shared_ptr<data::DecodeSignal> decode_signal_;
@@ -208,6 +219,9 @@ private:
        map<QComboBox*, uint16_t> init_state_map_;  // init state selector -> decode channel ID
        list< shared_ptr<pv::binding::Decoder> > bindings_;
 
+       data::decode::Row *selected_row_;
+       pair<uint64_t, uint64_t> selected_sample_range_;
+
        vector<pv::widgets::DecoderGroupBox*> decoder_forms_;
 
        map<data::decode::Row, int> row_title_widths_;