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
//------------------------------------------------------------------------
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 )
......@@ -4509,7 +4509,7 @@ void ScDocFunc::ModifyAllRangeNames( const ScRangeName* pGlobal, const ScRangeNa
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 );
......@@ -4519,11 +4519,19 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc )
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* pRedoRanges = new ScRangeName(*pNewRanges);
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,
......@@ -4533,7 +4541,10 @@ bool ScDocFunc::SetNewRangeNames( ScRangeName* pNewRanges, bool bModifyDoc )
if ( bCompile )
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 )
pDoc->CompileNameFormula( false ); // CompileFormulaString
......
......@@ -182,8 +182,8 @@ public:
sal_Bool UnmergeCells( const ScRange& rRange, 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 ModifyRangeNames( const ScRangeName& rNewRanges );
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, SCTAB nTab = -1 );
/**
* 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