diff options
Diffstat (limited to 'gui/designwidget.cc')
-rw-r--r-- | gui/designwidget.cc | 16 |
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)
|