diff options
author | Kohei Yoshida <kyoshida@novell.com> | 2011-03-04 18:21:43 -0500 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2011-03-05 15:21:07 -0500 |
commit | 0df4b4a86073690ea9013645a39631289ea609a5 (patch) | |
tree | 30d9d28daef1b86b24c881f012649518aa299b5d /sc | |
parent | e422d9efc36407cae4220c025a4c2d8e8de14be9 (diff) |
Removed SearchNameUpper() in favor of findByUpperName().
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/rangenam.hxx | 3 | ||||
-rw-r--r-- | sc/source/core/data/dpshttab.cxx | 5 | ||||
-rw-r--r-- | sc/source/core/tool/compiler.cxx | 9 | ||||
-rw-r--r-- | sc/source/core/tool/rangenam.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/dbgui/pvlaydlg.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/docshell/externalrefmgr.cxx | 19 |
6 files changed, 27 insertions, 29 deletions
diff --git a/sc/inc/rangenam.hxx b/sc/inc/rangenam.hxx index 914f185e9f81..995d664ff108 100644 --- a/sc/inc/rangenam.hxx +++ b/sc/inc/rangenam.hxx @@ -121,6 +121,7 @@ public: void SetIndex( USHORT nInd ) { nIndex = nInd; } USHORT GetIndex() const { return nIndex; } ScTokenArray* GetCode() { return pCode; } + const ScTokenArray* GetCode() const { return pCode; } USHORT GetErrCode(); BOOL HasReferences() const; void SetDocument( ScDocument* pDocument){ pDoc = pDocument; } @@ -198,8 +199,8 @@ public: SC_DLLPUBLIC const ScRangeData* GetRangeAtBlock(const ScRange& rRange) const; SC_DLLPUBLIC ScRangeData* findByName(const rtl::OUString& rName); SC_DLLPUBLIC const ScRangeData* findByName(const rtl::OUString& rName) const; + ScRangeData* findByUpperName(const rtl::OUString& rName); const ScRangeData* findByUpperName(const rtl::OUString& rName) const; - bool SearchNameUpper(const rtl::OUString& rUpperName, sal_uInt16& rPos) const; void UpdateReference(UpdateRefMode eUpdateRefMode, const ScRange& rRange, SCsCOL nDx, SCsROW nDy, SCsTAB nDz); void UpdateTabRef(SCTAB nTable, sal_uInt16 nFlag, SCTAB nNewTable = 0); diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx index 2c00a1328cd7..ec2270029a3d 100644 --- a/sc/source/core/data/dpshttab.cxx +++ b/sc/source/core/data/dpshttab.cxx @@ -258,13 +258,12 @@ const ScRange& ScSheetSourceDesc::GetSourceRange() const break; OUString aUpper = ScGlobal::pCharClass->upper(maRangeName); - USHORT n; - if (!pRangeName->SearchNameUpper(aUpper, n)) + const ScRangeData* pData = pRangeName->findByUpperName(aUpper); + if (!pData) break; // range name found. Fow now, we only use the first token and // ignore the rest. - ScRangeData* pData = (*pRangeName)[n]; ScRange aRange; if (!pData->IsReference(aRange)) break; diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index c822039778e6..3f2e4aaab8bc 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -2896,18 +2896,17 @@ BOOL ScCompiler::IsNamedRange( const String& rUpperName ) { // IsNamedRange is called only from NextNewToken, with an upper-case string - USHORT n; ScRangeName* pRangeName = pDoc->GetRangeName(); - if (pRangeName->SearchNameUpper( rUpperName, n ) ) + const ScRangeData* pData = pRangeName->findByUpperName(rUpperName); + if (pData) { - const ScRangeData* pData = (*pRangeName)[n]; ScRawToken aToken; aToken.SetName( pData->GetIndex() ); pRawToken = aToken.Clone(); - return TRUE; + return true; } else - return FALSE; + return false; } bool ScCompiler::IsExternalNamedRange( const String& rSymbol ) diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx index 97d5f2b0b59e..2214c0bc56e5 100644 --- a/sc/source/core/tool/rangenam.cxx +++ b/sc/source/core/tool/rangenam.cxx @@ -716,9 +716,9 @@ const ScRangeData* ScRangeName::findByName(const OUString& rName) const return NULL; } -const ScRangeData* ScRangeName::findByUpperName(const OUString& rName) const +ScRangeData* ScRangeName::findByUpperName(const OUString& rName) { - DataType::const_iterator itr = maData.begin(), itrEnd = maData.end(); + DataType::iterator itr = maData.begin(), itrEnd = maData.end(); for (; itr != itrEnd; ++itr) { if (rName.equals(itr->GetUpperName())) @@ -727,9 +727,15 @@ const ScRangeData* ScRangeName::findByUpperName(const OUString& rName) const return NULL; } -bool ScRangeName::SearchNameUpper(const rtl::OUString& rName, sal_uInt16& rPos) const +const ScRangeData* ScRangeName::findByUpperName(const OUString& rName) const { - return false; + DataType::const_iterator itr = maData.begin(), itrEnd = maData.end(); + for (; itr != itrEnd; ++itr) + { + if (rName.equals(itr->GetUpperName())) + return &(*itr); + } + return NULL; } void ScRangeName::UpdateReference( diff --git a/sc/source/ui/dbgui/pvlaydlg.cxx b/sc/source/ui/dbgui/pvlaydlg.cxx index d237e807242b..71ba04990861 100644 --- a/sc/source/ui/dbgui/pvlaydlg.cxx +++ b/sc/source/ui/dbgui/pvlaydlg.cxx @@ -1407,12 +1407,10 @@ void ScDPLayoutDlg::UpdateSrcRange() if (pRangeName) { OUString aUpper = ScGlobal::pCharClass->upper(aSrcStr); - USHORT n; - bValid = pRangeName->SearchNameUpper(aUpper, n); - if (bValid) + const ScRangeData* pData = pRangeName->findByUpperName(aUpper); + if (pData) { // range name found. Check if this is a valid reference. - ScRangeData* pData = (*pRangeName)[n]; bValid = pData->IsReference(aNewRange); } } diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 4b8a7e7d555f..2c2bb32e3ef9 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -2000,12 +2000,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getRangeNameTokensFromSr { ScRangeName* pExtNames = pSrcDoc->GetRangeName(); String aUpperName = ScGlobal::pCharClass->upper(rName); - USHORT n; - bool bRes = pExtNames->SearchNameUpper(aUpperName, n); - if (!bRes) - return ScExternalRefCache::TokenArrayRef(); - - ScRangeData* pRangeData = (*pExtNames)[n]; + const ScRangeData* pRangeData = pExtNames->findByUpperName(aUpperName); if (!pRangeData) return ScExternalRefCache::TokenArrayRef(); @@ -2016,28 +2011,28 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getRangeNameTokensFromSr ScExternalRefCache::TokenArrayRef pNew(new ScTokenArray); - ScTokenArray* pCode = pRangeData->GetCode(); - for (FormulaToken* pToken = pCode->First(); pToken; pToken = pCode->Next()) + ScTokenArray aCode(*pRangeData->GetCode()); + for (const FormulaToken* pToken = aCode.First(); pToken; pToken = aCode.Next()) { bool bTokenAdded = false; switch (pToken->GetType()) { case svSingleRef: { - const ScSingleRefData& rRef = static_cast<ScToken*>(pToken)->GetSingleRef(); + const ScSingleRefData& rRef = static_cast<const ScToken*>(pToken)->GetSingleRef(); String aTabName; pSrcDoc->GetName(rRef.nTab, aTabName); - ScExternalSingleRefToken aNewToken(nFileId, aTabName, static_cast<ScToken*>(pToken)->GetSingleRef()); + ScExternalSingleRefToken aNewToken(nFileId, aTabName, static_cast<const ScToken*>(pToken)->GetSingleRef()); pNew->AddToken(aNewToken); bTokenAdded = true; } break; case svDoubleRef: { - const ScSingleRefData& rRef = static_cast<ScToken*>(pToken)->GetSingleRef(); + const ScSingleRefData& rRef = static_cast<const ScToken*>(pToken)->GetSingleRef(); String aTabName; pSrcDoc->GetName(rRef.nTab, aTabName); - ScExternalDoubleRefToken aNewToken(nFileId, aTabName, static_cast<ScToken*>(pToken)->GetDoubleRef()); + ScExternalDoubleRefToken aNewToken(nFileId, aTabName, static_cast<const ScToken*>(pToken)->GetDoubleRef()); pNew->AddToken(aNewToken); bTokenAdded = true; } |