|
15 | 15 |
|
16 | 16 | #include "metrics_visualize_panel.hpp"
|
17 | 17 |
|
| 18 | +#include <ament_index_cpp/get_package_share_directory.hpp> |
18 | 19 | #include <rviz_common/display_context.hpp>
|
19 | 20 |
|
20 | 21 | #include <X11/Xlib.h>
|
@@ -95,6 +96,11 @@ void MetricsVisualizePanel::onInitialize()
|
95 | 96 |
|
96 | 97 | const auto period = std::chrono::milliseconds(static_cast<int64_t>(1e3 / 10));
|
97 | 98 | timer_ = raw_node_->create_wall_timer(period, [&]() { onTimer(); });
|
| 99 | + |
| 100 | + const std::string yaml_filepath = |
| 101 | + ament_index_cpp::get_package_share_directory("tier4_metrics_rviz_plugin") + |
| 102 | + "/config/metrics_visualize_panel.param.yaml"; |
| 103 | + config_ = YAML::LoadFile(yaml_filepath); |
98 | 104 | }
|
99 | 105 |
|
100 | 106 | void MetricsVisualizePanel::updateWidgetVisibility(
|
@@ -224,12 +230,21 @@ void MetricsVisualizePanel::onMetrics(
|
224 | 230 | QGridLayout * all_metrics_layout = dynamic_cast<QGridLayout *>(all_metrics_widget->layout());
|
225 | 231 |
|
226 | 232 | // Add the widgets to the "All Metrics" tab layout
|
227 |
| - all_metrics_layout->addWidget(tableWidget, row, col); |
228 |
| - all_metrics_layout->setRowStretch(row, false); |
229 |
| - all_metrics_layout->addWidget(chartViewWidget, row + 1, col); |
230 |
| - all_metrics_layout->setRowStretch(row + 1, true); |
231 |
| - all_metrics_layout->setColumnStretch(col, true); |
232 |
| - |
| 233 | + try { |
| 234 | + if (config_[status.name]["table"].as<bool>()) { |
| 235 | + all_metrics_layout->addWidget(tableWidget, row, col); |
| 236 | + } |
| 237 | + |
| 238 | + if (config_[status.name]["graph"].as<bool>()) { |
| 239 | + all_metrics_layout->addWidget(chartViewWidget, row + 1, col); |
| 240 | + } |
| 241 | + |
| 242 | + all_metrics_layout->setRowStretch(row, false); |
| 243 | + all_metrics_layout->setRowStretch(row + 1, true); |
| 244 | + all_metrics_layout->setColumnStretch(col, true); |
| 245 | + } catch (const YAML::Exception & e) { |
| 246 | + std::cerr << "YAML error: " << e.what() << std::endl; |
| 247 | + } |
233 | 248 | // Also add the widgets to the topic_widgets_map_ for easy management
|
234 | 249 | topic_widgets_map_[topic_name][status.name] = std::make_pair(tableWidget, chartViewWidget);
|
235 | 250 | }
|
|
0 commit comments