summaryrefslogtreecommitdiff
path: root/sc/source/core/tool/rangenam.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 00:11:06 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 23:50:01 -0400
commite663dfee253fcd02d6d76c3d8934299a495a7f88 (patch)
treeba60419bc768fc613184304c2b9def8100d2d82d /sc/source/core/tool/rangenam.cxx
parent1d860f9a268c02581407db539117b2d538e3d693 (diff)
Handle named range update on sheet insertion.
Change-Id: I05b43bad84333ac8aeee7928898bdd90eed53c38
Diffstat (limited to 'sc/source/core/tool/rangenam.cxx')
-rw-r--r--sc/source/core/tool/rangenam.cxx20
1 files changed, 14 insertions, 6 deletions
diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx
index 846a208c1062..6f2beca73f97 100644
--- a/sc/source/core/tool/rangenam.cxx
+++ b/sc/source/core/tool/rangenam.cxx
@@ -273,12 +273,10 @@ void ScRangeData::UpdateSymbol( OUStringBuffer& rBuffer, const ScAddress& rPos,
void ScRangeData::UpdateReference( sc::RefUpdateContext& rCxt, SCTAB nLocalTab )
{
- OUString aStr;
- rCxt.maRange.Format(aStr, SCR_ABS_3D, pDoc);
sc::RefUpdateResult aRes = pCode->AdjustReferenceInName(rCxt, aPos);
bModified = aRes.mbReferenceModified;
if (aRes.mbReferenceModified)
- rCxt.setUpdatedName(nLocalTab, nIndex);
+ rCxt.maUpdatedNames.setUpdatedName(nLocalTab, nIndex);
}
void ScRangeData::UpdateTranspose( const ScRange& rSource, const ScAddress& rDest )
@@ -407,9 +405,6 @@ void ScRangeData::UpdateTabRef(SCTAB nOldTable, TabRefUpdateMode eMode, SCTAB nN
switch (eMode)
{
- case Insert:
- pCode->AdjustReferenceOnInsertedTab(nOldTable, nNewSheets, aPos);
- break;
case Delete:
pCode->AdjustReferenceOnDeletedTab(nOldTable, nNewSheets, aPos);
break;
@@ -423,6 +418,12 @@ void ScRangeData::UpdateTabRef(SCTAB nOldTable, TabRefUpdateMode eMode, SCTAB nN
}
}
+void ScRangeData::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt, SCTAB nLocalTab )
+{
+ sc::RefUpdateResult aRes = pCode->AdjustReferenceOnInsertedTab(rCxt, aPos);
+ if (aRes.mbReferenceModified)
+ rCxt.maUpdatedNames.setUpdatedName(nLocalTab, nIndex);
+}
void ScRangeData::MakeValidName( String& rName )
{
@@ -723,6 +724,13 @@ void ScRangeName::UpdateReference(sc::RefUpdateContext& rCxt, SCTAB nLocalTab )
itr->second->UpdateReference(rCxt, nLocalTab);
}
+void ScRangeName::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt, SCTAB nLocalTab )
+{
+ DataType::iterator itr = maData.begin(), itrEnd = maData.end();
+ for (; itr != itrEnd; ++itr)
+ itr->second->UpdateInsertTab(rCxt, nLocalTab);
+}
+
void ScRangeName::UpdateTabRef(SCTAB nTable, ScRangeData::TabRefUpdateMode eMode, SCTAB nNewTable, SCTAB nNewSheets)
{
DataType::iterator itr = maData.begin(), itrEnd = maData.end();