aboutsummaryrefslogtreecommitdiffstats
path: root/gui/designwidget.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-07-28 16:56:16 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-07-28 16:56:16 +0200
commit0d3d149c4f3bb3197bc2f4488ba8f856f0f35889 (patch)
tree2417f01bb453ab23f78c87b843c2e7b04fe67842 /gui/designwidget.cc
parent7b09a7402e45e2c1a2538b2f3565607ac75eccdd (diff)
downloadnextpnr-0d3d149c4f3bb3197bc2f4488ba8f856f0f35889.tar.gz
nextpnr-0d3d149c4f3bb3197bc2f4488ba8f856f0f35889.tar.bz2
nextpnr-0d3d149c4f3bb3197bc2f4488ba8f856f0f35889.zip
Clean highlight selection if removed from tree
Diffstat (limited to 'gui/designwidget.cc')
-rw-r--r--gui/designwidget.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/gui/designwidget.cc b/gui/designwidget.cc
index b321aef1..ee6a14b4 100644
--- a/gui/designwidget.cc
+++ b/gui/designwidget.cc
@@ -223,6 +223,18 @@ void DesignWidget::updateTree()
clearProperties();
+ QMap<ContextTreeItem *, int>::iterator i = highlightSelected.begin();
+ while (i != highlightSelected.end()) {
+ QMap<ContextTreeItem *, int>::iterator prev = i;
+ ++i;
+ if (prev.key()->type() == ElementType::NET && ctx->nets.find(prev.key()->id()) == ctx->nets.end()) {
+ highlightSelected.erase(prev);
+ }
+ if (prev.key()->type() == ElementType::CELL && ctx->cells.find(prev.key()->id()) == ctx->cells.end()) {
+ highlightSelected.erase(prev);
+ }
+ }
+
treeModel->updateData(ctx);
}
QtProperty *DesignWidget::addTopLevelProperty(const QString &id)