7 displayed_topics_(displayed_topics)
9 setWindowTitle(
"Graph settings");
11 QVBoxLayout *configure_layout =
new QVBoxLayout;
12 setLayout(configure_layout);
14 QTableWidget *main_table =
new QTableWidget;
15 main_table->setColumnCount(3);
16 QStringList horiz_header_names = {
"Display",
"Color",
"Thickness"};
17 QStringList vertical_header_names;
18 main_table->setHorizontalHeaderLabels(horiz_header_names);
22 vertical_header_names.push_back(QString::fromStdString(topic->topic_name_));
24 main_table->setVerticalHeaderLabels(vertical_header_names);
26 for (
unsigned i(0); i < displayed_topics_.size(); ++i)
29 QCheckBox *topic_checkbox =
new QCheckBox;
31 topic_checkbox->setObjectName(QString::fromStdString(displayed_topics_.at(i)->topic_name_));
32 topic_checkbox->setChecked(
true);
34 if (displayed_topics_.at(i)->displayed_ ==
false)
35 topic_checkbox->setChecked(
false);
37 main_table->setCellWidget(i, 0, topic_checkbox);
40 QComboBox *color_selection_combobox =
new QComboBox;
42 color_selection_combobox->setObjectName(QString::fromStdString(displayed_topics_.at(i)->topic_name_));
43 color_selection_combobox->addItems(color_list);
45 main_table->setCellWidget(i, 1, color_selection_combobox);
48 QSpinBox *thickness_spin_box =
new QSpinBox;
50 thickness_spin_box->setObjectName(QString::fromStdString(displayed_topics_.at(i)->topic_name_));
51 thickness_spin_box->setRange(1, 10);
52 thickness_spin_box->setValue(displayed_topics_.at(i)->thickness_);
53 main_table->setCellWidget(i, 2, thickness_spin_box);
56 main_table->resizeColumnsToContents();
57 main_table->resizeRowsToContents();
59 configure_layout->addWidget(main_table);
60 QDialogButtonBox *button_box =
new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
61 configure_layout->addWidget(button_box);
64 connect(button_box, &QDialogButtonBox::rejected,
this, &QDialog::reject);
78 && button->isChecked())
82 && !button->isChecked())
91 if ((
displayed_topics_.at(i)->topic_name_) == spinbox->objectName().toStdString())
100 if ((
displayed_topics_.at(i)->topic_name_) == combobox->objectName().toStdString())
102 const int index = combobox->currentIndex();
QStringList getColorsStringList() const
int getIndexFromColor(const QColor color) const
std::deque< std::shared_ptr< TopicData > > displayed_topics_
std::vector< QCheckBox * > topic_buttons_
std::vector< QSpinBox * > topic_spinbox_
QColor getColorFromIndex(const int index) const
std::vector< QComboBox * > topic_combobox_
GraphSettings(std::deque< std::shared_ptr< TopicData >> displayed_topics, QDialog *parent=0)