[PATCH] Convert SfxObjectUIArr_Impl from SfxPtrArr to std::vector
Noel Grandin (via Code Review)
gerrit at gerrit.libreoffice.org
Fri Apr 12 07:24:40 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3359
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/59/3359/1
Convert SfxObjectUIArr_Impl from SfxPtrArr to std::vector
Also
- remove dead class definition SfxIFConfig_Impl, which was
using SfxObjectUIArr_Impl
- simplify declaration sites, we don't need to dynamically allocate
these arrays
Change-Id: I0f7110a324cc37f2eb2567cc066099ea4d86276c
---
M sfx2/inc/sfx2/objface.hxx
M sfx2/source/control/objface.cxx
2 files changed, 29 insertions(+), 51 deletions(-)
diff --git a/sfx2/inc/sfx2/objface.hxx b/sfx2/inc/sfx2/objface.hxx
index 90315d0..8e1f772 100644
--- a/sfx2/inc/sfx2/objface.hxx
+++ b/sfx2/inc/sfx2/objface.hxx
@@ -32,14 +32,11 @@
struct SfxFormalArgument;
struct SfxInterface_Impl;
class SfxConfigItem;
-class SfxIFConfig_Impl;
-class SfxObjectUIArr_Impl ;
class SfxModule;
class SvStream;
class SFX2_DLLPUBLIC SfxInterface
{
-friend class SfxIFConfig_Impl;
friend class SfxSlotPool;
const char* pName; // Sfx-internal name of interface
@@ -122,20 +119,6 @@
{
return nPos < nCount? pSlots+nPos: 0;
}
-
-class SfxIFConfig_Impl
-{
-friend class SfxInterface;
- sal_uInt16 nCount;
- SfxObjectUIArr_Impl* pObjectBars;
-
-public:
- SfxIFConfig_Impl();
- ~SfxIFConfig_Impl();
- sal_Bool Store(SvStream&);
- void RegisterObjectBar( sal_uInt16, const ResId&, sal_uInt32 nFeature, const String* pST=0 );
- sal_uInt16 GetType();
-};
#endif
diff --git a/sfx2/source/control/objface.cxx b/sfx2/source/control/objface.cxx
index 90be4b5..8b9e0f9 100644
--- a/sfx2/source/control/objface.cxx
+++ b/sfx2/source/control/objface.cxx
@@ -77,16 +77,16 @@
}
};
-DECL_PTRARRAY(SfxObjectUIArr_Impl, SfxObjectUI_Impl*, 2, 2)
+typedef std::vector<SfxObjectUI_Impl*> SfxObjectUIArr_Impl;
struct SfxInterface_Impl
{
- SfxObjectUIArr_Impl* pObjectBars; // registered ObjectBars
- SfxObjectUIArr_Impl* pChildWindows; // registered ChildWindows
+ SfxObjectUIArr_Impl aObjectBars; // registered ObjectBars
+ SfxObjectUIArr_Impl aChildWindows; // registered ChildWindows
ResId aPopupRes; // registered PopupMenu
ResId aStatBarRes; // registered StatusBar
SfxModule* pModule;
- sal_Bool bRegistered;
+ sal_Bool bRegistered;
SfxInterface_Impl() :
aPopupRes(0,*SfxApplication::GetOrCreate()->GetSfxResManager()),
@@ -94,20 +94,15 @@
, pModule(NULL)
, bRegistered(sal_False)
{
- pObjectBars = new SfxObjectUIArr_Impl;
- pChildWindows = new SfxObjectUIArr_Impl;
}
~SfxInterface_Impl()
{
- sal_uInt16 n;
- for (n=0; n<pObjectBars->Count(); n++)
- delete (*pObjectBars)[n];
- delete pObjectBars;
+ for (SfxObjectUIArr_Impl::const_iterator it = aObjectBars.begin(); it != aObjectBars.end(); ++it)
+ delete *it;
- for (n=0; n<pChildWindows->Count(); n++)
- delete (*pChildWindows)[n];
- delete pChildWindows;
+ for (SfxObjectUIArr_Impl::const_iterator it = aChildWindows.begin(); it != aChildWindows.end(); ++it)
+ delete *it;
}
};
@@ -404,7 +399,7 @@
{
SfxObjectUI_Impl* pUI = CreateObjectBarUI_Impl( nPos, rResId, nFeature, pStr );
if ( pUI )
- pImpData->pObjectBars->Append(pUI);
+ pImpData->aObjectBars.push_back(pUI);
}
SfxObjectUI_Impl* CreateObjectBarUI_Impl( sal_uInt16 nPos, const ResId& rResId, sal_uInt32 nFeature, const String *pStr )
@@ -447,10 +442,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nObjBarCount = pImpData->pObjectBars->Count();
+ sal_uInt16 nObjBarCount = pImpData->aObjectBars.size();
DBG_ASSERT( nNo<nObjBarCount,"Objectbar is unknown!" );
#endif
- return (*pImpData->pObjectBars)[nNo]->aResId;
+ return pImpData->aObjectBars[nNo]->aResId;
}
//--------------------------------------------------------------------
@@ -471,10 +466,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nObjBarCount = pImpData->pObjectBars->Count();
+ sal_uInt16 nObjBarCount = pImpData->aObjectBars.size();
DBG_ASSERT( nNo<nObjBarCount,"Objectbar is unknown!" );
#endif
- return (*pImpData->pObjectBars)[nNo]->nPos;
+ return pImpData->aObjectBars[nNo]->nPos;
}
//--------------------------------------------------------------------
@@ -483,9 +478,9 @@
sal_uInt16 SfxInterface::GetObjectBarCount() const
{
if (pGenoType && ! pGenoType->HasName())
- return pImpData->pObjectBars->Count() + pGenoType->GetObjectBarCount();
+ return pImpData->aObjectBars.size() + pGenoType->GetObjectBarCount();
else
- return pImpData->pObjectBars->Count();
+ return pImpData->aObjectBars.size();
}
//--------------------------------------------------------------------
@@ -498,7 +493,7 @@
{
SfxObjectUI_Impl* pUI = new SfxObjectUI_Impl(0, ResId(nId, *SfxApplication::GetOrCreate()->GetOffResManager_Impl()), sal_True, nFeature);
pUI->bContext = bContext;
- pImpData->pChildWindows->Append(pUI);
+ pImpData->aChildWindows.push_back(pUI);
}
void SfxInterface::RegisterStatusBar(const ResId& rResId)
@@ -521,11 +516,11 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nCWCount = pImpData->pChildWindows->Count();
+ sal_uInt16 nCWCount = pImpData->aChildWindows.size();
DBG_ASSERT( nNo<nCWCount,"ChildWindow is unknown!" );
#endif
- sal_uInt32 nRet = (*pImpData->pChildWindows)[nNo]->aResId.GetId();
- if ( (*pImpData->pChildWindows)[nNo]->bContext )
+ sal_uInt32 nRet = pImpData->aChildWindows[nNo]->aResId.GetId();
+ if ( pImpData->aChildWindows[nNo]->bContext )
nRet += sal_uInt32( nClassId ) << 16;
return nRet;
}
@@ -544,10 +539,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nCWCount = pImpData->pChildWindows->Count();
+ sal_uInt16 nCWCount = pImpData->aChildWindows.size();
DBG_ASSERT( nNo<nCWCount,"ChildWindow is unknown!" );
#endif
- return (*pImpData->pChildWindows)[nNo]->nFeature;
+ return pImpData->aChildWindows[nNo]->nFeature;
}
//--------------------------------------------------------------------
@@ -556,9 +551,9 @@
sal_uInt16 SfxInterface::GetChildWindowCount() const
{
if (pGenoType)
- return pImpData->pChildWindows->Count() + pGenoType->GetChildWindowCount();
+ return pImpData->aChildWindows.size() + pGenoType->GetChildWindowCount();
else
- return pImpData->pChildWindows->Count();
+ return pImpData->aChildWindows.size();
}
@@ -593,10 +588,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nObjBarCount = pImpData->pObjectBars->Count();
+ sal_uInt16 nObjBarCount = pImpData->aObjectBars.size();
DBG_ASSERT( nNo<nObjBarCount,"Objectbar is unknown!" );
#endif
- return (*pImpData->pObjectBars)[nNo]->pName;
+ return pImpData->aObjectBars[nNo]->pName;
}
sal_uInt32 SfxInterface::GetObjectBarFeature ( sal_uInt16 nNo ) const
@@ -614,10 +609,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nObjBarCount = pImpData->pObjectBars->Count();
+ sal_uInt16 nObjBarCount = pImpData->aObjectBars.size();
DBG_ASSERT( nNo<nObjBarCount,"Objectbar is unknown!" );
#endif
- return (*pImpData->pObjectBars)[nNo]->nFeature;
+ return pImpData->aObjectBars[nNo]->nFeature;
}
sal_Bool SfxInterface::IsObjectBarVisible(sal_uInt16 nNo) const
@@ -635,10 +630,10 @@
}
#ifdef DBG_UTIL
- sal_uInt16 nObjBarCount = pImpData->pObjectBars->Count();
+ sal_uInt16 nObjBarCount = pImpData->aObjectBars.size();
DBG_ASSERT( nNo<nObjBarCount,"Objectbar is unknown!" );
#endif
- return (*pImpData->pObjectBars)[nNo]->bVisible;
+ return pImpData->aObjectBars[nNo]->bVisible;
}
const SfxInterface* SfxInterface::GetRealInterfaceForSlot( const SfxSlot *pRealSlot ) const
--
To view, visit https://gerrit.libreoffice.org/3359
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0f7110a324cc37f2eb2567cc066099ea4d86276c
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Noel Grandin <noelgrandin at gmail.com>
More information about the LibreOffice
mailing list