aboutsummaryrefslogtreecommitdiffstats
path: root/gui/designwidget.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gui/designwidget.cc')
-rw-r--r--gui/designwidget.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/gui/designwidget.cc b/gui/designwidget.cc
index 300c8271..310fcdd6 100644
--- a/gui/designwidget.cc
+++ b/gui/designwidget.cc
@@ -306,8 +306,6 @@ void DesignWidget::newContext(Context *ctx)
#endif
getTreeByElementType(ElementType::CELL)->loadData(std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::CELL)));
getTreeByElementType(ElementType::NET)->loadData(std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::NET)));
- getTreeByElementType(ElementType::CELL)->updateCells(ctx);
- getTreeByElementType(ElementType::NET)->updateNets(ctx);
}
updateTree();
}
@@ -331,8 +329,18 @@ void DesignWidget::updateTree()
{
std::lock_guard<std::mutex> lock_ui(ctx->ui_mutex);
std::lock_guard<std::mutex> lock(ctx->mutex);
- getTreeByElementType(ElementType::CELL)->updateCells(ctx);
- getTreeByElementType(ElementType::NET)->updateNets(ctx);
+
+ std::vector<IdString> cells;
+ for (auto &pair : ctx->cells) {
+ cells.push_back(pair.first);
+ }
+ std::vector<IdString> nets;
+ for (auto &pair : ctx->nets) {
+ nets.push_back(pair.first);
+ }
+
+ getTreeByElementType(ElementType::CELL)->updateElements(ctx, cells);
+ getTreeByElementType(ElementType::NET)->updateElements(ctx, nets);
}
}
QtProperty *DesignWidget::addTopLevelProperty(const QString &id)