diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-07-30 00:11:06 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-07-30 23:50:01 -0400 |
commit | e663dfee253fcd02d6d76c3d8934299a495a7f88 (patch) | |
tree | ba60419bc768fc613184304c2b9def8100d2d82d /sc/source/core/tool/rangenam.cxx | |
parent | 1d860f9a268c02581407db539117b2d538e3d693 (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.cxx | 20 |
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(); |