Clean highlight selection if removed from tree
This commit is contained in:
parent
7b09a7402e
commit
0d3d149c4f
@ -223,6 +223,18 @@ void DesignWidget::updateTree()
|
|||||||
|
|
||||||
clearProperties();
|
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);
|
treeModel->updateData(ctx);
|
||||||
}
|
}
|
||||||
QtProperty *DesignWidget::addTopLevelProperty(const QString &id)
|
QtProperty *DesignWidget::addTopLevelProperty(const QString &id)
|
||||||
|
@ -166,10 +166,6 @@ void ContextTreeModel::updateData(Context *ctx)
|
|||||||
QMap<QString, ContextTreeItem *>::iterator prev = i;
|
QMap<QString, ContextTreeItem *>::iterator prev = i;
|
||||||
++i;
|
++i;
|
||||||
if (ctx->nets.find(ctx->id(prev.key().toStdString())) == ctx->nets.end()) {
|
if (ctx->nets.find(ctx->id(prev.key().toStdString())) == ctx->nets.end()) {
|
||||||
/* if (treeWidget->currentItem() == prev.value())
|
|
||||||
treeWidget->setCurrentItem(nets_root);
|
|
||||||
if (highlightSelected.contains(prev.value()))
|
|
||||||
highlightSelected.remove(prev.value());*/
|
|
||||||
delete prev.value();
|
delete prev.value();
|
||||||
nameToItem[3].erase(prev);
|
nameToItem[3].erase(prev);
|
||||||
}
|
}
|
||||||
@ -191,10 +187,6 @@ void ContextTreeModel::updateData(Context *ctx)
|
|||||||
QMap<QString, ContextTreeItem *>::iterator prev = i;
|
QMap<QString, ContextTreeItem *>::iterator prev = i;
|
||||||
++i;
|
++i;
|
||||||
if (ctx->cells.find(ctx->id(prev.key().toStdString())) == ctx->cells.end()) {
|
if (ctx->cells.find(ctx->id(prev.key().toStdString())) == ctx->cells.end()) {
|
||||||
/* if (treeWidget->currentItem() == prev.value())
|
|
||||||
treeWidget->setCurrentItem(cells_root);
|
|
||||||
if (highlightSelected.contains(prev.value()))
|
|
||||||
highlightSelected.remove(prev.value());*/
|
|
||||||
delete prev.value();
|
delete prev.value();
|
||||||
nameToItem[4].erase(prev);
|
nameToItem[4].erase(prev);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user