pull/27806/head
Justin Newberry 2 years ago
parent ea0db34541
commit 89febdcc0e
  1. 2
      SConstruct
  2. 2
      tools/cabana/tools/search.cc
  3. 25
      tools/cabana/videowidget.cc

@ -175,7 +175,7 @@ env = Environment(
CCFLAGS=[
"-g",
"-fPIC",
"-O2",
"-O0",
#"-Wunused",
"-Werror",
"-Wshadow",

@ -83,7 +83,7 @@ SearchDlg::SearchDlg(QWidget *parent) : QDialog(parent) {
data_table = new QTableWidget();
data_table->setRowCount(1);
data_table->setColumnCount(3);
data_table->setColumnCount(6);
search_results_layout->addWidget(data_table);

@ -188,15 +188,36 @@ void Slider::sliderChange(QAbstractSlider::SliderChange change) {
}
}
bool sortTimelineBasedOnEventPriority(std::tuple<int, int, TimelineType> left, std::tuple<int, int, TimelineType> right){
std::map<TimelineType, int> timelinePriority = {
{ TimelineType::None, 0 },
{ TimelineType::Engaged, 10 },
{ TimelineType::AlertInfo, 20 },
{ TimelineType::AlertWarning, 30 },
{ TimelineType::AlertCritical, 40 },
{ TimelineType::UserFlag, 35 }
};
return timelinePriority[std::get<2>(left)] < timelinePriority[std::get<2>(right)];
}
void Slider::paintEvent(QPaintEvent *ev) {
QPainter p(this);
QRect r = rect().adjusted(0, 4, 0, -4);
p.fillRect(r, timeline_colors[(int)TimelineType::None]);
double min = minimum() / 1000.0;
double max = maximum() / 1000.0;
for (auto [begin, end, type] : timeline) {
if (begin > max || end < min)
std::vector<std::tuple<int, int, TimelineType>> sortedTimeline;
std::copy(timeline.begin(), timeline.end(), std::back_inserter(sortedTimeline));
std::sort(sortedTimeline.begin(), sortedTimeline.end(), sortTimelineBasedOnEventPriority);
for (auto [begin, end, type] : sortedTimeline) {
if (begin > max || end < min)
continue;
r.setLeft(((std::max(min, (double)begin) - min) / (max - min)) * width());
r.setRight(((std::min(max, (double)end) - min) / (max - min)) * width());
p.fillRect(r, timeline_colors[(int)type]);

Loading…
Cancel
Save