for (shared_ptr<DecodeTrace> dt : decode_traces_)
dt->set_current_segment(current_segment_);
+ trigger_markers_.clear();
+ for (util::Timestamp timestamp : session_.get_triggers(segment_id))
+ trigger_markers_.push_back(make_shared<TriggerMarker>(*this, timestamp));
+
viewport_->update();
segment_changed(segment_id);
void View::set_segment_display_mode(Trace::SegmentDisplayMode mode)
{
+ trigger_markers_.clear();
+
segment_display_mode_ = mode;
for (shared_ptr<Signal> signal : signals_)
i->animate_to_layout_v_offset();
}
-void View::trigger_event(util::Timestamp location)
+void View::trigger_event(int segment_id, util::Timestamp location)
{
+ // TODO This doesn't work if we're showing multiple segments at once
+ if ((uint32_t)segment_id != current_segment_)
+ return;
+
// Set up ruler_shift if the Key_View_TriggerIsZeroTime option is set.
GlobalSettings settings;
bool trigger_is_zero_time = settings.value(GlobalSettings::Key_View_TriggerIsZeroTime).toBool();