Remove the previous acquisition's markers when a new acquisition
is started, and add a new one everytime we receive the SR_DF_TRIGGER
packet.
show_cursors_(false),
cursors_(new CursorPair(*this)),
next_flag_text_('A'),
show_cursors_(false),
cursors_(new CursorPair(*this)),
next_flag_text_('A'),
- trigger_marker_(nullptr),
hover_point_(-1, -1)
{
connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
hover_point_(-1, -1)
{
connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
items.push_back(cursors_->first());
items.push_back(cursors_->second());
items.push_back(cursors_->first());
items.push_back(cursors_->second());
- if (trigger_marker_)
- items.push_back(trigger_marker_);
+ for (auto trigger_marker : trigger_markers_)
+ items.push_back(trigger_marker);
void View::trigger_event(util::Timestamp location)
{
void View::trigger_event(util::Timestamp location)
{
- if (trigger_marker_)
- trigger_marker_->set_time(location);
- else
- trigger_marker_ = std::shared_ptr<TriggerMarker>(new TriggerMarker(*this, location));
+ trigger_markers_.push_back(shared_ptr<TriggerMarker>(
+ new TriggerMarker(*this, location)));
}
void View::get_scroll_layout(double &length, Timestamp &offset) const
}
void View::get_scroll_layout(double &length, Timestamp &offset) const
void View::capture_state_updated(int state)
{
void View::capture_state_updated(int state)
{
- if (state == Session::Running)
+ if (state == Session::Running) {
set_time_unit(util::TimeUnit::Samples);
set_time_unit(util::TimeUnit::Samples);
+ trigger_markers_.clear();
+ }
+
if (state == Session::Stopped) {
// After acquisition has stopped we need to re-calculate the ticks once
// as it's otherwise done when the user pans or zooms, which is too late
if (state == Session::Stopped) {
// After acquisition has stopped we need to re-calculate the ticks once
// as it's otherwise done when the user pans or zooms, which is too late
std::list< std::shared_ptr<Flag> > flags_;
char next_flag_text_;
std::list< std::shared_ptr<Flag> > flags_;
char next_flag_text_;
- std::shared_ptr<TriggerMarker> trigger_marker_;
+ std::vector< std::shared_ptr<TriggerMarker> > trigger_markers_;