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=[ CCFLAGS=[
"-g", "-g",
"-fPIC", "-fPIC",
"-O2", "-O0",
#"-Wunused", #"-Wunused",
"-Werror", "-Werror",
"-Wshadow", "-Wshadow",

@ -83,7 +83,7 @@ SearchDlg::SearchDlg(QWidget *parent) : QDialog(parent) {
data_table = new QTableWidget(); data_table = new QTableWidget();
data_table->setRowCount(1); data_table->setRowCount(1);
data_table->setColumnCount(3); data_table->setColumnCount(6);
search_results_layout->addWidget(data_table); 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) { void Slider::paintEvent(QPaintEvent *ev) {
QPainter p(this); QPainter p(this);
QRect r = rect().adjusted(0, 4, 0, -4); QRect r = rect().adjusted(0, 4, 0, -4);
p.fillRect(r, timeline_colors[(int)TimelineType::None]); p.fillRect(r, timeline_colors[(int)TimelineType::None]);
double min = minimum() / 1000.0; double min = minimum() / 1000.0;
double max = maximum() / 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; continue;
r.setLeft(((std::max(min, (double)begin) - min) / (max - min)) * width()); r.setLeft(((std::max(min, (double)begin) - min) / (max - min)) * width());
r.setRight(((std::min(max, (double)end) - min) / (max - min)) * width()); r.setRight(((std::min(max, (double)end) - min) / (max - min)) * width());
p.fillRect(r, timeline_colors[(int)type]); p.fillRect(r, timeline_colors[(int)type]);

Loading…
Cancel
Save