forked from qt-creator/qt-creator
Modelinglib: Avoid temporary extensive copy
Change-Id: I25fb6f671cc392836b829889987c516aa722bc92 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -764,13 +764,13 @@ void DiagramController::removeObjects(MObject *modelObject)
|
|||||||
DElement *diagramElement = findDelegate(modelObject, diagram);
|
DElement *diagramElement = findDelegate(modelObject, diagram);
|
||||||
if (diagramElement)
|
if (diagramElement)
|
||||||
removeElement(diagramElement, diagram);
|
removeElement(diagramElement, diagram);
|
||||||
foreach (const Handle<MRelation> &relation, modelObject->relations()) {
|
for (const Handle<MRelation> &relation : modelObject->relations()) {
|
||||||
DElement *diagramElement = findDelegate(relation.target(), diagram);
|
DElement *diagramElement = findDelegate(relation.target(), diagram);
|
||||||
if (diagramElement)
|
if (diagramElement)
|
||||||
removeElement(diagramElement, diagram);
|
removeElement(diagramElement, diagram);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (const Handle<MObject> &object, modelObject->children()) {
|
for (const Handle<MObject> &object : modelObject->children()) {
|
||||||
if (object.hasTarget())
|
if (object.hasTarget())
|
||||||
removeObjects(object.target());
|
removeObjects(object.target());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ void MChildrenVisitor::visitMElement(MElement *element)
|
|||||||
|
|
||||||
void MChildrenVisitor::visitMObject(MObject *object)
|
void MChildrenVisitor::visitMObject(MObject *object)
|
||||||
{
|
{
|
||||||
foreach (const Handle<MObject> &handle, object->children()) {
|
for (const Handle<MObject> &handle : object->children()) {
|
||||||
MObject *child = handle.target();
|
MObject *child = handle.target();
|
||||||
if (child)
|
if (child)
|
||||||
child->accept(this);
|
child->accept(this);
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ void MCloneDeepVisitor::visitMObject(const MObject *object)
|
|||||||
visitMElement(object);
|
visitMElement(object);
|
||||||
auto cloned = dynamic_cast<MObject *>(m_cloned);
|
auto cloned = dynamic_cast<MObject *>(m_cloned);
|
||||||
QMT_ASSERT(cloned, return);
|
QMT_ASSERT(cloned, return);
|
||||||
foreach (const Handle<MObject> &handle, object->children()) {
|
for (const Handle<MObject> &handle : object->children()) {
|
||||||
if (handle.hasTarget()) {
|
if (handle.hasTarget()) {
|
||||||
MCloneDeepVisitor visitor;
|
MCloneDeepVisitor visitor;
|
||||||
handle.target()->accept(&visitor);
|
handle.target()->accept(&visitor);
|
||||||
@@ -170,7 +170,7 @@ void MCloneDeepVisitor::visitMObject(const MObject *object)
|
|||||||
cloned->addChild(handle.uid());
|
cloned->addChild(handle.uid());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (const Handle<MRelation> &handle, object->relations()) {
|
for (const Handle<MRelation> &handle : object->relations()) {
|
||||||
if (handle.hasTarget()) {
|
if (handle.hasTarget()) {
|
||||||
MCloneDeepVisitor visitor;
|
MCloneDeepVisitor visitor;
|
||||||
handle.target()->accept(&visitor);
|
handle.target()->accept(&visitor);
|
||||||
|
|||||||
@@ -1060,9 +1060,9 @@ void ModelController::renewElementKey(MElement *element, QHash<Uid, Uid> *renewe
|
|||||||
}
|
}
|
||||||
auto object = dynamic_cast<MObject *>(element);
|
auto object = dynamic_cast<MObject *>(element);
|
||||||
if (object) {
|
if (object) {
|
||||||
foreach (const Handle<MObject> &child, object->children())
|
for (const Handle<MObject> &child : object->children())
|
||||||
renewElementKey(child.target(), renewedKeys);
|
renewElementKey(child.target(), renewedKeys);
|
||||||
foreach (const Handle<MRelation> &relation, object->relations())
|
for (const Handle<MRelation> &relation : object->relations())
|
||||||
renewElementKey(relation.target(), renewedKeys);
|
renewElementKey(relation.target(), renewedKeys);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1071,9 +1071,9 @@ void ModelController::renewElementKey(MElement *element, QHash<Uid, Uid> *renewe
|
|||||||
void ModelController::updateRelationKeys(MElement *element, const QHash<Uid, Uid> &renewedKeys)
|
void ModelController::updateRelationKeys(MElement *element, const QHash<Uid, Uid> &renewedKeys)
|
||||||
{
|
{
|
||||||
if (auto object = dynamic_cast<MObject *>(element)) {
|
if (auto object = dynamic_cast<MObject *>(element)) {
|
||||||
foreach (const Handle<MRelation> &handle, object->relations())
|
for (const Handle<MRelation> &handle : object->relations())
|
||||||
updateRelationEndKeys(handle.target(), renewedKeys);
|
updateRelationEndKeys(handle.target(), renewedKeys);
|
||||||
foreach (const Handle<MObject> &child, object->children())
|
for (const Handle<MObject> &child : object->children())
|
||||||
updateRelationKeys(child.target(), renewedKeys);
|
updateRelationKeys(child.target(), renewedKeys);
|
||||||
} else if (auto relation = dynamic_cast<MRelation *>(element)) {
|
} else if (auto relation = dynamic_cast<MRelation *>(element)) {
|
||||||
updateRelationEndKeys(relation, renewedKeys);
|
updateRelationEndKeys(relation, renewedKeys);
|
||||||
@@ -1097,9 +1097,9 @@ void ModelController::mapObject(MObject *object)
|
|||||||
if (object) {
|
if (object) {
|
||||||
QMT_CHECK(!m_objectsMap.contains(object->uid()));
|
QMT_CHECK(!m_objectsMap.contains(object->uid()));
|
||||||
m_objectsMap.insert(object->uid(), object);
|
m_objectsMap.insert(object->uid(), object);
|
||||||
foreach (const Handle<MObject> &child, object->children())
|
for (const Handle<MObject> &child : object->children())
|
||||||
mapObject(child.target());
|
mapObject(child.target());
|
||||||
foreach (const Handle<MRelation> &relation, object->relations())
|
for (const Handle<MRelation> &relation : object->relations())
|
||||||
mapRelation(relation.target());
|
mapRelation(relation.target());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1108,9 +1108,9 @@ void ModelController::unmapObject(MObject *object)
|
|||||||
{
|
{
|
||||||
if (object) {
|
if (object) {
|
||||||
QMT_CHECK(m_objectsMap.contains(object->uid()));
|
QMT_CHECK(m_objectsMap.contains(object->uid()));
|
||||||
foreach (const Handle<MRelation> &relation, object->relations())
|
for (const Handle<MRelation> &relation : object->relations())
|
||||||
unmapRelation(relation.target());
|
unmapRelation(relation.target());
|
||||||
foreach (const Handle<MObject> &child, object->children())
|
for (const Handle<MObject> &child : object->children())
|
||||||
unmapObject(child.target());
|
unmapObject(child.target());
|
||||||
m_objectsMap.remove(object->uid());
|
m_objectsMap.remove(object->uid());
|
||||||
}
|
}
|
||||||
@@ -1209,7 +1209,7 @@ void ModelController::verifyModelIntegrity(const MObject *object, QHash<Uid, con
|
|||||||
QMT_ASSERT(object, return);
|
QMT_ASSERT(object, return);
|
||||||
QMT_ASSERT(!objectsMap->contains(object->uid()), return);
|
QMT_ASSERT(!objectsMap->contains(object->uid()), return);
|
||||||
objectsMap->insert(object->uid(), object);
|
objectsMap->insert(object->uid(), object);
|
||||||
foreach (const Handle<MRelation> &handle, object->relations()) {
|
for (const Handle<MRelation> &handle : object->relations()) {
|
||||||
MRelation *relation = handle.target();
|
MRelation *relation = handle.target();
|
||||||
if (relation) {
|
if (relation) {
|
||||||
QMT_ASSERT(!relationsMap->contains(relation->uid()), return);
|
QMT_ASSERT(!relationsMap->contains(relation->uid()), return);
|
||||||
@@ -1222,7 +1222,7 @@ void ModelController::verifyModelIntegrity(const MObject *object, QHash<Uid, con
|
|||||||
objectRelationsMap->insert(relation->endBUid(), relation);
|
objectRelationsMap->insert(relation->endBUid(), relation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (const Handle<MObject> &handle, object->children()) {
|
for (const Handle<MObject> &handle : object->children()) {
|
||||||
MObject *childObject = handle.target();
|
MObject *childObject = handle.target();
|
||||||
if (childObject)
|
if (childObject)
|
||||||
verifyModelIntegrity(childObject, objectsMap, relationsMap, objectRelationsMap);
|
verifyModelIntegrity(childObject, objectsMap, relationsMap, objectRelationsMap);
|
||||||
|
|||||||
@@ -755,14 +755,14 @@ void TreeModel::createChildren(const MObject *parentObject, ModelItem *parentIte
|
|||||||
m_objectToItemMap.insert(parentObject, parentItem);
|
m_objectToItemMap.insert(parentObject, parentItem);
|
||||||
QMT_CHECK(!m_itemToObjectMap.contains(parentItem));
|
QMT_CHECK(!m_itemToObjectMap.contains(parentItem));
|
||||||
m_itemToObjectMap.insert(parentItem, parentObject);
|
m_itemToObjectMap.insert(parentItem, parentObject);
|
||||||
foreach (const Handle<MObject> &object, parentObject->children()) {
|
for (const Handle<MObject> &object : parentObject->children()) {
|
||||||
if (object.hasTarget()) {
|
if (object.hasTarget()) {
|
||||||
ModelItem *item = createItem(object.target());
|
ModelItem *item = createItem(object.target());
|
||||||
parentItem->appendRow(item);
|
parentItem->appendRow(item);
|
||||||
createChildren(object.target(), item);
|
createChildren(object.target(), item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (const Handle<MRelation> &handle, parentObject->relations()) {
|
for (const Handle<MRelation> &handle : parentObject->relations()) {
|
||||||
if (handle.hasTarget()) {
|
if (handle.hasTarget()) {
|
||||||
MRelation *relation = handle.target();
|
MRelation *relation = handle.target();
|
||||||
ModelItem *item = createItem(relation);
|
ModelItem *item = createItem(relation);
|
||||||
@@ -780,7 +780,7 @@ void TreeModel::removeObjectFromItemMap(const MObject *object)
|
|||||||
QMT_CHECK(m_itemToObjectMap.contains(item));
|
QMT_CHECK(m_itemToObjectMap.contains(item));
|
||||||
m_itemToObjectMap.remove(item);
|
m_itemToObjectMap.remove(item);
|
||||||
m_objectToItemMap.remove(object);
|
m_objectToItemMap.remove(object);
|
||||||
foreach (const Handle<MObject> &child, object->children()) {
|
for (const Handle<MObject> &child : object->children()) {
|
||||||
if (child.hasTarget())
|
if (child.hasTarget())
|
||||||
removeObjectFromItemMap(child.target());
|
removeObjectFromItemMap(child.target());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -504,7 +504,7 @@ MPackage *DiagramSceneController::findSuitableParentPackage(DElement *topmostDia
|
|||||||
MDiagram *DiagramSceneController::findDiagramBySearchId(MPackage *package, const QString &diagramName)
|
MDiagram *DiagramSceneController::findDiagramBySearchId(MPackage *package, const QString &diagramName)
|
||||||
{
|
{
|
||||||
QString diagramSearchId = NameController::calcElementNameSearchId(diagramName);
|
QString diagramSearchId = NameController::calcElementNameSearchId(diagramName);
|
||||||
foreach (const Handle<MObject> &handle, package->children()) {
|
for (const Handle<MObject> &handle : package->children()) {
|
||||||
if (handle.hasTarget()) {
|
if (handle.hasTarget()) {
|
||||||
if (auto diagram = dynamic_cast<MDiagram *>(handle.target())) {
|
if (auto diagram = dynamic_cast<MDiagram *>(handle.target())) {
|
||||||
if (NameController::calcElementNameSearchId(diagram->name()) == diagramSearchId)
|
if (NameController::calcElementNameSearchId(diagram->name()) == diagramSearchId)
|
||||||
@@ -745,7 +745,7 @@ DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &
|
|||||||
if (dobject) {
|
if (dobject) {
|
||||||
MObject *mobject = m_modelController->findObject(dobject->modelUid());
|
MObject *mobject = m_modelController->findObject(dobject->modelUid());
|
||||||
if (mobject) {
|
if (mobject) {
|
||||||
foreach (const Handle<MRelation> &handle, mobject->relations()) {
|
for (const Handle<MRelation> &handle : mobject->relations()) {
|
||||||
if (handle.hasTarget()
|
if (handle.hasTarget()
|
||||||
&& ((handle.target()->endAUid() == modelObject->uid()
|
&& ((handle.target()->endAUid() == modelObject->uid()
|
||||||
&& handle.target()->endBUid() == mobject->uid())
|
&& handle.target()->endBUid() == mobject->uid())
|
||||||
@@ -754,7 +754,7 @@ DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &
|
|||||||
addRelation(handle.target(), QList<QPointF>(), diagram);
|
addRelation(handle.target(), QList<QPointF>(), diagram);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (const Handle<MRelation> &handle, modelObject->relations()) {
|
for (const Handle<MRelation> &handle : modelObject->relations()) {
|
||||||
if (handle.hasTarget()
|
if (handle.hasTarget()
|
||||||
&& ((handle.target()->endAUid() == modelObject->uid()
|
&& ((handle.target()->endAUid() == modelObject->uid()
|
||||||
&& handle.target()->endBUid() == mobject->uid())
|
&& handle.target()->endBUid() == mobject->uid())
|
||||||
@@ -769,7 +769,7 @@ DObject *DiagramSceneController::addObject(MObject *modelObject, const QPointF &
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add all self relations
|
// add all self relations
|
||||||
foreach (const Handle<MRelation> &handle, modelObject->relations()) {
|
for (const Handle<MRelation> &handle : modelObject->relations()) {
|
||||||
if (handle.hasTarget ()
|
if (handle.hasTarget ()
|
||||||
&& handle.target()->endAUid() == modelObject->uid()
|
&& handle.target()->endAUid() == modelObject->uid()
|
||||||
&& handle.target()->endBUid() == modelObject->uid()) {
|
&& handle.target()->endBUid() == modelObject->uid()) {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ FindDiagramVisitor::~FindDiagramVisitor()
|
|||||||
|
|
||||||
void FindDiagramVisitor::visitMObject(const MObject *object)
|
void FindDiagramVisitor::visitMObject(const MObject *object)
|
||||||
{
|
{
|
||||||
foreach (const Handle<MObject> &child, object->children()) {
|
for (const Handle<MObject> &child : object->children()) {
|
||||||
if (child.hasTarget()) {
|
if (child.hasTarget()) {
|
||||||
if (auto diagram = dynamic_cast<MDiagram *>(child.target())) {
|
if (auto diagram = dynamic_cast<MDiagram *>(child.target())) {
|
||||||
m_diagram = diagram;
|
m_diagram = diagram;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ FindRootDiagramVisitor::~FindRootDiagramVisitor()
|
|||||||
void FindRootDiagramVisitor::visitMObject(MObject *object)
|
void FindRootDiagramVisitor::visitMObject(MObject *object)
|
||||||
{
|
{
|
||||||
// first search flat
|
// first search flat
|
||||||
foreach(const Handle<MObject> &child, object->children()) {
|
for (const Handle<MObject> &child : object->children()) {
|
||||||
if (child.hasTarget()) {
|
if (child.hasTarget()) {
|
||||||
auto diagram = dynamic_cast<MDiagram *>(child.target());
|
auto diagram = dynamic_cast<MDiagram *>(child.target());
|
||||||
if (diagram) {
|
if (diagram) {
|
||||||
@@ -50,7 +50,7 @@ void FindRootDiagramVisitor::visitMObject(MObject *object)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// then search in children
|
// then search in children
|
||||||
foreach(const Handle<MObject> &child, object->children()) {
|
for (const Handle<MObject> &child : object->children()) {
|
||||||
if (child.hasTarget()) {
|
if (child.hasTarget()) {
|
||||||
child.target()->accept(this);
|
child.target()->accept(this);
|
||||||
if (m_diagram)
|
if (m_diagram)
|
||||||
|
|||||||
Reference in New Issue
Block a user