ulog_parameters_dialog.cpp
Go to the documentation of this file.
2 #include "ui_ulog_parameters_dialog.h"
3 
4 #include <QTableWidget>
5 #include <QSettings>
6 #include <QHeaderView>
7 
9  : QDialog(parent), ui(new Ui::ULogParametersDialog)
10 {
11  ui->setupUi(this);
12  QTableWidget* table_info = ui->tableWidgetInfo;
13  QTableWidget* table_params = ui->tableWidgetParams;
14  QTableWidget* table_logs = ui->tableWidgetLogs;
15 
16  table_info->setRowCount(parser.getInfo().size());
17  int row = 0;
18  for (const auto& it : parser.getInfo())
19  {
20  table_info->setItem(row, 0, new QTableWidgetItem(QString::fromStdString(it.first)));
21  table_info->setItem(row, 1, new QTableWidgetItem(QString::fromStdString(it.second)));
22  row++;
23  }
24  table_info->sortItems(0);
25 
26  table_params->setRowCount(parser.getParameters().size());
27  row = 0;
28  for (const auto& param : parser.getParameters())
29  {
30  table_params->setItem(row, 0, new QTableWidgetItem(QString::fromStdString(param.name)));
31  if (param.val_type == ULogParser::FLOAT)
32  {
33  table_params->setItem(row, 1, new QTableWidgetItem(QString::number(param.value.val_real)));
34  }
35  else
36  {
37  table_params->setItem(row, 1, new QTableWidgetItem(QString::number(param.value.val_int)));
38  }
39  row++;
40  }
41  table_params->sortItems(0);
42 
43  table_logs->setRowCount(parser.getLogs().size());
44  row = 0;
45  for (const auto& log_msg : parser.getLogs())
46  {
47  QString time = QString::number(0.001 * double(log_msg.timestamp / 1000), 'f', 2);
48  table_logs->setItem(row, 0, new QTableWidgetItem(time));
49 
50  switch (log_msg.level)
51  {
52  case '0':
53  table_logs->setItem(row, 1, new QTableWidgetItem("EMERGENCY"));
54  break;
55  case '1':
56  table_logs->setItem(row, 1, new QTableWidgetItem("ALERT"));
57  break;
58  case '2':
59  table_logs->setItem(row, 1, new QTableWidgetItem("CRITICAL"));
60  break;
61  case '3':
62  table_logs->setItem(row, 1, new QTableWidgetItem("ERROR"));
63  break;
64  case '4':
65  table_logs->setItem(row, 1, new QTableWidgetItem("WARNING"));
66  break;
67  case '5':
68  table_logs->setItem(row, 1, new QTableWidgetItem("NOTICE"));
69  break;
70  case '6':
71  table_logs->setItem(row, 1, new QTableWidgetItem("INFO"));
72  break;
73  case '7':
74  table_logs->setItem(row, 1, new QTableWidgetItem("DEBUG"));
75  break;
76  default:
77  table_logs->setItem(row, 1, new QTableWidgetItem(QString::number(log_msg.level)));
78  }
79  table_logs->setItem(row, 2, new QTableWidgetItem(QString::fromStdString(log_msg.msg)));
80  row++;
81  }
82 }
83 
85 {
86  QTableWidget* table_info = ui->tableWidgetInfo;
87  QTableWidget* table_params = ui->tableWidgetParams;
88 
89  QSettings settings;
90  restoreGeometry(settings.value("ULogParametersDialog/geometry").toByteArray());
91  table_info->horizontalHeader()->restoreState(settings.value("ULogParametersDialog/info/state").toByteArray());
92  table_params->horizontalHeader()->restoreState(settings.value("ULogParametersDialog/params/state").toByteArray());
93 
94  table_info->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Interactive);
95  table_info->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Interactive);
96 
97  table_params->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Interactive);
98  table_params->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Interactive);
99 }
100 
102 {
103  QTableWidget* table_info = ui->tableWidgetInfo;
104  QTableWidget* table_params = ui->tableWidgetParams;
105 
106  QSettings settings;
107  settings.setValue("ULogParametersDialog/geometry", this->saveGeometry());
108  settings.setValue("ULogParametersDialog/info/state", table_info->horizontalHeader()->saveState());
109  settings.setValue("ULogParametersDialog/params/state", table_params->horizontalHeader()->saveState());
110 
111  delete ui;
112 }
const std::vector< MessageLog > & getLogs() const
ULogParametersDialog(const ULogParser &parser, QWidget *parent=nullptr)
const std::vector< Parameter > & getParameters() const
float time
Definition: mqtt_test.py:17
Ui::ULogParametersDialog * ui
const std::map< std::string, std::string > & getInfo() const


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:48