diff options
-rw-r--r-- | gui/designwidget.cc | 14 | ||||
-rw-r--r-- | gui/treemodel.cc | 9 | ||||
-rw-r--r-- | gui/treemodel.h | 4 |
3 files changed, 14 insertions, 13 deletions
diff --git a/gui/designwidget.cc b/gui/designwidget.cc index 8be71f3f..f7805320 100644 --- a/gui/designwidget.cc +++ b/gui/designwidget.cc @@ -297,7 +297,7 @@ void DesignWidget::newContext(Context *ctx) auto belGetter = [](Context *ctx, BelId id) { return ctx->getBelName(id); };
getTreeByElementType(ElementType::BEL)
- ->loadData(std::unique_ptr<TreeModel::ElementXYRoot<BelId>>(
+ ->loadData(ctx, std::unique_ptr<TreeModel::ElementXYRoot<BelId>>(
new TreeModel::ElementXYRoot<BelId>(ctx, belMap, belGetter, ElementType::BEL)));
}
@@ -312,7 +312,7 @@ void DesignWidget::newContext(Context *ctx) }
auto wireGetter = [](Context *ctx, WireId id) { return ctx->getWireName(id); };
getTreeByElementType(ElementType::WIRE)
- ->loadData(std::unique_ptr<TreeModel::ElementXYRoot<WireId>>(
+ ->loadData(ctx, std::unique_ptr<TreeModel::ElementXYRoot<WireId>>(
new TreeModel::ElementXYRoot<WireId>(ctx, wireMap, wireGetter, ElementType::WIRE)));
}
@@ -326,14 +326,14 @@ void DesignWidget::newContext(Context *ctx) }
auto pipGetter = [](Context *ctx, PipId id) { return ctx->getPipName(id); };
getTreeByElementType(ElementType::PIP)
- ->loadData(std::unique_ptr<TreeModel::ElementXYRoot<PipId>>(
+ ->loadData(ctx, std::unique_ptr<TreeModel::ElementXYRoot<PipId>>(
new TreeModel::ElementXYRoot<PipId>(ctx, pipMap, pipGetter, ElementType::PIP)));
}
#endif
getTreeByElementType(ElementType::CELL)
- ->loadData(std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::CELL)));
+ ->loadData(ctx, std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::CELL)));
getTreeByElementType(ElementType::NET)
- ->loadData(std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::NET)));
+ ->loadData(ctx, std::unique_ptr<TreeModel::IdStringList>(new TreeModel::IdStringList(ElementType::NET)));
}
updateTree();
}
@@ -367,8 +367,8 @@ void DesignWidget::updateTree() nets.push_back(pair.first);
}
- getTreeByElementType(ElementType::CELL)->updateElements(ctx, cells);
- getTreeByElementType(ElementType::NET)->updateElements(ctx, nets);
+ getTreeByElementType(ElementType::CELL)->updateElements(cells);
+ getTreeByElementType(ElementType::NET)->updateElements(nets);
}
}
QtProperty *DesignWidget::addTopLevelProperty(const QString &id)
diff --git a/gui/treemodel.cc b/gui/treemodel.cc index ab7dc263..b834c682 100644 --- a/gui/treemodel.cc +++ b/gui/treemodel.cc @@ -154,20 +154,21 @@ Model::Model(QObject *parent) : QAbstractItemModel(parent), root_(new Item("Elem Model::~Model() {} -void Model::loadData(std::unique_ptr<Item> data) +void Model::loadData(Context *ctx, std::unique_ptr<Item> data) { beginResetModel(); + ctx_ = ctx; root_ = std::move(data); endResetModel(); } -void Model::updateElements(Context *ctx, std::vector<IdString> elements) +void Model::updateElements(std::vector<IdString> elements) { - if (!ctx) + if (!ctx_) return; beginResetModel(); - root_->updateElements(ctx, elements); + root_->updateElements(ctx_, elements); endResetModel(); } diff --git a/gui/treemodel.h b/gui/treemodel.h index dbbf1025..d7f337a3 100644 --- a/gui/treemodel.h +++ b/gui/treemodel.h @@ -352,8 +352,8 @@ class Model : public QAbstractItemModel Model(QObject *parent = nullptr); ~Model(); - void loadData(std::unique_ptr<Item> data); - void updateElements(Context *ctx, std::vector<IdString> elements); + void loadData(Context *ctx, std::unique_ptr<Item> data); + void updateElements(std::vector<IdString> elements); Item *nodeFromIndex(const QModelIndex &idx) const; QModelIndex indexFromNode(Item *node) { |