Kaydet (Commit) 5fbdd7bf authored tarafından Markus Mohrhard's avatar Markus Mohrhard

add local range names to ScDocFunc

üst 05d40c33
...@@ -4476,9 +4476,9 @@ bool ScDocFunc::UnmergeCells( const ScCellMergeOption& rOption, sal_Bool bRecord ...@@ -4476,9 +4476,9 @@ bool ScDocFunc::UnmergeCells( const ScCellMergeOption& rOption, sal_Bool bRecord
//------------------------------------------------------------------------ //------------------------------------------------------------------------
bool ScDocFunc::ModifyRangeNames( const ScRangeName& rNewRanges ) bool ScDocFunc::ModifyRangeNames( const ScRangeName& rNewRanges, SCTAB nTab )
{ {
return SetNewRangeNames( new ScRangeName(rNewRanges) ); return SetNewRangeNames( new ScRangeName(rNewRanges), nTab );
} }
void ScDocFunc::ModifyAllRangeNames( const ScRangeName* pGlobal, const ScRangeName::TabNameCopyMap& rTabs ) void ScDocFunc::ModifyAllRangeNames( const ScRangeName* pGlobal, const ScRangeName::TabNameCopyMap& rTabs )
...@@ -4509,7 +4509,7 @@ void ScDocFunc::ModifyAllRangeNames( const ScRangeName* pGlobal, const ScRangeNa ...@@ -4509,7 +4509,7 @@ void ScDocFunc::ModifyAllRangeNames( const ScRangeName* pGlobal, const ScRangeNa
SFX_APP()->Broadcast(SfxSimpleHint(SC_HINT_AREAS_CHANGED)); SFX_APP()->Broadcast(SfxSimpleHint(SC_HINT_AREAS_CHANGED));
} }
bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc ) // takes ownership of pNewRanges bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc, SCTAB nTab ) // takes ownership of pNewRanges
{ {
ScDocShellModificator aModificator( rDocShell ); ScDocShellModificator aModificator( rDocShell );
...@@ -4519,11 +4519,19 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc ) ...@@ -4519,11 +4519,19 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc )
if (bUndo) if (bUndo)
{ {
ScRangeName* pOld = pDoc->GetRangeName(); ScRangeName* pOld;
if (nTab >=0)
{
pOld = pDoc->GetRangeName(nTab);
}
else
{
pOld = pDoc->GetRangeName();
}
ScRangeName* pUndoRanges = new ScRangeName(*pOld); ScRangeName* pUndoRanges = new ScRangeName(*pOld);
ScRangeName* pRedoRanges = new ScRangeName(*pNewRanges); ScRangeName* pRedoRanges = new ScRangeName(*pNewRanges);
rDocShell.GetUndoManager()->AddUndoAction( rDocShell.GetUndoManager()->AddUndoAction(
new ScUndoRangeNames( &rDocShell, pUndoRanges, pRedoRanges ) ); new ScUndoRangeNames( &rDocShell, pUndoRanges, pRedoRanges, nTab ) );
} }
// #i55926# While loading XML, formula cells only have a single string token, // #i55926# While loading XML, formula cells only have a single string token,
...@@ -4533,7 +4541,10 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc ) ...@@ -4533,7 +4541,10 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc )
if ( bCompile ) if ( bCompile )
pDoc->CompileNameFormula( sal_True ); // CreateFormulaString pDoc->CompileNameFormula( sal_True ); // CreateFormulaString
pDoc->SetRangeName( pNewRanges ); // takes ownership if (nTab >= 0)
pDoc->SetRangeName( nTab, pNewRanges ); // takes ownership
else
pDoc->SetRangeName( pNewRanges ); // takes ownership
if ( bCompile ) if ( bCompile )
pDoc->CompileNameFormula( false ); // CompileFormulaString pDoc->CompileNameFormula( false ); // CompileFormulaString
......
...@@ -182,8 +182,8 @@ public: ...@@ -182,8 +182,8 @@ public:
sal_Bool UnmergeCells( const ScRange& rRange, sal_Bool bRecord, sal_Bool bApi ); sal_Bool UnmergeCells( const ScRange& rRange, sal_Bool bRecord, sal_Bool bApi );
bool UnmergeCells( const ScCellMergeOption& rOption, sal_Bool bRecord, sal_Bool bApi ); bool UnmergeCells( const ScCellMergeOption& rOption, sal_Bool bRecord, sal_Bool bApi );
bool SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc = true ); // takes ownership of pNewRanges bool SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc = true, SCTAB nTab = -1 ); // takes ownership of pNewRanges //nTab = -1 for local range names
bool ModifyRangeNames( const ScRangeName& rNewRanges ); bool ModifyRangeNames( const ScRangeName& rNewRanges, SCTAB nTab = -1 );
/** /**
* Modify all range names, global scope names as well as sheet local ones, * Modify all range names, global scope names as well as sheet local ones,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment