From 3e09b8ee2deef485fa1294f5cced64476243d305 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 15 Aug 2023 17:30:08 +0200 Subject: [PATCH] PD: modernize C++: use range-based for loop --- src/Mod/PartDesign/App/Body.cpp | 4 +-- src/Mod/PartDesign/App/FeatureExtrude.cpp | 4 +-- src/Mod/PartDesign/App/FeatureFillet.cpp | 4 +-- src/Mod/PartDesign/App/FeatureHole.cpp | 12 ++++---- .../PartDesign/App/FeatureMultiTransform.cpp | 7 ++--- src/Mod/PartDesign/App/FeaturePipe.cpp | 6 ++-- src/Mod/PartDesign/App/FeatureSketchBased.cpp | 30 +++++++++---------- src/Mod/PartDesign/App/FeatureThickness.cpp | 4 +-- src/Mod/PartDesign/App/FeatureTransformed.cpp | 6 ++-- src/Mod/PartDesign/Gui/Command.cpp | 25 ++++++++-------- src/Mod/PartDesign/Gui/ReferenceSelection.cpp | 4 +-- .../PartDesign/Gui/TaskBooleanParameters.cpp | 16 +++++----- .../PartDesign/Gui/TaskChamferParameters.cpp | 5 ++-- .../PartDesign/Gui/TaskDraftParameters.cpp | 5 ++-- .../PartDesign/Gui/TaskDressUpParameters.cpp | 12 ++++---- src/Mod/PartDesign/Gui/TaskFeaturePick.cpp | 21 +++++++------ .../PartDesign/Gui/TaskFilletParameters.cpp | 5 ++-- .../Gui/TaskLinearPatternParameters.cpp | 3 +- src/Mod/PartDesign/Gui/TaskLoftParameters.cpp | 4 +-- .../PartDesign/Gui/TaskMirroredParameters.cpp | 3 +- .../Gui/TaskMultiTransformParameters.cpp | 19 ++++++------ src/Mod/PartDesign/Gui/TaskPipeParameters.cpp | 20 ++++++------- .../Gui/TaskPolarPatternParameters.cpp | 3 +- .../PartDesign/Gui/TaskScaledParameters.cpp | 3 +- src/Mod/PartDesign/Gui/TaskShapeBinder.cpp | 4 +-- .../Gui/TaskSketchBasedParameters.cpp | 6 ++-- .../Gui/TaskThicknessParameters.cpp | 4 +-- .../Gui/TaskTransformedParameters.cpp | 4 +-- .../PartDesign/Gui/ViewProviderBoolean.cpp | 7 +++-- .../Gui/ViewProviderMultiTransform.cpp | 8 ++--- 30 files changed, 126 insertions(+), 132 deletions(-) diff --git a/src/Mod/PartDesign/App/Body.cpp b/src/Mod/PartDesign/App/Body.cpp index c6e64bcba1..b2b38323ce 100644 --- a/src/Mod/PartDesign/App/Body.cpp +++ b/src/Mod/PartDesign/App/Body.cpp @@ -541,8 +541,8 @@ void Body::onDocumentRestored() bool Body::isSolid() { std::vector features = getFullModel(); - for (auto it = features.begin(); it!=features.end(); ++it){ - if (isSolidFeature((*it))) + for (auto feature : features){ + if (isSolidFeature(feature)) return true; } return false; diff --git a/src/Mod/PartDesign/App/FeatureExtrude.cpp b/src/Mod/PartDesign/App/FeatureExtrude.cpp index abd1ba0b98..65d80d3e91 100644 --- a/src/Mod/PartDesign/App/FeatureExtrude.cpp +++ b/src/Mod/PartDesign/App/FeatureExtrude.cpp @@ -265,8 +265,8 @@ void FeatureExtrude::generateTaperedPrism(TopoDS_Shape& prism, TopoDS_Compound comp; BRep_Builder builder; builder.MakeCompound(comp); - for (std::list::iterator it = drafts.begin(); it != drafts.end(); ++it) - builder.Add(comp, *it); + for (const auto & draft : drafts) + builder.Add(comp, draft); prism = comp; } } diff --git a/src/Mod/PartDesign/App/FeatureFillet.cpp b/src/Mod/PartDesign/App/FeatureFillet.cpp index 9417fa7398..b5bcbc2ba9 100644 --- a/src/Mod/PartDesign/App/FeatureFillet.cpp +++ b/src/Mod/PartDesign/App/FeatureFillet.cpp @@ -106,8 +106,8 @@ App::DocumentObjectExecReturn *Fillet::execute() try { BRepFilletAPI_MakeFillet mkFillet(baseShape.getShape()); - for (std::vector::const_iterator it=SubNames.begin(); it != SubNames.end(); ++it) { - TopoDS_Edge edge = TopoDS::Edge(baseShape.getSubShape(it->c_str())); + for (const auto & it : SubNames) { + TopoDS_Edge edge = TopoDS::Edge(baseShape.getSubShape(it.c_str())); mkFillet.Add(radius, edge); } diff --git a/src/Mod/PartDesign/App/FeatureHole.cpp b/src/Mod/PartDesign/App/FeatureHole.cpp index d7c7614e0f..7759862b0f 100644 --- a/src/Mod/PartDesign/App/FeatureHole.cpp +++ b/src/Mod/PartDesign/App/FeatureHole.cpp @@ -954,10 +954,10 @@ double Hole::getThreadClassClearance() const // Calculate how much clearance to add based on Thread tolerance class and pitch if (ThreadClass.getValueAsString()[1] == 'G') { - for (unsigned int i = 0; i < ThreadClass_ISOmetric_data_size; i++) { - double p = ThreadClass_ISOmetric_data[i][0]; + for (auto it : ThreadClass_ISOmetric_data) { + double p = it[0]; if (pitch <= p) { - return ThreadClass_ISOmetric_data[i][1]; + return it[1]; } } } @@ -988,10 +988,10 @@ double Hole::getThreadRunout(int mode) const default: throw Base::ValueError("Unsupported argument"); } - for (unsigned int i = 0; i < ThreadRunout_size; i++) { - double p = ThreadRunout[i][0]; + for (auto it : ThreadRunout) { + double p = it[0]; if (pitch <= p) { - return sf * ThreadRunout[i][1]; + return sf * it[1]; } } diff --git a/src/Mod/PartDesign/App/FeatureMultiTransform.cpp b/src/Mod/PartDesign/App/FeatureMultiTransform.cpp index 66feeda17a..be59aba392 100644 --- a/src/Mod/PartDesign/App/FeatureMultiTransform.cpp +++ b/src/Mod/PartDesign/App/FeatureMultiTransform.cpp @@ -50,11 +50,10 @@ void MultiTransform::positionBySupport() { PartDesign::Transformed::positionBySupport(); std::vector transFeatures = Transformations.getValues(); - for (std::vector::const_iterator f = transFeatures.begin(); - f != transFeatures.end(); ++f) { - if (!((*f)->getTypeId().isDerivedFrom(PartDesign::Transformed::getClassTypeId()))) + for (auto f : transFeatures) { + if (!(f->getTypeId().isDerivedFrom(PartDesign::Transformed::getClassTypeId()))) throw Base::TypeError("Transformation features must be subclasses of Transformed"); - PartDesign::Transformed* transFeature = static_cast(*f); + PartDesign::Transformed* transFeature = static_cast(f); transFeature->Placement.setValue(this->Placement.getValue()); // To avoid that a linked transform feature stays touched after a recompute diff --git a/src/Mod/PartDesign/App/FeaturePipe.cpp b/src/Mod/PartDesign/App/FeaturePipe.cpp index 8276aac692..00e833f7b8 100644 --- a/src/Mod/PartDesign/App/FeaturePipe.cpp +++ b/src/Mod/PartDesign/App/FeaturePipe.cpp @@ -536,10 +536,8 @@ void Pipe::buildPipePath(const Part::TopoShape& shape, const std::vector::const_iterator it = subedge.begin(); - it != subedge.end(); - ++it) { - TopoDS_Shape subshape = shape.getSubShape(it->c_str()); + for (const auto & it : subedge) { + TopoDS_Shape subshape = shape.getSubShape(it.c_str()); mkWire.Add(TopoDS::Edge(subshape)); } path = mkWire.Wire(); diff --git a/src/Mod/PartDesign/App/FeatureSketchBased.cpp b/src/Mod/PartDesign/App/FeatureSketchBased.cpp index 8619cf7ece..5df0ebe35e 100644 --- a/src/Mod/PartDesign/App/FeatureSketchBased.cpp +++ b/src/Mod/PartDesign/App/FeatureSketchBased.cpp @@ -749,49 +749,49 @@ void ProfileBased::remapSupportShape(const TopoDS_Shape & newShape) shape.setShape(sh); std::vector refs = this->getInList(); - for (std::vector::iterator it = refs.begin(); it != refs.end(); ++it) { + for (auto ref : refs) { std::vector props; - (*it)->getPropertyList(props); - for (std::vector::iterator jt = props.begin(); jt != props.end(); ++jt) { - if (!(*jt)->isDerivedFrom(App::PropertyLinkSub::getClassTypeId())) + ref->getPropertyList(props); + for (auto prop : props) { + if (!prop->isDerivedFrom(App::PropertyLinkSub::getClassTypeId())) continue; - App::PropertyLinkSub* link = static_cast(*jt); + App::PropertyLinkSub* link = static_cast(prop); if (link->getValue() != this) continue; std::vector subValues = link->getSubValues(); std::vector newSubValues; - for (std::vector::iterator it = subValues.begin(); it != subValues.end(); ++it) { + for (auto & subValue : subValues) { std::string shapetype; - if (it->compare(0, 4, "Face") == 0) { + if (subValue.compare(0, 4, "Face") == 0) { shapetype = "Face"; } - else if (it->compare(0, 4, "Edge") == 0) { + else if (subValue.compare(0, 4, "Edge") == 0) { shapetype = "Edge"; } - else if (it->compare(0, 6, "Vertex") == 0) { + else if (subValue.compare(0, 6, "Vertex") == 0) { shapetype = "Vertex"; } else { - newSubValues.push_back(*it); + newSubValues.push_back(subValue); continue; } bool success = false; TopoDS_Shape element; try { - element = shape.getSubShape(it->c_str()); + element = shape.getSubShape(subValue.c_str()); } catch (Standard_Failure&) { // This shape doesn't even exist, so no chance to do some tests - newSubValues.push_back(*it); + newSubValues.push_back(subValue); continue; } try { // as very first test check if old face and new face are parallel planes - TopoDS_Shape newElement = Part::TopoShape(newShape).getSubShape(it->c_str()); + TopoDS_Shape newElement = Part::TopoShape(newShape).getSubShape(subValue.c_str()); if (isParallelPlane(element, newElement)) { - newSubValues.push_back(*it); + newSubValues.push_back(subValue); success = true; } } @@ -824,7 +824,7 @@ void ProfileBased::remapSupportShape(const TopoDS_Shape & newShape) // the new shape couldn't be found so keep the old sub-name if (!success) - newSubValues.push_back(*it); + newSubValues.push_back(subValue); } link->setValue(this, newSubValues); diff --git a/src/Mod/PartDesign/App/FeatureThickness.cpp b/src/Mod/PartDesign/App/FeatureThickness.cpp index 41705b62dc..b12597bd31 100644 --- a/src/Mod/PartDesign/App/FeatureThickness.cpp +++ b/src/Mod/PartDesign/App/FeatureThickness.cpp @@ -88,8 +88,8 @@ App::DocumentObjectExecReturn *Thickness::execute() TopTools_ListOfShape closingFaces; - for (std::vector::const_iterator it = subStrings.begin(); it != subStrings.end(); ++it) { - TopoDS_Face face = TopoDS::Face(TopShape.getSubShape(it->c_str())); + for (const auto & it : subStrings) { + TopoDS_Face face = TopoDS::Face(TopShape.getSubShape(it.c_str())); closingFaces.Append(face); } diff --git a/src/Mod/PartDesign/App/FeatureTransformed.cpp b/src/Mod/PartDesign/App/FeatureTransformed.cpp index b5175c7f3d..fb97ef0732 100644 --- a/src/Mod/PartDesign/App/FeatureTransformed.cpp +++ b/src/Mod/PartDesign/App/FeatureTransformed.cpp @@ -248,14 +248,14 @@ App::DocumentObjectExecReturn *Transformed::execute() // Original separately. This way it is easier to discover what feature causes a fuse/cut // to fail. The downside is that performance suffers when there are many originals. But it seems // safe to assume that in most cases there are few originals and many transformations - for (std::vector::const_iterator o = originals.begin(); o != originals.end(); ++o) + for (auto original : originals) { // Extract the original shape and determine whether to cut or to fuse Part::TopoShape fuseShape; Part::TopoShape cutShape; - if ((*o)->getTypeId().isDerivedFrom(PartDesign::FeatureAddSub::getClassTypeId())) { - PartDesign::FeatureAddSub* feature = static_cast(*o); + if (original->getTypeId().isDerivedFrom(PartDesign::FeatureAddSub::getClassTypeId())) { + PartDesign::FeatureAddSub* feature = static_cast(original); feature->getAddSubShape(fuseShape, cutShape); if (fuseShape.isNull() && cutShape.isNull()) return new App::DocumentObjectExecReturn(QT_TRANSLATE_NOOP("Exception", "Shape of additive/subtractive feature is empty")); diff --git a/src/Mod/PartDesign/Gui/Command.cpp b/src/Mod/PartDesign/Gui/Command.cpp index 5e45c6b0f3..2bef4dddeb 100644 --- a/src/Mod/PartDesign/Gui/Command.cpp +++ b/src/Mod/PartDesign/Gui/Command.cpp @@ -802,8 +802,8 @@ void prepareProfileBased(PartDesign::Body *pcActiveBody, Gui::Command* cmd, cons std::vector selection = cmd->getSelection().getSelectionEx(); if (!selection.empty()) { bool onlyAllowed = true; - for (auto it = selection.begin(); it!=selection.end(); ++it){ - if (PartDesign::Body::findBodyOf((*it).getObject()) != pcActiveBody) { // the selected objects must belong to the body + for (const auto & it : selection) { + if (PartDesign::Body::findBodyOf(it.getObject()) != pcActiveBody) { // the selected objects must belong to the body onlyAllowed = false; break; } @@ -1633,8 +1633,8 @@ void finishDressupFeature(const Gui::Command* cmd, const std::string& which, { std::ostringstream str; str << '(' << Gui::Command::getObjectCmd(base) << ",["; - for (std::vector::const_iterator it = SubNames.begin();it!=SubNames.end();++it){ - str << "'" << *it << "',"; + for (const auto & SubName : SubNames){ + str << "'" << SubName << "',"; } str << "])"; @@ -1887,8 +1887,8 @@ void prepareTransformed(PartDesign::Body *pcActiveBody, Gui::Command* cmd, const auto worker = [=](std::vector features) { std::stringstream str; str << cmd->getObjectCmd(FeatName.c_str(), pcActiveBody->getDocument()) << ".Originals = ["; - for (std::vector::iterator it = features.begin(); it != features.end(); ++it) { - str << cmd->getObjectCmd(*it) << ","; + for (auto feature : features) { + str << cmd->getObjectCmd(feature) << ","; } str << "]"; @@ -1952,8 +1952,8 @@ void prepareTransformed(PartDesign::Body *pcActiveBody, Gui::Command* cmd, const } PartDesign::Body* activeBody = PartDesignGui::getBody(true); - for (std::size_t i = 0; i < features.size(); i++) { - if (activeBody != PartDesignGui::getBodyFor(features[i], false)) { + for (auto feature : features) { + if (activeBody != PartDesignGui::getBodyFor(feature, false)) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Selection is not in Active Body"), QObject::tr("Please select only one feature in an active body.")); return; @@ -2368,11 +2368,10 @@ void CmdPartDesignBoolean::activated(int iMsg) bool updateDocument = false; if (BodyFilter.match() && !BodyFilter.Result.empty()) { std::vector bodies; - std::vector >::iterator i = BodyFilter.Result.begin(); - for (; i != BodyFilter.Result.end(); i++) { - for (std::vector::iterator j = i->begin(); j != i->end(); j++) { - if (j->getObject() != pcActiveBody) - bodies.push_back(j->getObject()); + for (auto& results : BodyFilter.Result) { + for (auto & result : results) { + if (result.getObject() != pcActiveBody) + bodies.push_back(result.getObject()); } } if (!bodies.empty()) { diff --git a/src/Mod/PartDesign/Gui/ReferenceSelection.cpp b/src/Mod/PartDesign/Gui/ReferenceSelection.cpp index 4dbdc84d03..1b7ea37730 100644 --- a/src/Mod/PartDesign/Gui/ReferenceSelection.cpp +++ b/src/Mod/PartDesign/Gui/ReferenceSelection.cpp @@ -386,8 +386,8 @@ std::string buildLinkListPythonStr(const std::vector & obj std::string result("["); - for (std::vector::const_iterator o = objs.begin(); o != objs.end(); o++) - result += Gui::Command::getObjectCmd(*o,nullptr,","); + for (auto obj : objs) + result += Gui::Command::getObjectCmd(obj,nullptr,","); result += "]"; return result; diff --git a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp index 766886d2c9..f4c63d0a3e 100644 --- a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp @@ -71,10 +71,10 @@ TaskBooleanParameters::TaskBooleanParameters(ViewProviderBoolean *BooleanView,QW PartDesign::Boolean* pcBoolean = static_cast(BooleanView->getObject()); std::vector bodies = pcBoolean->Group.getValues(); - for (std::vector::const_iterator it = bodies.begin(); it != bodies.end(); ++it) { + for (auto body : bodies) { QListWidgetItem* item = new QListWidgetItem(ui->listWidgetBodies); - item->setText(QString::fromUtf8((*it)->Label.getValue())); - item->setData(Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); + item->setText(QString::fromUtf8(body->Label.getValue())); + item->setData(Qt::UserRole, QString::fromLatin1(body->getNameInDocument())); } // Create context menu @@ -355,8 +355,9 @@ bool TaskDlgBooleanParameters::accept() } std::stringstream str; str << Gui::Command::getObjectCmd(obj) << ".setObjects( ["; - for (std::vector::const_iterator it = bodies.begin(); it != bodies.end(); ++it) - str << "App.getDocument('" << obj->getDocument()->getName() << "').getObject('" << *it << "'),"; + for (const auto & body : bodies) { + str << "App.getDocument('" << obj->getDocument()->getName() << "').getObject('" << body << "'),"; + } str << "])"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); } @@ -382,8 +383,9 @@ bool TaskDlgBooleanParameters::reject() if (obj->BaseFeature.getValue()) { doc->setShow(obj->BaseFeature.getValue()->getNameInDocument()); std::vector bodies = obj->Group.getValues(); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) - doc->setShow((*b)->getNameInDocument()); + for (auto body : bodies) { + doc->setShow(body->getNameInDocument()); + } } } diff --git a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp index 98033ac01c..ae4f818244 100644 --- a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp @@ -67,9 +67,8 @@ TaskChamferParameters::TaskChamferParameters(ViewProviderDressUp *DressUpView, Q QMetaObject::invokeMethod(ui->chamferSize, "setFocus", Qt::QueuedConnection); std::vector strings = pcChamfer->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); diff --git a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp index 4ad7a6b010..b921741599 100644 --- a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp @@ -74,9 +74,8 @@ TaskDraftParameters::TaskDraftParameters(ViewProviderDressUp *DressUpView, QWidg ui->checkReverse->setChecked(r); std::vector strings = pcDraft->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); ++i) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); diff --git a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp index ea8f5cd362..9f6edaad7f 100644 --- a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp @@ -155,8 +155,8 @@ void TaskDressUpParameters::addAllEdges(QListWidget* widget) QSignalBlocker block(widget); widget->clear(); - for (std::vector::const_iterator it = edgeNames.begin(); it != edgeNames.end(); ++it){ - widget->addItem(QLatin1String(it->c_str())); + for (const auto & it : edgeNames){ + widget->addItem(QLatin1String(it.c_str())); } updateFeature(pcDressUp, edgeNames); @@ -328,8 +328,8 @@ void TaskDressUpParameters::removeItemFromListWidget(QListWidget* widget, const { QList items = widget->findItems(QString::fromLatin1(itemstr), Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -425,8 +425,8 @@ bool TaskDlgDressUpParameters::accept() std::stringstream str; str << Gui::Command::getObjectCmd(vp->getObject()) << ".Base = (" << Gui::Command::getObjectCmd(parameter->getBase()) << ",["; - for (std::vector::const_iterator it = refs.begin(); it != refs.end(); ++it) - str << "\"" << *it << "\","; + for (const auto & ref : refs) + str << "\"" << ref << "\","; str << "])"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); return TaskDlgFeatureParameters::accept(); diff --git a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp index ea09e4a620..d5c0649120 100644 --- a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp +++ b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp @@ -170,10 +170,10 @@ void TaskFeaturePick::updateList() { int index = 0; - for (std::vector::const_iterator st = statuses.begin(); st != statuses.end(); st++) { + for (auto status : statuses) { QListWidgetItem* item = ui->listWidget->item(index); - switch (*st) { + switch (status) { case validFeature: item->setHidden(false); break; case invalidShape: item->setHidden(true); break; case isUsed: item->setHidden(!ui->checkUsed->isChecked()); break; @@ -218,8 +218,11 @@ std::vector TaskFeaturePick::getFeatures() std::vector result; - for (std::vector::const_iterator s = features.begin(); s != features.end(); ++s) - result.push_back(App::GetApplication().getDocument(documentName.c_str())->getObject(s->toLatin1().data())); + for (const auto& feature : features) { + result.push_back(App::GetApplication() + .getDocument(documentName.c_str()) + ->getObject(feature.toLatin1().data())); + } return result; } @@ -235,7 +238,7 @@ std::vector TaskFeaturePick::buildFeatures() auto activePart = PartDesignGui::getPartFor(activeBody, false); - for (std::vector::const_iterator st = statuses.begin(); st != statuses.end(); st++) { + for (auto status : statuses) { QListWidgetItem* item = ui->listWidget->item(index); if (item->isSelected() && !item->isHidden()) { @@ -243,21 +246,21 @@ std::vector TaskFeaturePick::buildFeatures() auto obj = App::GetApplication().getDocument(documentName.c_str())->getObject(t.toLatin1().data()); //build the dependent copy or reference if wanted by the user - if (*st == otherBody || *st == otherPart || *st == notInBody) { + if (status == otherBody || status == otherPart || status == notInBody) { if (!ui->radioXRef->isChecked()) { auto copy = makeCopy(obj, "", ui->radioIndependent->isChecked()); - if (*st == otherBody) { + if (status == otherBody) { activeBody->addObject(copy); } - else if (*st == otherPart) { + else if (status == otherPart) { auto oBody = PartDesignGui::getBodyFor(obj, false); if (!oBody) activePart->addObject(copy); else activeBody->addObject(copy); } - else if (*st == notInBody) { + else if (status == notInBody) { activeBody->addObject(copy); // doesn't supposed to get here anything but sketch but to be on the safe side better to check if (copy->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())) { diff --git a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp index 5defa53669..dd840dd757 100644 --- a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp @@ -68,9 +68,8 @@ TaskFilletParameters::TaskFilletParameters(ViewProviderDressUp *DressUpView, QWi ui->filletRadius->bind(pcFillet->Radius); QMetaObject::invokeMethod(ui->filletRadius, "setFocus", Qt::QueuedConnection); std::vector strings = pcFillet->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp index dade40b34f..f28fcb9e5d 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp @@ -142,8 +142,7 @@ void TaskLinearPatternParameters::setupUI() std::vector originals = pcLinearPattern->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp b/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp index aa4c039344..db116c0da7 100644 --- a/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp @@ -226,8 +226,8 @@ void TaskLoftParameters::removeFromListWidget(QListWidget* widget, QString name) QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator it = items.cbegin(); it != items.cend(); ++it) { - QListWidgetItem* item = widget->takeItem(widget->row(*it)); + for (auto it : items) { + QListWidgetItem* item = widget->takeItem(widget->row(it)); delete item; } } diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index 018f660c1f..9e14d0d4d5 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -120,8 +120,7 @@ void TaskMirroredParameters::setupUI() std::vector originals = pcMirrored->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp index 473a1626c5..62ee1b697b 100644 --- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp @@ -132,10 +132,10 @@ TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransform // Fill data into dialog elements ui->listTransformFeatures->setEnabled(true); ui->listTransformFeatures->clear(); - for (std::vector::const_iterator i = transformFeatures.begin(); i != transformFeatures.end(); i++) - { - if (*i) - ui->listTransformFeatures->addItem(QString::fromUtf8((*i)->Label.getValue())); + for (auto it : transformFeatures) { + if (it) { + ui->listTransformFeatures->addItem(QString::fromUtf8(it->Label.getValue())); + } } if (!transformFeatures.empty()) { ui->listTransformFeatures->setCurrentRow(0, QItemSelectionModel::ClearAndSelect); @@ -149,8 +149,7 @@ TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransform std::vector originals = pcMultiTransform->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); i++) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); @@ -561,10 +560,10 @@ bool TaskDlgMultiTransformParameters::accept() std::vector transformFeatures = mtParameter->getTransformFeatures(); std::stringstream str; str << Gui::Command::getObjectCmd(vp->getObject()) << ".Transformations = ["; - for (std::vector::const_iterator it = transformFeatures.begin(); it != transformFeatures.end(); it++) - { - if (*it) - str << Gui::Command::getObjectCmd(*it) << ","; + for (auto it : transformFeatures) { + if (it) { + str << Gui::Command::getObjectCmd(it) << ","; + } } str << "]"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); diff --git a/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp b/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp index 489cd286a6..f550aaae6c 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp @@ -121,8 +121,8 @@ TaskPipeParameters::TaskPipeParameters(ViewProviderPipe *PipeView, bool /*newObj } // the spine edges std::vector strings = pipe->Spine.getSubValues(); - for (std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { - QString label = QString::fromStdString(*it); + for (const auto & string : strings) { + QString label = QString::fromStdString(string); QListWidgetItem* item = new QListWidgetItem(); item->setText(label); item->setData(Qt::UserRole, QByteArray(label.toUtf8())); @@ -255,8 +255,8 @@ void TaskPipeParameters::removeFromListWidget(QListWidget* widget, QString items { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -577,8 +577,8 @@ TaskPipeOrientation::TaskPipeOrientation(ViewProviderPipe* PipeView, bool /*newO ui->profileBaseEdit->setText(QString::fromUtf8(pipe->AuxillerySpine.getValue()->Label.getValue())); std::vector strings = pipe->AuxillerySpine.getSubValues(); - for (std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { - QString label = QString::fromStdString(*it); + for (const auto & string : strings) { + QString label = QString::fromStdString(string); QListWidgetItem* item = new QListWidgetItem(); item->setText(label); item->setData(Qt::UserRole, QByteArray(label.toUtf8())); @@ -751,8 +751,8 @@ void TaskPipeOrientation::removeFromListWidget(QListWidget* widget, QString name { QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -980,8 +980,8 @@ void TaskPipeScaling::removeFromListWidget(QListWidget* widget, QString name) { QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 5e4837dac6..f3764ed5f8 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -148,8 +148,7 @@ void TaskPolarPatternParameters::setupUI() std::vector originals = pcPolarPattern->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp index 320af9d228..8a63c37e61 100644 --- a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp @@ -111,8 +111,7 @@ void TaskScaledParameters::setupUI() std::vector originals = pcScaled->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp index 605769a387..e035325db0 100644 --- a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp +++ b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp @@ -222,8 +222,8 @@ void TaskShapeBinder::removeFromListWidget(QListWidget* widget, QString itemstr) { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } diff --git a/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp b/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp index b866fb728e..a15f146316 100644 --- a/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp @@ -194,9 +194,9 @@ QVariant TaskSketchBasedParameters::objectNameByLabel(const QString& label, // go through all objects and check the labels std::string name = label.toUtf8().data(); std::vector objs = doc->getObjects(); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - if (name == (*it)->Label.getValue()) { - return QVariant(QByteArray((*it)->getNameInDocument())); + for (auto obj : objs) { + if (name == obj->Label.getValue()) { + return QVariant(QByteArray(obj->getNameInDocument())); } } diff --git a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp index 4b608b3ce6..84d85e2459 100644 --- a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp @@ -73,9 +73,9 @@ TaskThicknessParameters::TaskThicknessParameters(ViewProviderDressUp *DressUpVie ui->checkIntersection->setChecked(i); std::vector strings = pcThickness->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) + for (const auto & string : strings) { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp index 13c7156a29..7704ca61fe 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp @@ -233,8 +233,8 @@ void TaskTransformedParameters::removeItemFromListWidget(QListWidget* widget, co { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } diff --git a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp index e997424d36..e06a03a232 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp @@ -113,9 +113,10 @@ bool ViewProviderBoolean::onDelete(const std::vector &s) // if abort command deleted the object the bodies are visible again std::vector bodies = pcBoolean->Group.getValues(); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) { - if (*b && Gui::Application::Instance->getViewProvider(*b)) - Gui::Application::Instance->getViewProvider(*b)->show(); + for (auto body : bodies) { + if (auto vp = Gui::Application::Instance->getViewProvider(body)) { + vp->show(); + } } return ViewProvider::onDelete(s); diff --git a/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp b/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp index fd0fe67370..13c89070a5 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp @@ -65,12 +65,12 @@ bool ViewProviderMultiTransform::onDelete(const std::vector &svec) std::vector transformFeatures = pcMultiTransform->Transformations.getValues(); // if the multitransform object was deleted the transformed features must be deleted, too - for (std::vector::const_iterator it = transformFeatures.begin(); it != transformFeatures.end(); ++it) - { - if (*it) + for (auto it : transformFeatures) { + if (it) { Gui::Command::doCommand( Gui::Command::Doc,"App.getDocument('%s').removeObject(\"%s\")", \ - (*it)->getDocument()->getName(), (*it)->getNameInDocument()); + it->getDocument()->getName(), it->getNameInDocument()); + } } // Handle Originals