22 #include <libsigrokdecode/libsigrokdecode.h> 25 #include <libsigrokcxx/libsigrokcxx.hpp> 31 using std::shared_ptr;
39 "Binary Decoder Output View",
40 "Tabular Decoder Output View" 50 is_main_view_(is_main_view)
56 connect(&
session_, SIGNAL(capture_state_changed(
int)),
58 connect(&
session_, SIGNAL(new_segment(
int)),
94 for (
const shared_ptr<data::SignalBase>& signalbase :
signalbases_) {
95 disconnect(signalbase.get(), SIGNAL(samples_cleared()),
97 disconnect(signalbase.get(), SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
101 signalbases_.clear();
108 connect(signalbase.get(), SIGNAL(samples_cleared()),
110 connect(signalbase.get(), SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
116 disconnect(signalbase.get(), SIGNAL(samples_cleared()),
118 disconnect(signalbase.get(), SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
122 [&](shared_ptr<data::SignalBase> s) {
return s == signalbase; }),
127 void ViewBase::clear_decode_signals()
129 decode_signals_.clear();
132 void ViewBase::add_decode_signal(shared_ptr<data::DecodeSignal> signal)
134 decode_signals_.push_back(signal);
137 void ViewBase::remove_decode_signal(shared_ptr<data::DecodeSignal> signal)
139 decode_signals_.erase(std::remove_if(
140 decode_signals_.begin(), decode_signals_.end(),
141 [&](shared_ptr<data::DecodeSignal> s) {
return s == signal; }),
142 decode_signals_.end());
174 (void)new_segment_id;
179 (void)new_segment_id;
virtual void trigger_event(int segment_id, util::Timestamp location)
QTimer delayed_view_updater_
const char * ViewTypeNames[ViewTypeCount]
vector< shared_ptr< data::SignalBase > > signalbases() const
virtual void save_settings(QSettings &settings) const
ViewBase(Session &session, bool is_main_view=false, QMainWindow *parent=nullptr)
uint32_t current_segment_
The ID of the currently displayed segment.
virtual void clear_signalbases()
bool is_main_view() const
virtual void signals_changed()
virtual void add_signalbase(const shared_ptr< data::SignalBase > signalbase)
virtual void remove_signalbase(const shared_ptr< data::SignalBase > signalbase)
vector< shared_ptr< data::SignalBase > > signalbases_
virtual void reset_view_state()
virtual void focus_on_range(uint64_t start_sample, uint64_t end_sample)
virtual void capture_state_updated(int state)
virtual void restore_settings(QSettings &settings)
static const int MaxViewAutoUpdateRate
virtual void on_new_segment(int new_segment_id)
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 24 >, boost::multiprecision::et_off > Timestamp
Timestamp type providing yoctosecond resolution.
virtual void on_segment_completed(int new_segment_id)
void on_samples_added(uint64_t segment_id, uint64_t start_sample, uint64_t end_sample)
virtual void perform_delayed_view_update()