Simple warnings

This commit is contained in:
Alexey 2025-06-30 21:52:33 +03:00
commit ba80b6b861
4 changed files with 94 additions and 1 deletions

View file

@ -34,8 +34,40 @@ void MainWindow::onGridUpdated()
ui->listLines->clear();
QMap<QString, QList<int>> colorCount;
for (int i = 0; i< ui->gridPreview->getLines().size(); i++)
{
ui->listLines->addItem(QString("Line #%1").arg(i + 1));
QString color = ui->gridPreview->getLine(i).getColor();
auto iter = colorCount.find(color);
if (iter == colorCount.end())
colorCount.insert(color, { i + 1 });
else
iter->push_back(i + 1);
}
ui->treeWarnings->clear();
for (auto iter = colorCount.begin(); iter != colorCount.end(); iter++)
{
if (iter->size() > 1)
{
QTreeWidgetItem *topItem = new QTreeWidgetItem(ui->treeWarnings, QStringList{
QString("Color \"%1\" is used by several lines:").arg(iter.key())
});
for(int i = 0; i < iter->size(); i++)
{
QTreeWidgetItem *innerItem = new QTreeWidgetItem(topItem, QStringList {
QString("Line #%1").arg(iter->at(i))
});
topItem->addChild(innerItem);
}
ui->treeWarnings->addTopLevelItem(topItem);
}
}
ui->treeWarnings->expandAll();
PointProbe pp = ui->gridPreview->getCapturedProbe();