21 #ifndef PULSEVIEW_PV_VIEWS_VIEWBASE_HPP 22 #define PULSEVIEW_PV_VIEWS_VIEWBASE_HPP 26 #include <unordered_set> 29 #include <QMainWindow> 40 using std::shared_ptr;
58 ViewTypeDecoderBinary,
59 ViewTypeTabularDecoder,
76 virtual ViewType get_type()
const = 0;
77 bool is_main_view()
const;
83 virtual void reset_view_state();
91 vector< shared_ptr<data::SignalBase> > signalbases()
const;
93 virtual void clear_signalbases();
94 virtual void add_signalbase(
const shared_ptr<data::SignalBase> signalbase);
95 virtual void remove_signalbase(
const shared_ptr<data::SignalBase> signalbase);
98 virtual void clear_decode_signals();
99 virtual void add_decode_signal(shared_ptr<data::DecodeSignal> signal);
100 virtual void remove_decode_signal(shared_ptr<data::DecodeSignal> signal);
103 virtual void save_settings(
QSettings &settings)
const;
104 virtual void restore_settings(
QSettings &settings);
106 virtual void focus_on_range(uint64_t start_sample, uint64_t end_sample);
110 virtual void signals_changed();
111 virtual void capture_state_updated(
int state);
112 virtual void on_new_segment(
int new_segment_id);
113 virtual void on_segment_completed(
int new_segment_id);
114 virtual void perform_delayed_view_update();
117 void on_samples_added(uint64_t segment_id, uint64_t start_sample,
118 uint64_t end_sample);
120 void on_data_updated();
131 vector< shared_ptr<data::DecodeSignal> > decode_signals_;
143 #endif // PULSEVIEW_PV_VIEWS_VIEWBASE_HPP
QTimer delayed_view_updater_
const char * ViewTypeNames[ViewTypeCount]
util::TimeUnit time_unit_
uint32_t current_segment_
The ID of the currently displayed segment.
vector< shared_ptr< data::SignalBase > > signalbases_
static const int MaxViewAutoUpdateRate
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 24 >, boost::multiprecision::et_off > Timestamp
Timestamp type providing yoctosecond resolution.