diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-10-18 12:28:12 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-10-18 20:08:21 +0200 |
commit | baa67b2d7037bc5e289a144a81014f1fb42e68ed (patch) | |
tree | d0334d4a2257c6680662fdc4064289fdea8720d7 | |
parent | ca58f649196ed6b4ce15d0db3935f7de4cb0f2ea (diff) |
use more SdrObjList::begin/end in svx
Change-Id: I362a2e12492391338b63708e4b329fc77ac363c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158113
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/svx/svdpage.hxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/connctrl.cxx | 11 | ||||
-rw-r--r-- | svx/source/engine3d/scene3d.cxx | 29 | ||||
-rw-r--r-- | svx/source/engine3d/view3d.cxx | 17 | ||||
-rw-r--r-- | svx/source/engine3d/view3d1.cxx | 4 | ||||
-rw-r--r-- | svx/source/form/fmview.cxx | 5 | ||||
-rw-r--r-- | svx/source/form/navigatortreemodel.cxx | 5 | ||||
-rw-r--r-- | svx/source/sdr/contact/objectcontactofpageview.cxx | 4 | ||||
-rw-r--r-- | svx/source/sdr/properties/e3dsceneproperties.cxx | 86 | ||||
-rw-r--r-- | svx/source/sdr/properties/groupproperties.cxx | 88 | ||||
-rw-r--r-- | svx/source/svdraw/sdrpagewindow.cxx | 6 | ||||
-rw-r--r-- | svx/source/svdraw/svdmark.cxx | 15 | ||||
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 21 | ||||
-rw-r--r-- | svx/source/svdraw/svdobj.cxx | 12 | ||||
-rw-r--r-- | svx/source/svdraw/svdogrp.cxx | 97 | ||||
-rw-r--r-- | svx/source/svdraw/svdotext.cxx | 11 | ||||
-rw-r--r-- | svx/source/svdraw/svdpage.cxx | 56 | ||||
-rw-r--r-- | svx/source/svdraw/svdpagv.cxx | 5 | ||||
-rw-r--r-- | svx/source/svdraw/svdpntv.cxx | 6 | ||||
-rw-r--r-- | svx/source/svdraw/svdundo.cxx | 11 |
20 files changed, 180 insertions, 311 deletions
diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx index 7ab37532c046..b197e4d2eb77 100644 --- a/include/svx/svdpage.hxx +++ b/include/svx/svdpage.hxx @@ -229,6 +229,8 @@ public: SdrObjectDeque::const_iterator begin() const { return maList.begin(); } SdrObjectDeque::const_iterator end() const { return maList.end(); } + SdrObjectDeque::const_reverse_iterator rbegin() const { return maList.rbegin(); } + SdrObjectDeque::const_reverse_iterator rend() const { return maList.rend(); } private: tools::Rectangle maSdrObjListOutRect; diff --git a/svx/source/dialog/connctrl.cxx b/svx/source/dialog/connctrl.cxx index ebf0c44c27f9..13677849fa44 100644 --- a/svx/source/dialog/connctrl.cxx +++ b/svx/source/dialog/connctrl.cxx @@ -211,14 +211,9 @@ void SvxXConnectionPreview::Paint(vcl::RenderContext& rRenderContext, const tool // New stuff: Use an ObjectContactOfObjListPainter. sdr::contact::SdrObjectVector aObjectVector; - - for (size_t a = 0; a < mxSdrPage->GetObjCount(); ++a) - { - SdrObject* pObject = mxSdrPage->GetObj(a); - DBG_ASSERT(pObject, - "SvxXConnectionPreview::Paint: Corrupt ObjectList (!)"); - aObjectVector.push_back(pObject); - } + aObjectVector.reserve(mxSdrPage->GetObjCount()); + for (const rtl::Reference<SdrObject>& pObject : *mxSdrPage) + aObjectVector.push_back(pObject.get()); sdr::contact::ObjectContactOfObjListPainter aPainter(rRenderContext, std::move(aObjectVector), nullptr); sdr::contact::DisplayInfo aDisplayInfo; diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx index afd73e744780..5e55fa7c81c8 100644 --- a/svx/source/engine3d/scene3d.cxx +++ b/svx/source/engine3d/scene3d.cxx @@ -645,9 +645,9 @@ void E3dScene::RecalcSnapRect() // call parent E3dObject::RecalcSnapRect(); - for(size_t a = 0; a < GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate(DynCastE3dObject(GetObj(a))); + E3dObject* pCandidate(DynCastE3dObject(pObj.get())); if(pCandidate) { @@ -723,9 +723,9 @@ void E3dScene::SetSelected(bool bNew) // call parent E3dObject::SetSelected(bNew); - for(size_t a(0); a < GetObjCount(); a++) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate(DynCastE3dObject(GetObj(a))); + E3dObject* pCandidate(DynCastE3dObject(pObj.get())); if(pCandidate) { @@ -799,9 +799,9 @@ void E3dScene::SetBoundAndSnapRectsDirty(bool bNotMyself, bool bRecursive) // call parent E3dObject::SetBoundAndSnapRectsDirty(bNotMyself, bRecursive); - for(size_t a = 0; a < GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate = DynCastE3dObject(GetObj(a)); + E3dObject* pCandidate = DynCastE3dObject(pObj.get()); if(pCandidate) { @@ -815,9 +815,9 @@ void E3dScene::NbcSetLayer(SdrLayerID nLayer) // call parent E3dObject::NbcSetLayer(nLayer); - for(size_t a = 0; a < GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate = DynCastE3dObject(GetObj(a)); + E3dObject* pCandidate = DynCastE3dObject(pObj.get()); if(pCandidate) { @@ -834,9 +834,9 @@ void E3dScene::handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) // call parent E3dObject::handlePageChange(pOldPage, pNewPage); - for(size_t a(0); a < GetObjCount(); a++) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate = DynCastE3dObject(GetObj(a)); + E3dObject* pCandidate = DynCastE3dObject(pObj.get()); if(pCandidate) { @@ -857,11 +857,10 @@ SdrObjList* E3dScene::GetSubList() const basegfx::B3DRange E3dScene::RecalcBoundVolume() const { basegfx::B3DRange aRetval; - const size_t nObjCnt(GetObjCount()); - for(size_t a = 0; a < nObjCnt; ++a) + for (const rtl::Reference<SdrObject>& pObj : *this) { - const E3dObject* p3DObject = DynCastE3dObject(GetObj(a)); + const E3dObject* p3DObject = DynCastE3dObject(pObj.get()); if(p3DObject) { @@ -879,9 +878,9 @@ void E3dScene::SetTransformChanged() // call parent E3dObject::SetTransformChanged(); - for(size_t a = 0; a < GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pObj : *this) { - E3dObject* pCandidate = DynCastE3dObject(GetObj(a)); + E3dObject* pCandidate = DynCastE3dObject(pObj.get()); if(pCandidate) { diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx index 29a048e3f055..844d96b48727 100644 --- a/svx/source/engine3d/view3d.cxx +++ b/svx/source/engine3d/view3d.cxx @@ -397,13 +397,10 @@ std::unique_ptr<SdrModel> E3dView::CreateMarkedObjModel() const for(sal_uInt16 nPg(0); nPg < pNewModel->GetPageCount(); nPg++) { const SdrPage* pSrcPg=pNewModel->GetPage(nPg); - const size_t nObjCount(pSrcPg->GetObjCount()); - for(size_t nOb = 0; nOb < nObjCount; ++nOb) + for (const rtl::Reference<SdrObject>& pSrcOb : *pSrcPg) { - const SdrObject* pSrcOb=pSrcPg->GetObj(nOb); - - if(const E3dScene* p3dscene = DynCastE3dScene( pSrcOb)) + if(const E3dScene* p3dscene = DynCastE3dScene( pSrcOb.get())) { pScene = const_cast<E3dScene*>(p3dscene); @@ -451,17 +448,15 @@ bool E3dView::Paste( for(sal_uInt16 nPg(0); nPg < rMod.GetPageCount(); nPg++) { const SdrPage* pSrcPg=rMod.GetPage(nPg); - const size_t nObjCount(pSrcPg->GetObjCount()); // calculate offset for paste tools::Rectangle aR = pSrcPg->GetAllObjBoundRect(); Point aDist(aPos - aR.Center()); // Insert sub-objects for scenes - for(size_t nOb = 0; nOb < nObjCount; ++nOb) + for (const rtl::Reference<SdrObject>& pSrcOb : *pSrcPg) { - const SdrObject* pSrcOb = pSrcPg->GetObj(nOb); - if(const E3dScene* p3dscene = DynCastE3dScene(pSrcOb)) + if(const E3dScene* p3dscene = DynCastE3dScene(pSrcOb.get())) { E3dScene* pSrcScene = const_cast<E3dScene*>(p3dscene); ImpCloneAll3DObjectsToDestScene(pSrcScene, pDstScene, aDist); @@ -486,9 +481,9 @@ bool E3dView::ImpCloneAll3DObjectsToDestScene(E3dScene const * pSrcScene, E3dSce if(pSrcScene && pDstScene) { - for(size_t i = 0; i < pSrcScene->GetSubList()->GetObjCount(); ++i) + for (const rtl::Reference<SdrObject>& pObj : *pSrcScene->GetSubList()) { - E3dCompoundObject* pCompoundObj = dynamic_cast< E3dCompoundObject* >(pSrcScene->GetSubList()->GetObj(i)); + E3dCompoundObject* pCompoundObj = dynamic_cast< E3dCompoundObject* >(pObj.get()); if(pCompoundObj) { diff --git a/svx/source/engine3d/view3d1.cxx b/svx/source/engine3d/view3d1.cxx index bc5cfbaf5116..47de321f581e 100644 --- a/svx/source/engine3d/view3d1.cxx +++ b/svx/source/engine3d/view3d1.cxx @@ -83,8 +83,8 @@ static void Imp_E3dView_InorderRun3DObjects(const SdrObject* pObj, sal_uInt32& r else if(pObj->IsGroupObject()) { SdrObjList* pList = pObj->GetSubList(); - for(size_t a = 0; a < pList->GetObjCount(); ++a) - Imp_E3dView_InorderRun3DObjects(pList->GetObj(a), rMask); + for (const rtl::Reference<SdrObject>& pChildObj : *pList) + Imp_E3dView_InorderRun3DObjects(pChildObj.get(), rMask); } } diff --git a/svx/source/form/fmview.cxx b/svx/source/form/fmview.cxx index ffb0e85e2c96..8267c334bd6f 100644 --- a/svx/source/form/fmview.cxx +++ b/svx/source/form/fmview.cxx @@ -497,10 +497,9 @@ bool FmFormView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin) { if (FmFormPage* pCurPage = GetCurPage()) { - for (size_t a = 0; a < pCurPage->GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pObj : *pCurPage) { - SdrObject* pObj = pCurPage->GetObj(a); - FmFormObj* pFormObject = FmFormObj::GetFormObject(pObj); + FmFormObj* pFormObject = FmFormObj::GetFormObject(pObj.get()); if (!pFormObject) continue; diff --git a/svx/source/form/navigatortreemodel.cxx b/svx/source/form/navigatortreemodel.cxx index 64f4494bc445..5fae42901de2 100644 --- a/svx/source/form/navigatortreemodel.cxx +++ b/svx/source/form/navigatortreemodel.cxx @@ -741,10 +741,9 @@ namespace svxform if ( auto pObjGroup = dynamic_cast<const SdrObjGroup*>( pObject) ) { // descend recursively const SdrObjList *pChildren = pObjGroup->GetSubList(); - for ( size_t i=0; i<pChildren->GetObjCount(); ++i ) + for (const rtl::Reference<SdrObject>& pCurrent : *pChildren) { - SdrObject* pCurrent = pChildren->GetObj(i); - if (!InsertFormComponent(rHint, pCurrent)) + if (!InsertFormComponent(rHint, pCurrent.get())) return false; } } diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx index 4bc227bffd11..c777d069eaf2 100644 --- a/svx/source/sdr/contact/objectcontactofpageview.cxx +++ b/svx/source/sdr/contact/objectcontactofpageview.cxx @@ -244,10 +244,8 @@ namespace sdr::contact { // Not empty? Then not doing a full redraw, check if // getPrimitive2DSequenceHierarchy() is still needed. - sal_Int32 nObjCount = GetSdrPage()->GetObjCount(); - for (sal_Int32 i = 0; i < nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObject : *GetSdrPage()) { - SdrObject* pObject = GetSdrPage()->GetObj(i); if (rRedrawArea.Overlaps(pObject->GetCurrentBoundRect())) { bGetHierarchy = true; diff --git a/svx/source/sdr/properties/e3dsceneproperties.cxx b/svx/source/sdr/properties/e3dsceneproperties.cxx index b2380468c671..789472d5087a 100644 --- a/svx/source/sdr/properties/e3dsceneproperties.cxx +++ b/svx/source/sdr/properties/e3dsceneproperties.cxx @@ -67,38 +67,36 @@ namespace sdr::properties // collect all ItemSets of contained 3d objects const SdrObjList* pSub(static_cast<const E3dScene&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - SdrObject* pObj = pSub->GetObj(a); - if(dynamic_cast<const E3dCompoundObject* >(pObj)) + if (pSub) + for (const rtl::Reference<SdrObject>& pObj : *pSub) { - const SfxItemSet& rSet = pObj->GetMergedItemSet(); - SfxWhichIter aIter(rSet); - sal_uInt16 nWhich(aIter.FirstWhich()); - - while(nWhich) + if(dynamic_cast<const E3dCompoundObject* >(pObj.get())) { - // Leave out the SDRATTR_3DSCENE_ range, this would only be double - // and always equal. - if(nWhich <= SDRATTR_3DSCENE_FIRST || nWhich >= SDRATTR_3DSCENE_LAST) + const SfxItemSet& rSet = pObj->GetMergedItemSet(); + SfxWhichIter aIter(rSet); + sal_uInt16 nWhich(aIter.FirstWhich()); + + while(nWhich) { - if(SfxItemState::DONTCARE == aIter.GetItemState(false)) - { - mxItemSet->InvalidateItem(nWhich); - } - else + // Leave out the SDRATTR_3DSCENE_ range, this would only be double + // and always equal. + if(nWhich <= SDRATTR_3DSCENE_FIRST || nWhich >= SDRATTR_3DSCENE_LAST) { - mxItemSet->MergeValue(rSet.Get(nWhich), true); + if(SfxItemState::DONTCARE == aIter.GetItemState(false)) + { + mxItemSet->InvalidateItem(nWhich); + } + else + { + mxItemSet->MergeValue(rSet.Get(nWhich), true); + } } - } - nWhich = aIter.NextWhich(); + nWhich = aIter.NextWhich(); + } } } - } // call parent return E3dProperties::GetMergedItemSet(); @@ -124,11 +122,9 @@ namespace sdr::properties if(xNewSet->Count()) { - for(size_t a = 0; a < nCount; ++a) + for (const rtl::Reference<SdrObject>& pObj : *pSub) { - SdrObject* pObj = pSub->GetObj(a); - - if(dynamic_cast<const E3dCompoundObject* >(pObj)) + if(dynamic_cast<const E3dCompoundObject* >(pObj.get())) { // set merged ItemSet at contained 3d object. pObj->SetMergedItemSet(*xNewSet, bClearAllItems); @@ -145,12 +141,9 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const E3dScene&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - pSub->GetObj(a)->SetMergedItem(rItem); - } + if (pSub) + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->SetMergedItem(rItem); // #i43809# call parent. This will set items on local object, too. E3dProperties::SetMergedItem(rItem); @@ -160,12 +153,9 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const E3dScene&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - pSub->GetObj(a)->ClearMergedItem(nWhich); - } + if (pSub) + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->ClearMergedItem(nWhich); // #i43809# call parent. This will clear items on local object, too. E3dProperties::ClearMergedItem(nWhich); @@ -234,14 +224,14 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const E3dScene&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) { if(bBroadcast) - pSub->GetObj(a)->SetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); + pObj->SetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); else - pSub->GetObj(a)->NbcSetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); + pObj->NbcSetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); } } @@ -251,11 +241,11 @@ namespace sdr::properties const SdrObjList* pSub(static_cast<const E3dScene&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) + if (!pSub) + return pRetval; + for (const rtl::Reference<SdrObject>& pObj : *pSub) { - SfxStyleSheet* pCandidate = pSub->GetObj(a)->GetStyleSheet(); + SfxStyleSheet* pCandidate = pObj->GetStyleSheet(); if(pRetval) { diff --git a/svx/source/sdr/properties/groupproperties.cxx b/svx/source/sdr/properties/groupproperties.cxx index 6bb3485689b4..e6a83d329d3c 100644 --- a/svx/source/sdr/properties/groupproperties.cxx +++ b/svx/source/sdr/properties/groupproperties.cxx @@ -67,11 +67,11 @@ namespace sdr::properties // collect all ItemSets in mpItemSet const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) + if (!pSub) + return *moMergedItemSet; + for (const rtl::Reference<SdrObject>& pObj : *pSub) { - const SfxItemSet& rSet = pSub->GetObj(a)->GetMergedItemSet(); + const SfxItemSet& rSet = pObj->GetMergedItemSet(); SfxWhichIter aIter(rSet); sal_uInt16 nWhich(aIter.FirstWhich()); @@ -100,18 +100,11 @@ namespace sdr::properties // iterate over contained SdrObjects const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - SdrObject* pObj = pSub->GetObj(a); - - if(pObj) - { - // Set merged ItemSet at contained object - pObj->SetMergedItemSet(rSet, bClearAllItems); - } - } + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) + // Set merged ItemSet at contained object + pObj->SetMergedItemSet(rSet, bClearAllItems); // Do not call parent here. Group objects do not have local ItemSets // where items need to be set. @@ -132,17 +125,10 @@ namespace sdr::properties // iterate over contained SdrObjects const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - SdrObject* pObj = pSub->GetObj(a); - - if(pObj) - { - pObj->GetProperties().ClearObjectItem(nWhich); - } - } + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->GetProperties().ClearObjectItem(nWhich); } void GroupProperties::ClearObjectItemDirect(const sal_uInt16 /*nWhich*/) @@ -154,24 +140,20 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - pSub->GetObj(a)->GetProperties().SetMergedItem(rItem); - } + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->GetProperties().SetMergedItem(rItem); } void GroupProperties::ClearMergedItem(const sal_uInt16 nWhich) { const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - pSub->GetObj(a)->GetProperties().ClearMergedItem(nWhich); - } + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->GetProperties().ClearMergedItem(nWhich); } void GroupProperties::SetObjectItemSet(const SfxItemSet& /*rSet*/) @@ -185,17 +167,18 @@ namespace sdr::properties const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); + if (!pSub) + return pRetval; - for(size_t a = 0; a < nCount; ++a) + for (const rtl::Reference<SdrObject>& pObj : *pSub) { - SfxStyleSheet* pCandidate = pSub->GetObj(a)->GetStyleSheet(); + SfxStyleSheet* pCandidate = pObj->GetStyleSheet(); if(pRetval) { if(pCandidate != pRetval) { - // different StyleSheelts, return none + // different StyleSheets, return none return nullptr; } } @@ -213,14 +196,15 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); + if (!pSub) + return; - for(size_t a = 0; a < nCount; ++a) + for (const rtl::Reference<SdrObject>& pObj : *pSub) { if(bBroadcast) - pSub->GetObj(a)->SetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); + pObj->SetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); else - pSub->GetObj(a)->NbcSetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); + pObj->NbcSetStyleSheet(pNewStyleSheet, bDontRemoveHardAttr); } } @@ -228,12 +212,10 @@ namespace sdr::properties { const SdrObjList* pSub(static_cast<const SdrObjGroup&>(GetSdrObject()).GetSubList()); OSL_ENSURE(nullptr != pSub, "Children of SdrObject expected (!)"); - const size_t nCount(nullptr == pSub ? 0 : pSub->GetObjCount()); - - for(size_t a = 0; a < nCount; ++a) - { - pSub->GetObj(a)->GetProperties().ForceStyleToHardAttributes(); - } + if (!pSub) + return; + for (const rtl::Reference<SdrObject>& pObj : *pSub) + pObj->GetProperties().ForceStyleToHardAttributes(); } } // end of namespace diff --git a/svx/source/svdraw/sdrpagewindow.cxx b/svx/source/svdraw/sdrpagewindow.cxx index e975b20ebb3f..fa8e5f4d7f84 100644 --- a/svx/source/svdraw/sdrpagewindow.cxx +++ b/svx/source/svdraw/sdrpagewindow.cxx @@ -283,11 +283,9 @@ namespace basegfx::B2DPolyPolygon aPolyB; - for(sal_uInt32 a(1); a < rPageView.GetPage()->GetObjCount(); a++) + for (const rtl::Reference<SdrObject>& pObjB : *rPageView.GetPage()) { - SdrObject* pObjB = pPage->GetObj(a); - - if(dynamic_cast<const SdrPathObj*>( pObjB)) + if(dynamic_cast<const SdrPathObj*>( pObjB.get())) { basegfx::B2DPolyPolygon aCandidate(pObjB->GetPathPoly()); aCandidate = basegfx::utils::correctOrientations(aCandidate); diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx index c92fbebef7a1..c811a4d20aa5 100644 --- a/svx/source/svdraw/svdmark.cxx +++ b/svx/source/svdraw/svdmark.cxx @@ -395,16 +395,14 @@ bool SdrMarkList::InsertPageView(const SdrPageView& rPV) bool bChgd(false); DeletePageView(rPV); // delete all of them, then append the entire page const SdrObjList* pOL = rPV.GetObjList(); - const size_t nObjCount(pOL->GetObjCount()); - for(size_t nO = 0; nO < nObjCount; ++nO) + for (const rtl::Reference<SdrObject>& pObj : *pOL) { - SdrObject* pObj = pOL->GetObj(nO); - bool bDoIt(rPV.IsObjMarkable(pObj)); + bool bDoIt(rPV.IsObjMarkable(pObj.get())); if(bDoIt) { - maList.emplace_back(new SdrMark(pObj, const_cast<SdrPageView*>(&rPV))); + maList.emplace_back(new SdrMark(pObj.get(), const_cast<SdrPageView*>(&rPV))); SetNameDirty(); bChgd = true; } @@ -709,11 +707,8 @@ namespace sdr { SdrObjList* pList = pObj->GetSubList(); - for(size_t a = 0; a < pList->GetObjCount(); ++a) - { - SdrObject* pObj2 = pList->GetObj(a); - ImplCollectCompleteSelection(pObj2); - } + for (const rtl::Reference<SdrObject>& pObj2 : *pList) + ImplCollectCompleteSelection(pObj2.get()); } maAllMarkedObjects.push_back(pObj); diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 5b8a86a9526d..841cac87bb31 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -571,12 +571,9 @@ bool SdrMarkView::MarkableObjectsExceed( int n ) const return false; SdrObjList* pOL=pPV->GetObjList(); - const size_t nObjCount = pOL->GetObjCount(); - for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) { - SdrObject* pObj=pOL->GetObj(nObjNum); - if (IsObjMarkable(pObj,pPV) && --n<0) + for (const rtl::Reference<SdrObject>& pObj : *pOL) + if (IsObjMarkable(pObj.get(),pPV) && --n<0) return true; - } return false; } @@ -711,11 +708,9 @@ bool SdrMarkView::dumpGluePointsToJSON(boost::property_tree::ptree& rTree) const SdrObjList* pOL = mpMarkedPV->GetObjList(); if (!pOL) return false; - const size_t nObjCount = pOL->GetObjCount(); boost::property_tree::ptree elements; - for (size_t nObjNum = 0; nObjNum < nObjCount; ++nObjNum) + for (const rtl::Reference<SdrObject>& pObj : *pOL) { - SdrObject* pObj = pOL->GetObj(nObjNum); if (!pObj) continue; if (pObj == GetMarkedObjectByIndex(0)) @@ -2128,19 +2123,17 @@ void SdrMarkView::MarkObj(const tools::Rectangle& rRect, bool bUnmark) { pObjList=pPV->GetObjList(); tools::Rectangle aFrm1(aR); - const size_t nObjCount = pObjList->GetObjCount(); - for (size_t nO=0; nO<nObjCount; ++nO) { - SdrObject* pObj=pObjList->GetObj(nO); + for (const rtl::Reference<SdrObject>& pObj : *pObjList) { tools::Rectangle aRect(pObj->GetCurrentBoundRect()); if (aFrm1.Contains(aRect)) { if (!bUnmark) { - if (IsObjMarkable(pObj,pPV)) + if (IsObjMarkable(pObj.get(),pPV)) { - GetMarkedObjectListWriteAccess().InsertEntry(SdrMark(pObj,pPV)); + GetMarkedObjectListWriteAccess().InsertEntry(SdrMark(pObj.get(),pPV)); bFnd=true; } } else { - const size_t nPos=TryToFindMarkedObject(pObj); + const size_t nPos=TryToFindMarkedObject(pObj.get()); if (nPos!=SAL_MAX_SIZE) { GetMarkedObjectListWriteAccess().DeleteMark(nPos); diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index b6f40386faab..c5741f5007c1 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -653,9 +653,8 @@ bool SdrObject::isVisibleOnAnyOfTheseLayers(const SdrLayerIDSet& rSet) const SdrObjList* pOL=GetSubList(); if (!pOL) return false; - const size_t nObjCount = pOL->GetObjCount(); - for (size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) - if (pOL->GetObj(nObjNum)->isVisibleOnAnyOfTheseLayers(rSet)) + for (const rtl::Reference<SdrObject>& pObject : *pOL) + if (pObject->isVisibleOnAnyOfTheseLayers(rSet)) return true; return false; } @@ -2585,11 +2584,8 @@ rtl::Reference<SdrObject> SdrObject::ConvertToContourObj(SdrObject* pRet1, bool SdrObjList* pObjList2 = pRet->GetSubList(); rtl::Reference<SdrObject> pGroup = new SdrObjGroup(getSdrModelFromSdrObject()); - for(size_t a=0; a<pObjList2->GetObjCount(); ++a) - { - SdrObject* pIterObj = pObjList2->GetObj(a); - pGroup->GetSubList()->NbcInsertObject(ConvertToContourObj(pIterObj, bForceLineDash).get()); - } + for (const rtl::Reference<SdrObject>& pIterObj : *pObjList2) + pGroup->GetSubList()->NbcInsertObject(ConvertToContourObj(pIterObj.get(), bForceLineDash).get()); pRet = pGroup; } diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx index 8a518554827a..5878c8cd9915 100644 --- a/svx/source/svdraw/svdogrp.cxx +++ b/svx/source/svdraw/svdogrp.cxx @@ -118,8 +118,7 @@ void SdrObjGroup::TakeObjInfo(SdrObjTransformInfoRec& rInfo) const { rInfo.bNoContortion=false; const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) { SdrObjTransformInfoRec aInfo; pObj->TakeObjInfo(aInfo); if (!aInfo.bMoveAllowed ) rInfo.bMoveAllowed =false; @@ -188,10 +187,8 @@ SdrLayerID SdrObjGroup::GetLayer() const void SdrObjGroup::NbcSetLayer(SdrLayerID nLayer) { SdrObject::NbcSetLayer(nLayer); - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) { - GetObj(i)->NbcSetLayer(nLayer); - } + for (const rtl::Reference<SdrObject>& pObj : *this) + pObj->NbcSetLayer(nLayer); } void SdrObjGroup::handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) @@ -199,10 +196,8 @@ void SdrObjGroup::handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) // call parent SdrObject::handlePageChange(pOldPage, pNewPage); - for(size_t i(0); i < GetObjCount(); i++) - { - GetObj(i)->handlePageChange(pOldPage, pNewPage); - } + for (const rtl::Reference<SdrObject>& pObj : *this) + pObj->handlePageChange(pOldPage, pNewPage); } SdrObjList* SdrObjGroup::GetSubList() const @@ -314,13 +309,9 @@ void SdrObjGroup::RecalcSnapRect() basegfx::B2DPolyPolygon SdrObjGroup::TakeXorPoly() const { basegfx::B2DPolyPolygon aRetval; - const size_t nObjCount(GetObjCount()); - for(size_t a = 0; a < nObjCount; ++a) - { - SdrObject* pObj(GetObj(a)); + for (const rtl::Reference<SdrObject>& pObj : *this) aRetval.append(pObj->TakeXorPoly()); - } if(!aRetval.count()) { @@ -406,11 +397,8 @@ void SdrObjGroup::NbcMove(const Size& rSize) if(0 != nObjCount) { - for (size_t i=0; i<nObjCount; ++i) - { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) pObj->NbcMove(rSize); - } } else { @@ -443,11 +431,8 @@ void SdrObjGroup::NbcResize(const Point& rRef, const Fraction& xFact, const Frac const size_t nObjCount(GetObjCount()); if(0 != nObjCount) { - for (size_t i=0; i<nObjCount; ++i) - { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) pObj->NbcResize(rRef,xFact,yFact); - } } else { @@ -464,13 +449,9 @@ void SdrObjGroup::NbcRotate(const Point& rRef, Degree100 nAngle, double sn, doub { SetGlueReallyAbsolute(true); RotatePoint(maRefPoint, rRef, sn, cs); - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) - { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) pObj->NbcRotate(rRef,nAngle,sn,cs); - } NbcRotateGluePoints(rRef,nAngle,sn,cs); SetGlueReallyAbsolute(false); @@ -481,13 +462,9 @@ void SdrObjGroup::NbcMirror(const Point& rRef1, const Point& rRef2) { SetGlueReallyAbsolute(true); MirrorPoint(maRefPoint, rRef1, rRef2); // implementation missing in SvdEtc! - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) - { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) pObj->NbcMirror(rRef1,rRef2); - } NbcMirrorGluePoints(rRef1,rRef2); SetGlueReallyAbsolute(false); @@ -498,11 +475,9 @@ void SdrObjGroup::NbcShear(const Point& rRef, Degree100 nAngle, double tn, bool { SetGlueReallyAbsolute(true); ShearPoint(maRefPoint, rRef, tn); - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); pObj->NbcShear(rRef,nAngle,tn,bVShear); } @@ -516,13 +491,9 @@ void SdrObjGroup::NbcSetAnchorPos(const Point& rPnt) m_aAnchor=rPnt; Size aSiz(rPnt.X()-m_aAnchor.X(),rPnt.Y()-m_aAnchor.Y()); maRefPoint.Move(aSiz); - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) - { - SdrObject* pObj(GetObj(i)); + for (const rtl::Reference<SdrObject>& pObj : *this) pObj->NbcSetAnchorPos(rPnt); - } } @@ -578,16 +549,14 @@ void SdrObjGroup::Move(const Size& rSiz) if(0 != nObjCount) { // first move the connectors, then everything else - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->Move(rSiz); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->Move(rSiz); } @@ -631,16 +600,14 @@ void SdrObjGroup::Resize(const Point& rRef, const Fraction& xFact, const Fractio if(0 != nObjCount) { // move the connectors first, everything else afterwards - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->Resize(rRef,xFact,yFact,bUnsetRelative); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->Resize(rRef,xFact,yFact,bUnsetRelative); } @@ -669,18 +636,15 @@ void SdrObjGroup::Rotate(const Point& rRef, Degree100 nAngle, double sn, double tools::Rectangle aBoundRect0; if (m_pUserCall!=nullptr) aBoundRect0=GetLastBoundRect(); RotatePoint(maRefPoint, rRef, sn, cs); // move the connectors first, everything else afterwards - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->Rotate(rRef,nAngle,sn,cs); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->Rotate(rRef,nAngle,sn,cs); } @@ -699,18 +663,15 @@ void SdrObjGroup::Mirror(const Point& rRef1, const Point& rRef2) tools::Rectangle aBoundRect0; if (m_pUserCall!=nullptr) aBoundRect0=GetLastBoundRect(); MirrorPoint(maRefPoint, rRef1, rRef2); // implementation missing in SvdEtc! // move the connectors first, everything else afterwards - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->Mirror(rRef1,rRef2); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->Mirror(rRef1,rRef2); } @@ -732,18 +693,15 @@ void SdrObjGroup::Shear(const Point& rRef, Degree100 nAngle, double tn, bool bVS tools::Rectangle aBoundRect0; if (m_pUserCall!=nullptr) aBoundRect0=GetLastBoundRect(); ShearPoint(maRefPoint, rRef, tn); // move the connectors first, everything else afterwards - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->Shear(rRef,nAngle,tn,bVShear); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->Shear(rRef,nAngle,tn,bVShear); } @@ -765,18 +723,15 @@ void SdrObjGroup::SetAnchorPos(const Point& rPnt) Size aSiz(rPnt.X()-m_aAnchor.X(),rPnt.Y()-m_aAnchor.Y()); maRefPoint.Move(aSiz); // move the connectors first, everything else afterwards - const size_t nObjCount(GetObjCount()); - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (pObj->IsEdgeObj()) pObj->SetAnchorPos(rPnt); } - for (size_t i=0; i<nObjCount; ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(i)); if (!pObj->IsEdgeObj()) pObj->SetAnchorPos(rPnt); } @@ -812,11 +767,9 @@ void SdrObjGroup::NbcReformatText() rtl::Reference<SdrObject> SdrObjGroup::DoConvertToPolyObj(bool bBezier, bool bAddText) const { rtl::Reference<SdrObject> pGroup( new SdrObjGroup(getSdrModelFromSdrObject()) ); - const size_t nObjCount(GetObjCount()); - for(size_t a=0; a < nObjCount; ++a) + for (const rtl::Reference<SdrObject>& pIterObj : *this) { - SdrObject* pIterObj(GetObj(a)); rtl::Reference<SdrObject> pResult(pIterObj->DoConvertToPolyObj(bBezier, bAddText)); // pResult can be NULL e.g. for empty objects diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index 123f264c7f81..e88e127e4fa0 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -1985,14 +1985,9 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus ) static SdrObject *ImpGetObjByName(SdrObjList const *pObjList, std::u16string_view aObjName) { // scan the whole list - size_t nObjCount = pObjList->GetObjCount(); - for (size_t i = 0; i < nObjCount; i++) { - SdrObject *pCurObj = pObjList->GetObj(i); - - if (pCurObj->GetName() == aObjName) { - return pCurObj; - } - } + for (const rtl::Reference<SdrObject>& pCurObj : *pObjList) + if (pCurObj->GetName() == aObjName) + return pCurObj.get(); // not found return nullptr; } diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx index 8570a2157295..bbe169e08b66 100644 --- a/svx/source/svdraw/svdpage.cxx +++ b/svx/source/svdraw/svdpage.cxx @@ -142,7 +142,6 @@ void SdrObjList::CopyObjects(const SdrObjList& rSrcList) #ifdef DBG_UTIL size_t nCloneErrCnt(0); #endif - const size_t nCount(rSrcList.GetObjCount()); if(nullptr == getSdrObjectFromSdrObjList() && nullptr == getSdrPageFromSdrObjList()) { @@ -154,15 +153,14 @@ void SdrObjList::CopyObjects(const SdrObjList& rSrcList) ? getSdrPageFromSdrObjList()->getSdrModelFromSdrPage() : getSdrObjectFromSdrObjList()->getSdrModelFromSdrObject()); - for (size_t no(0); no < nCount; ++no) + for (const rtl::Reference<SdrObject>& pSO : rSrcList) { - SdrObject* pSO(rSrcList.GetObj(no)); rtl::Reference<SdrObject> pDO(pSO->CloneSdrObject(rTargetSdrModel)); if(pDO) { NbcInsertObject(pDO.get(), SAL_MAX_SIZE); - aCloneList.AddPair(pSO, pDO.get()); + aCloneList.AddPair(pSO.get(), pDO.get()); } #ifdef DBG_UTIL else @@ -206,10 +204,9 @@ void SdrObjList::RecalcRects() { maSdrObjListOutRect=tools::Rectangle(); maSdrObjListSnapRect=maSdrObjListOutRect; - const size_t nCount = GetObjCount(); - for (size_t i=0; i<nCount; ++i) { - SdrObject* pObj=GetObj(i); - if (i==0) { + for (auto it = begin(), itEnd = end(); it != itEnd; ++it) { + SdrObject* pObj = it->get(); + if (it == begin()) { maSdrObjListOutRect=pObj->GetCurrentBoundRect(); maSdrObjListSnapRect=pObj->GetSnapRect(); } else { @@ -771,10 +768,8 @@ void SdrObjList::ImplReformatAllEdgeObjects(const SdrObjList& rObjList) void SdrObjList::BurnInStyleSheetAttributes() { - for(size_t a = 0; a < GetObjCount(); ++a) - { - GetObj(a)->BurnInStyleSheetAttributes(); - } + for (const rtl::Reference<SdrObject>& pObj : *this) + pObj->BurnInStyleSheetAttributes(); } size_t SdrObjList::GetObjCount() const @@ -793,11 +788,10 @@ SdrObject* SdrObjList::GetObj(size_t nNum) const SdrObject* SdrObjList::GetObjByName(std::u16string_view sName) const { - for (size_t i = 0; i < GetObjCount(); ++i) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj = GetObj(i); if (pObj->GetName() == sName) - return pObj; + return pObj.get(); } return nullptr; } @@ -1092,12 +1086,8 @@ void SdrObjList::dumpAsXml(xmlTextWriterPtr pWriter) const (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this); (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("symbol"), "%s", BAD_CAST(typeid(*this).name())); - size_t nObjCount = GetObjCount(); - for (size_t i = 0; i < nObjCount; ++i) - { - if (const SdrObject* pObject = GetObj(i)) - pObject->dumpAsXml(pWriter); - } + for (const rtl::Reference<SdrObject>& pObject : *this) + pObject->dumpAsXml(pWriter); (void)xmlTextWriterEndElement(pWriter); } @@ -1684,24 +1674,20 @@ void SdrPage::TRG_ImpMasterPageRemoved(const SdrPage& rRemovedPage) void SdrPage::MakePageObjectsNamesUnique() { std::unordered_set<OUString> aNameSet; - for (size_t no(0); no < GetObjCount(); ++no) + for (const rtl::Reference<SdrObject>& pObj : *this) { - SdrObject* pObj(GetObj(no)); - if(nullptr != pObj) + if (!pObj->GetName().isEmpty()) { - if (!pObj->GetName().isEmpty()) + pObj->MakeNameUnique(aNameSet); + SdrObjList* pSdrObjList = pObj->GetSubList(); // group + if (pSdrObjList) { - pObj->MakeNameUnique(aNameSet); - SdrObjList* pSdrObjList = pObj->GetSubList(); // group - if (pSdrObjList) + SdrObject* pListObj; + SdrObjListIter aIter(pSdrObjList, SdrIterMode::DeepWithGroups); + while (aIter.IsMore()) { - SdrObject* pListObj; - SdrObjListIter aIter(pSdrObjList, SdrIterMode::DeepWithGroups); - while (aIter.IsMore()) - { - pListObj = aIter.Next(); - pListObj->MakeNameUnique(aNameSet); - } + pListObj = aIter.Next(); + pListObj->MakeNameUnique(aNameSet); } } } diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx index ab82cf2e3301..86210865e72c 100644 --- a/svx/source/svdraw/svdpagv.cxx +++ b/svx/source/svdraw/svdpagv.cxx @@ -606,11 +606,10 @@ bool SdrPageView::IsObjMarkable(SdrObject const * pObj) const if (pObjList && pObjList->GetObjCount()) { - for (size_t a = 0; a < pObjList->GetObjCount(); ++a) + for (const rtl::Reference<SdrObject>& pCandidate : *pObjList) { - SdrObject* pCandidate = pObjList->GetObj(a); // call recursively - if (IsObjMarkable(pCandidate)) + if (IsObjMarkable(pCandidate.get())) return true; } return false; diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx index da468968ee81..436b2998e810 100644 --- a/svx/source/svdraw/svdpntv.cxx +++ b/svx/source/svdraw/svdpntv.cxx @@ -808,12 +808,10 @@ void SdrPaintView::GlueInvalidate() const if(mpPageView) { const SdrObjList* pOL=mpPageView->GetObjList(); - const size_t nObjCount = pOL->GetObjCount(); - for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) { - const SdrObject* pObj=pOL->GetObj(nObjNum); + for (const rtl::Reference<SdrObject>& pObj : *pOL) { const SdrGluePointList* pGPL=pObj->GetGluePointList(); if (pGPL!=nullptr && pGPL->GetCount()!=0) { - pGPL->Invalidate(*rOutDev.GetOwnerWindow(), pObj); + pGPL->Invalidate(*rOutDev.GetOwnerWindow(), pObj.get()); } } } diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index 3788f8d7154c..51e6268d9fbc 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -263,12 +263,11 @@ SdrUndoAttrObj::SdrUndoAttrObj(SdrObject& rNewObj, bool bStyleSheet1, bool bSave { // it's a group object! pUndoGroup.reset(new SdrUndoGroup(mxObj->getSdrModelFromSdrObject())); - const size_t nObjCount(pOL->GetObjCount()); - for(size_t nObjNum = 0; nObjNum < nObjCount; ++nObjNum) + for (const rtl::Reference<SdrObject>& pObj : *pOL) { pUndoGroup->AddAction( - std::make_unique<SdrUndoAttrObj>(*pOL->GetObj(nObjNum), bStyleSheet1)); + std::make_unique<SdrUndoAttrObj>(*pObj, bStyleSheet1)); } } @@ -566,10 +565,8 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj) // If this were 3D scene, we'd only add an Undo for the scene itself // (which we do elsewhere). pUndoGroup.reset(new SdrUndoGroup(mxObj->getSdrModelFromSdrObject())); - const size_t nObjCount = pOL->GetObjCount(); - for (size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) { - pUndoGroup->AddAction(std::make_unique<SdrUndoGeoObj>(*pOL->GetObj(nObjNum))); - } + for (const rtl::Reference<SdrObject>& pObj : *pOL) + pUndoGroup->AddAction(std::make_unique<SdrUndoGeoObj>(*pObj)); } else { |