25 #include <QInputDialog>
32 QWidget(parent), debugDrawer(debugDrawer)
39 connect(
ui.listWidgetLayerVisibility,
40 &QListWidget::itemChanged,
43 connect(
ui.checkBoxDefaultLayerVisibility,
44 &QCheckBox::stateChanged,
47 connect(
ui.listWidgetDefaultLayerVisibility,
48 &QListWidget::itemChanged,
51 connect(
ui.pushButtonDefaultLayerVisibilityAdd,
52 &QPushButton::released,
55 connect(
ui.pushButtonDefaultLayerVisibilityRemove,
56 &QPushButton::released,
64 ui.checkBoxDefaultLayerVisibility->setCheckState(
65 settings->value(QString::fromStdString(
"DefaultLayerVisibility")).toBool()
68 settings->beginGroup(
"layer");
69 for (
const auto& key : settings->allKeys())
71 QListWidgetItem* item =
new QListWidgetItem(key,
ui.listWidgetDefaultLayerVisibility);
72 item->setCheckState(settings->value(key).toBool() ? Qt::Checked : Qt::Unchecked);
73 ui.listWidgetDefaultLayerVisibility->addItem(item);
81 settings->setValue(QString::fromStdString(
"DefaultLayerVisibility"),
82 ui.checkBoxDefaultLayerVisibility->checkState() == Qt::Checked);
83 settings->beginGroup(
"layer");
84 for (
const auto& layerInfo :
debugDrawer->getAllDefaultLayerVisibilities())
86 settings->setValue(QString::fromStdString(layerInfo.first), layerInfo.second);
96 for (
int i = 0; i <
ui.listWidgetDefaultLayerVisibility->count(); ++i)
116 ui.listWidgetLayerVisibility->clear();
117 for (
const auto& layerInfo :
debugDrawer->layerInformation())
119 QListWidgetItem* item =
new QListWidgetItem(QString::fromStdString(layerInfo.layerName),
120 ui.listWidgetLayerVisibility);
121 item->setCheckState(layerInfo.visible ? Qt::Checked : Qt::Unchecked);
122 ui.listWidgetLayerVisibility->addItem(item);
124 ui.checkBoxDefaultLayerVisibility->setCheckState(
125 debugDrawer->getDefaultLayerVisibility() ? Qt::Checked : Qt::Unchecked);
126 ui.listWidgetDefaultLayerVisibility->clear();
127 for (
const auto& layerInfo :
debugDrawer->getAllDefaultLayerVisibilities())
129 QListWidgetItem* item =
new QListWidgetItem(QString::fromStdString(layerInfo.first),
130 ui.listWidgetDefaultLayerVisibility);
131 item->setCheckState(layerInfo.second ? Qt::Checked : Qt::Unchecked);
132 ui.listWidgetDefaultLayerVisibility->addItem(item);
143 debugDrawer->enableLayerVisu(item->text().toStdString(), item->checkState() == Qt::Checked);
153 debugDrawer->setDefaultLayerVisibility(checkState != Qt::Unchecked);
163 debugDrawer->setDefaultLayerVisibility(item->text().toStdString(),
164 item->checkState() == Qt::Checked);
171 QString text = QInputDialog::getText(
176 ui.listWidgetLayerVisibility->selectedItems().empty()
178 :
ui.listWidgetLayerVisibility->selectedItems().front()->text(),
180 if (
ok && !text.isEmpty())
182 QListWidgetItem* item =
new QListWidgetItem(text,
ui.listWidgetDefaultLayerVisibility);
183 item->setCheckState(
debugDrawer->getDefaultLayerVisibility() ? Qt::Checked
185 ui.listWidgetDefaultLayerVisibility->addItem(item);
192 for (
const auto& selected :
ui.listWidgetDefaultLayerVisibility->selectedItems())
196 debugDrawer->removeDefaultLayerVisibility(selected->text().toStdString());
198 ui.listWidgetDefaultLayerVisibility->takeItem(
199 ui.listWidgetDefaultLayerVisibility->row(selected));