summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Power <noel.power@novell.com>2012-01-19 09:29:35 +0000
committerNoel Power <noel.power@novell.com>2012-02-07 10:56:08 +0000
commitc27958201d269f65a4ba868b04907eb55928a4a5 (patch)
treeb2a82bbdbc8a8280b9167bb74688fa8074937a8a
parentff3a6a514d4a95653d111610ea06954b8130a869 (diff)
fix getCellRangeByName failure for named range
-rw-r--r--sc/inc/rangenam.hxx4
-rw-r--r--sc/source/core/data/documen2.cxx2
-rw-r--r--sc/source/core/data/document.cxx2
-rw-r--r--sc/source/core/tool/interpr1.cxx2
-rw-r--r--sc/source/core/tool/rangenam.cxx25
-rw-r--r--sc/source/core/tool/rangeutl.cxx3
-rw-r--r--sc/source/filter/html/htmlimp.cxx4
-rw-r--r--sc/source/filter/rtf/eeimpars.cxx2
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx2
-rw-r--r--sc/source/filter/xml/xmlimprt.cxx2
-rw-r--r--sc/source/ui/app/inputwin.cxx2
-rw-r--r--sc/source/ui/docshell/arealink.cxx2
-rw-r--r--sc/source/ui/docshell/docfunc.cxx2
-rw-r--r--sc/source/ui/docshell/docsh4.cxx2
-rw-r--r--sc/source/ui/docshell/impex.cxx2
-rw-r--r--sc/source/ui/docshell/servobj.cxx2
-rw-r--r--sc/source/ui/namedlg/namedlg.cxx6
-rw-r--r--sc/source/ui/navipi/content.cxx2
-rw-r--r--sc/source/ui/unoobj/nameuno.cxx10
-rw-r--r--sc/source/ui/vba/vbarange.cxx2
-rw-r--r--sc/source/ui/view/viewfunc.cxx2
21 files changed, 29 insertions, 53 deletions
diff --git a/sc/inc/rangenam.hxx b/sc/inc/rangenam.hxx
index fdff2784d..741709448 100644
--- a/sc/inc/rangenam.hxx
+++ b/sc/inc/rangenam.hxx
@@ -202,8 +202,8 @@ public:
SC_DLLPUBLIC const ScRangeData* findByRange(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;
+ SC_DLLPUBLIC ScRangeData* findByUpperName(const rtl::OUString& rName);
+ SC_DLLPUBLIC const ScRangeData* findByUpperName(const rtl::OUString& rName) const;
SC_DLLPUBLIC ScRangeData* findByIndex(sal_uInt16 i);
void UpdateReference(UpdateRefMode eUpdateRefMode, const ScRange& rRange,
SCsCOL nDx, SCsROW nDy, SCsTAB nDz);
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index 97292cadd..5720e63ca 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -991,7 +991,7 @@ sal_uLong ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos,
bool bInUse = ( aUsedNames.find(nOldIndex) != aUsedNames.end() );
if (bInUse)
{
- const ScRangeData* pExistingData = GetRangeName()->findByName(itr->GetName());
+ const ScRangeData* pExistingData = GetRangeName()->findByUpperName(itr->GetUpperName());
if (pExistingData)
{
// the name exists already in the destination document
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 48cf99b19..e85ba1f1d 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1867,7 +1867,7 @@ void ScDocument::CopyRangeNamesFromClip(ScDocument* pClipDoc, ScClipRangeNameDat
A proper solution would ask the user how to proceed.
The adjustment of the indices in the formulas is done later.
*/
- const ScRangeData* pExistingData = GetRangeName()->findByName(itr->GetName());
+ const ScRangeData* pExistingData = GetRangeName()->findByUpperName(itr->GetUpperName());
if (pExistingData)
{
sal_uInt16 nOldIndex = itr->GetIndex();
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 3614896e2..eb5ab56fc 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -6628,7 +6628,7 @@ void ScInterpreter::ScIndirect()
if (!pNames)
break;
- ScRangeData* pData = pNames->findByName(sRefStr);
+ ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(sRefStr));
if (!pData)
break;
diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx
index 35c00dc44..b648d1a14 100644
--- a/sc/source/core/tool/rangenam.cxx
+++ b/sc/source/core/tool/rangenam.cxx
@@ -682,17 +682,6 @@ public:
}
};
-class MatchByName : public unary_function<ScRangeData, bool>
-{
- const OUString& mrName;
-public:
- MatchByName(const OUString& rName) : mrName(rName) {}
- bool operator() (const ScRangeData& r) const
- {
- return mrName.equals(r.GetName());
- }
-};
-
class MatchByUpperName : public unary_function<ScRangeData, bool>
{
const OUString& mrName;
@@ -760,20 +749,6 @@ const ScRangeData* ScRangeName::findByRange(const ScRange& rRange) const
return itr == maData.end() ? NULL : &(*itr);
}
-ScRangeData* ScRangeName::findByName(const OUString& rName)
-{
- DataType::iterator itr = std::find_if(
- maData.begin(), maData.end(), MatchByName(rName));
- return itr == maData.end() ? NULL : &(*itr);
-}
-
-const ScRangeData* ScRangeName::findByName(const OUString& rName) const
-{
- DataType::const_iterator itr = std::find_if(
- maData.begin(), maData.end(), MatchByName(rName));
- return itr == maData.end() ? NULL : &(*itr);
-}
-
ScRangeData* ScRangeName::findByUpperName(const OUString& rName)
{
DataType::iterator itr = std::find_if(
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 72bd8d644..dca1413e0 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -288,8 +288,9 @@ sal_Bool ScRangeUtil::MakeRangeFromName (
if( eScope==RUTL_NAMES )
{
+ rtl::OUString aName(rName);
const ScRangeName& rRangeNames = *pDoc->GetRangeName();
- const ScRangeData* pData = rRangeNames.findByName(rName);
+ const ScRangeData* pData = rRangeNames.findByUpperName(ScGlobal::pCharClass->upper(aName));
if (pData)
{
String aStrArea;
diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx
index 7ebe5e111..b0e15d364 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -209,7 +209,7 @@ void ScHTMLImport::WriteToDocument(
if( pTable->GetTableName().Len() )
{
String aName( ScfTools::GetNameFromHTMLName( pTable->GetTableName() ) );
- if (!mpDoc->GetRangeName()->findByName(aName))
+ if (!mpDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->upper(aName)))
InsertRangeName( mpDoc, aName, aNewRange );
}
}
@@ -239,7 +239,7 @@ String ScHTMLImport::GetHTMLRangeNameList( ScDocument* pDoc, const String& rOrig
while( bLoop )
{
aToken = ScfTools::GetNameFromHTMLIndex( nIndex++ );
- const ScRangeData* pRangeData = pRangeNames->findByName(aToken);
+ const ScRangeData* pRangeData = pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(aToken));
if (pRangeData)
{
ScRange aRange;
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index f2baf3dac..9b652b6e1 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -404,7 +404,7 @@ void ScEEImport::WriteToDocument( sal_Bool bSizeColsRows, double nOutputFactor,
bHasGraphics |= GraphicSize( nCol, nRow, nTab, pE );
if ( pE->pName )
{ // Anchor Name => RangeName
- if (!pRangeNames->findByName(*pE->pName))
+ if (!pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(*pE->pName)))
{
ScRangeData* pData = new ScRangeData( mpDoc, *pE->pName,
ScAddress( nCol, nRow, nTab ) );
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 514e27a30..90955d3a6 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -3771,7 +3771,7 @@ void ScXMLExport::WriteNamedExpressions(const com::sun::star::uno::Reference <co
xNamedRange->getReferencePosition(), pDoc, FormulaGrammar::CONV_OOO, ' ', sal_False, SCA_ABS_3D );
AddAttribute(XML_NAMESPACE_TABLE, XML_BASE_CELL_ADDRESS, sOUBaseCellAddress);
- const ScRangeData* pNamedRange = pNamedRanges->findByName(sOUName);
+ const ScRangeData* pNamedRange = pNamedRanges->findByUpperName(ScGlobal::pCharClass->upper(sOUName) );
String sContent;
pNamedRange->GetSymbol(sContent, pDoc->GetStorageGrammar());
rtl::OUString sOUTempContent(sContent);
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index 6d043fc4d..6d8cbbe53 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -2796,7 +2796,7 @@ public:
if ( nUnoType & sheet::NamedRangeFlag::ROW_HEADER ) nNewType |= RT_ROWHEADER;
- if (mpDoc && !mrRangeName.findByName(r.sName))
+ if (mpDoc && !mrRangeName.findByUpperName(ScGlobal::pCharClass->upper(r.sName)))
{
// Insert a new name.
ScAddress aPos;
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 4f377ef0f..c516dc43a 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1676,7 +1676,7 @@ void ScPosWnd::DoEnter()
{
ScRangeName* pNames = pDoc->GetRangeName();
ScRange aSelection;
- if ( pNames && !pNames->findByName(aText) &&
+ if ( pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aText)) &&
(pViewData->GetSimpleArea( aSelection ) == SC_MARK_SIMPLE) )
{
ScRangeName aNewRanges( *pNames );
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index e2be816a9..398a674a1 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -210,7 +210,7 @@ sal_Bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const S
sal_uInt16 nPos;
if (pNames) // benannte Bereiche
{
- const ScRangeData* p = pNames->findByName(rAreaName);
+ const ScRangeData* p = pNames->findByUpperName(ScGlobal::pCharClass->upper(rAreaName));
if (p && p->IsValidReference(rRange))
bFound = true;
}
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 24e451711..c4df591b2 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -4570,7 +4570,7 @@ void ScDocFunc::CreateOneName( ScRangeName& rList,
ScRange( nX1, nY1, nTab, nX2, nY2, nTab ).Format( aContent, SCR_ABS_3D, pDoc );
bool bInsert = false;
- ScRangeData* pOld = rList.findByName(aName);
+ ScRangeData* pOld = rList.findByUpperName(ScGlobal::pCharClass->upper(aName));
if (pOld)
{
String aOldStr;
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 0d8ea68f5..c25b1d7e2 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -2106,7 +2106,7 @@ long ScDocShell::DdeSetData( const String& rItem,
ScRangeName* pRange = aDocument.GetRangeName();
if( pRange )
{
- const ScRangeData* pData = pRange->findByName(aPos);
+ const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos));
if (pData)
{
if( pData->HasType( RT_REFAREA )
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 901810bb8..f6a51a940 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -175,7 +175,7 @@ ScImportExport::ScImportExport( ScDocument* p, const String& rPos )
ScRangeName* pRange = pDoc->GetRangeName();
if( pRange )
{
- const ScRangeData* pData = pRange->findByName(aPos);
+ const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos));
if (pData)
{
if( pData->HasType( RT_REFAREA )
diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx
index 066d8dc7b..4dd0771d2 100644
--- a/sc/source/ui/docshell/servobj.cxx
+++ b/sc/source/ui/docshell/servobj.cxx
@@ -54,7 +54,7 @@ sal_Bool lcl_FillRangeFromName( ScRange& rRange, ScDocShell* pDocSh, const Strin
ScRangeName* pNames = pDoc->GetRangeName();
if (pNames)
{
- const ScRangeData* pData = pNames->findByName(rName);
+ const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(rName));
if (pData)
{
if ( pData->IsValidReference( rRange ) )
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index 157c31683..9bd54362b 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -246,7 +246,7 @@ void ScNameDlg::SetActive()
void ScNameDlg::UpdateChecks()
{
- const ScRangeData* pData = mpCurRangeName->findByName(aEdName.GetText());
+ const ScRangeData* pData = mpCurRangeName->findByUpperName(ScGlobal::pCharClass->upper(aEdName.GetText()));
if (pData)
{
aBtnCriteria .Check( pData->HasType( RT_CRITERIA ) );
@@ -437,7 +437,7 @@ bool ScNameDlg::AddPushed()
void ScNameDlg::RemovePushed()
{
const String aStrEntry = aEdName.GetText();
- ScRangeData* pData = mpCurRangeName->findByName(aStrEntry);
+ ScRangeData* pData = mpCurRangeName->findByUpperName(ScGlobal::pCharClass->upper(aStrEntry));
if (pData)
{
String aStrDelMsg = ScGlobal::GetRscString( STR_QUERY_DELENTRY );
@@ -482,7 +482,7 @@ void ScNameDlg::OKPushed()
void ScNameDlg::NameSelected()
{
- ScRangeData* pData = mpCurRangeName->findByName(aEdName.GetText());
+ ScRangeData* pData = mpCurRangeName->findByUpperName(ScGlobal::pCharClass->upper(aEdName.GetText()));
if (pData)
{
String aSymbol;
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index 8fc3dca97..5b8ee822e 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -1005,7 +1005,7 @@ sal_Bool lcl_GetRange( ScDocument* pDoc, sal_uInt16 nType, const String& rName,
ScRangeName* pList = pDoc->GetRangeName();
if (pList)
{
- const ScRangeData* p = pList->findByName(rName);
+ const ScRangeData* p = pList->findByUpperName(ScGlobal::pCharClass->upper(rName));
if (p && p->IsValidReference(rRange))
bFound = true;
}
diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx
index baae08561..aede0adb5 100644
--- a/sc/source/ui/unoobj/nameuno.cxx
+++ b/sc/source/ui/unoobj/nameuno.cxx
@@ -129,7 +129,7 @@ ScRangeData* ScNamedRangeObj::GetRangeData_Impl()
ScRangeName* pNames = pDocShell->GetDocument()->GetRangeName();
if (pNames)
{
- pRet = pNames->findByName(aName);
+ pRet = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
if (pRet)
pRet->ValidateTabRefs(); // adjust relative tab refs to valid tables
}
@@ -151,7 +151,7 @@ void ScNamedRangeObj::Modify_Impl( const String* pNewName, const ScTokenArray* p
if (!pNames)
return;
- const ScRangeData* pOld = pNames->findByName(aName);
+ const ScRangeData* pOld = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
if (!pOld)
return;
@@ -563,7 +563,7 @@ void SAL_CALL ScNamedRangesObj::addNewByName( const rtl::OUString& aName,
{
ScDocument* pDoc = pDocShell->GetDocument();
ScRangeName* pNames = pDoc->GetRangeName();
- if (pNames && !pNames->findByName(aName))
+ if (pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)))
{
ScRangeName* pNewRanges = new ScRangeName( *pNames );
// GRAM_PODF_A1 for API compatibility.
@@ -624,7 +624,7 @@ void SAL_CALL ScNamedRangesObj::removeByName( const rtl::OUString& aName )
ScRangeName* pNames = pDocShell->GetDocument()->GetRangeName();
if (pNames)
{
- const ScRangeData* pData = pNames->findByName(aName);
+ const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
if (pData && lcl_UserVisibleName(*pData))
{
ScRangeName* pNewRanges = new ScRangeName(*pNames);
@@ -786,7 +786,7 @@ sal_Bool SAL_CALL ScNamedRangesObj::hasByName( const rtl::OUString& aName )
ScRangeName* pNames = pDocShell->GetDocument()->GetRangeName();
if (pNames)
{
- const ScRangeData* pData = pNames->findByName(aName);
+ const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
if (pData && lcl_UserVisibleName(*pData))
return sal_True;
}
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index a5670d793..191f62058 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -1184,7 +1184,7 @@ bool getScRangeListForAddress( const rtl::OUString& sName, ScDocShell* pDocSh, S
ScRangeName* pRangeName = pDoc->GetRangeName(nCurTab);
if (pRangeName)
{
- bLocalName = pRangeName->findByName(sAddress) != NULL;
+ bLocalName = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(sAddress)) != NULL;
// TODO: Handle local names correctly.
(void)bLocalName;
}
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 9a8587c9c..f0f05b19c 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -2937,7 +2937,7 @@ sal_Bool ScViewFunc::InsertName( const String& rName, const String& rSymbol,
pDoc->CompileNameFormula( sal_True ); // CreateFormulaString
// Eintrag bereits vorhanden? Dann vorher entfernen (=Aendern)
- ScRangeData* pData = pList->findByName(rName);
+ ScRangeData* pData = pList->findByUpperName(ScGlobal::pCharClass->upper(rName));
if (pData)
{ // alten Index uebernehmen
pNewEntry->SetIndex(pData->GetIndex());