diff options
-rw-r--r-- | sc/qa/unit/ucalc.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/Accessibility/AccessibleCellBase.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/app/inputwin.cxx | 3 | ||||
-rw-r--r-- | sc/source/ui/inc/viewdata.hxx | 2 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/optsolver.cxx | 8 | ||||
-rw-r--r-- | sc/source/ui/namedlg/namedlg.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/undo/undoblk.cxx | 3 | ||||
-rw-r--r-- | sc/source/ui/unoobj/cellsuno.cxx | 196 | ||||
-rw-r--r-- | sc/source/ui/unoobj/docuno.cxx | 94 | ||||
-rw-r--r-- | sc/source/ui/unoobj/linkuno.cxx | 13 | ||||
-rw-r--r-- | sc/source/ui/unoobj/nameuno.cxx | 19 | ||||
-rw-r--r-- | sc/source/ui/unoobj/textuno.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/vba/vbarange.cxx | 18 | ||||
-rw-r--r-- | sc/source/ui/view/cellsh1.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/view/preview.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwshf.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/view/viewdata.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/view/viewfunc.cxx | 16 |
18 files changed, 156 insertions, 256 deletions
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index 6a926287f025..245215c723a3 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -3899,13 +3899,12 @@ void Test::testMergedCells() SCROW nEndRow = 1; m_pDoc->ExtendMerge( 1, 1, nEndCol, nEndRow, 0, false); CPPUNIT_ASSERT_MESSAGE("did not merge cells", nEndCol == 3 && nEndRow == 3); - ScDocFunc aDocFunc(*m_xDocShRef); ScRange aRange(0,2,0,MAXCOL,2,0); ScMarkData aMark; aMark.SetMarkArea(aRange); m_pDoc->SetInTest(); - aDocFunc.InsertCells(aRange, &aMark, INS_INSROWS, true, true); - m_pDoc->ExtendMerge( 1, 1, nEndCol, nEndRow, 0, false); + m_xDocShRef->GetDocFunc().InsertCells(aRange, &aMark, INS_INSROWS, true, true); + m_pDoc->ExtendMerge(1, 1, nEndCol, nEndRow, 0, false); cout << nEndRow << nEndCol; CPPUNIT_ASSERT_MESSAGE("did not increase merge area", nEndCol == 3 && nEndRow == 4); m_pDoc->DeleteTab(0); diff --git a/sc/source/ui/Accessibility/AccessibleCellBase.cxx b/sc/source/ui/Accessibility/AccessibleCellBase.cxx index 37b92e811c59..01660ff0a4fa 100644 --- a/sc/source/ui/Accessibility/AccessibleCellBase.cxx +++ b/sc/source/ui/Accessibility/AccessibleCellBase.cxx @@ -34,6 +34,7 @@ #include "miscuno.hxx" #include "document.hxx" #include "docfunc.hxx" +#include "docsh.hxx" #include "cell.hxx" #include "scresid.hxx" #include "sc.hrc" @@ -269,8 +270,7 @@ sal_Bool SAL_CALL if (IsEditable(xParentStates)) { ScDocShell* pDocShell = (ScDocShell*) mpDoc->GetDocumentShell(); - ScDocFunc aFunc(*pDocShell); - bResult = aFunc.PutCell( maCellAddress, new ScValueCell(fValue), sal_True ); + bResult = pDocShell->GetDocFunc().PutCell( maCellAddress, new ScValueCell(fValue), sal_True ); } } return bResult; diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index c60b6ff187aa..f0fb7a8bf2b6 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -2397,8 +2397,7 @@ void ScPosWnd::DoEnter() ScRangeData* pNew = new ScRangeData( pDoc, aText, aContent, aCursor ); if ( aNewRanges.insert(pNew) ) { - ScDocFunc aFunc(*pDocShell); - aFunc.ModifyRangeNames( aNewRanges ); + pDocShell->GetDocFunc().ModifyRangeNames( aNewRanges ); pViewSh->UpdateInputHandler(true); } } diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx index f2ba7d536b0e..6ae8da2f8e23 100644 --- a/sc/source/ui/inc/viewdata.hxx +++ b/sc/source/ui/inc/viewdata.hxx @@ -94,6 +94,7 @@ enum ScPasteFlags SC_PASTE_BORDER = 2, // Show a border around the source cells }; +class ScDocFunc; class ScDocShell; class ScDocument; class ScDBFunc; @@ -246,6 +247,7 @@ public: void InitData( ScDocument* pDocument ); ScDocShell* GetDocShell() const { return pDocShell; } + ScDocFunc& GetDocFunc() const; ScDBFunc* GetView() const { return pView; } ScTabViewShell* GetViewShell() const { return pViewShell; } diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index fb34d8584107..d81881d202ed 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -1026,12 +1026,12 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal if ( aSolution.getLength() == nVarCount ) { mpDocShell->LockPaint(); - ScDocFunc aFunc(*mpDocShell); + ScDocFunc &rFunc = mpDocShell->GetDocFunc(); for (nVarPos=0; nVarPos<nVarCount; ++nVarPos) { ScAddress aCellPos; ScUnoConversion::FillScAddress( aCellPos, aVariables[nVarPos] ); - aFunc.PutCell( aCellPos, new ScValueCell( aSolution[nVarPos] ), sal_True ); + rFunc.PutCell( aCellPos, new ScValueCell( aSolution[nVarPos] ), sal_True ); } mpDocShell->UnlockPaint(); } @@ -1061,12 +1061,12 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal if ( bRestore ) // restore old values { mpDocShell->LockPaint(); - ScDocFunc aFunc(*mpDocShell); + ScDocFunc &rFunc = mpDocShell->GetDocFunc(); for (nVarPos=0; nVarPos<nVarCount; ++nVarPos) { ScAddress aCellPos; ScUnoConversion::FillScAddress( aCellPos, aVariables[nVarPos] ); - aFunc.PutCell( aCellPos, new ScValueCell( aOldValues[nVarPos] ), sal_True ); + rFunc.PutCell( aCellPos, new ScValueCell( aOldValues[nVarPos] ), sal_True ); } mpDocShell->UnlockPaint(); } diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx index 72d95ba88cff..40cf4fd9fe5d 100644 --- a/sc/source/ui/namedlg/namedlg.cxx +++ b/sc/source/ui/namedlg/namedlg.cxx @@ -212,10 +212,7 @@ void ScNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP ) sal_Bool ScNameDlg::Close() { if (mbDataChanged && !mbCloseWithoutUndo) - { - ScDocFunc aFunc(*mpViewData->GetDocShell()); - aFunc.ModifyAllRangeNames(maRangeMap); - } + mpViewData->GetDocFunc().ModifyAllRangeNames(maRangeMap); return DoClose( ScNameDlgWrapper::GetChildWindowId() ); } diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index 2cd5a49167c5..67a36c09827c 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -1983,8 +1983,7 @@ void ScUndoClearItems::Repeat(SfxRepeatTarget& rTarget) if (rTarget.ISA(ScTabViewTarget)) { ScViewData* pViewData = ((ScTabViewTarget&)rTarget).GetViewShell()->GetViewData(); - ScDocFunc aFunc(*pViewData->GetDocShell()); - aFunc.ClearItems( pViewData->GetMarkData(), pWhich, false ); + pViewData->GetDocFunc().ClearItems( pViewData->GetMarkData(), pWhich, false ); } } diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index c82e56afe8f6..71363d84cb1c 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -1313,8 +1313,6 @@ sal_Bool lcl_PutFormulaArray( ScDocShell& rDocShell, const ScRange& rRange, pDoc->DeleteAreaTab( nStartCol, nStartRow, nEndCol, nEndRow, nTab, IDF_CONTENTS ); - ScDocFunc aFunc( rDocShell ); // for InterpretEnglishString - sal_Bool bError = false; SCROW nDocRow = nStartRow; for (long nRow=0; nRow<nRows; nRow++) @@ -1328,7 +1326,8 @@ sal_Bool lcl_PutFormulaArray( ScDocShell& rDocShell, const ScRange& rRange, { String aText(pColArr[nCol]); ScAddress aPos( nDocCol, nDocRow, nTab ); - ScBaseCell* pNewCell = aFunc.InterpretEnglishString( aPos, aText, rFormulaNmsp, eGrammar ); + ScBaseCell* pNewCell = rDocShell.GetDocFunc().InterpretEnglishString( + aPos, aText, rFormulaNmsp, eGrammar ); pDoc->PutCell( aPos, pNewCell ); ++nDocCol; @@ -1869,8 +1868,7 @@ void SAL_CALL ScCellRangesBase::clearContents( sal_Int32 nContentFlags ) throw(u if ( ( nContentFlags & IDF_EDITATTR ) && ( nContentFlags & IDF_CONTENTS ) == 0 ) nDelFlags |= IDF_EDITATTR; - ScDocFunc aFunc(*pDocShell); - aFunc.DeleteContents( *GetMarkData(), nDelFlags, sal_True, sal_True ); + pDocShell->GetDocFunc().DeleteContents( *GetMarkData(), nDelFlags, sal_True, sal_True ); } // sonst ist nichts zu tun } @@ -2009,23 +2007,20 @@ void SAL_CALL ScCellRangesBase::setPropertyToDefault( const rtl::OUString& aProp { if ( !aRanges.empty() ) // leer = nichts zu tun { - ScDocFunc aFunc(*pDocShell); - //! Bei Items, die mehrere Properties enthalten (z.B. Hintergrund) //! wird hier zuviel zurueckgesetzt - -// //! for ATTR_ROTATE_VALUE, also reset ATTR_ORIENTATION? + //! for ATTR_ROTATE_VALUE, also reset ATTR_ORIENTATION? sal_uInt16 aWIDs[3]; aWIDs[0] = nItemWhich; if ( nItemWhich == ATTR_VALUE_FORMAT ) { - aWIDs[1] = ATTR_LANGUAGE_FORMAT; // language for number formats + aWIDs[1] = ATTR_LANGUAGE_FORMAT; // language for number formats aWIDs[2] = 0; } else aWIDs[1] = 0; - aFunc.ClearItems( *GetMarkData(), aWIDs, sal_True ); + pDocShell->GetDocFunc().ClearItems( *GetMarkData(), aWIDs, sal_True ); } } else if ( pEntry ) @@ -2036,8 +2031,8 @@ void SAL_CALL ScCellRangesBase::setPropertyToDefault( const rtl::OUString& aProp bChartRowAsHdr = false; else if ( pEntry->nWID == SC_WID_UNO_CELLSTYL ) { - ScDocFunc aFunc(*pDocShell); - aFunc.ApplyStyle( *GetMarkData(), ScGlobal::GetRscString(STR_STYLENAME_STANDARD), sal_True, sal_True ); + String aStyleName( ScGlobal::GetRscString( STR_STYLENAME_STANDARD ) ); + pDocShell->GetDocFunc().ApplyStyle( *GetMarkData(), aStyleName, sal_True, sal_True ); } } } @@ -2299,7 +2294,6 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE if ( !aRanges.empty() ) // leer = nichts zu tun { ScDocument* pDoc = pDocShell->GetDocument(); - ScDocFunc aFunc(*pDocShell); // Fuer Teile von zusammengesetzten Items mit mehreren Properties (z.B. Hintergrund) // muss vorher das alte Item aus dem Dokument geholt werden @@ -2319,7 +2313,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE if ( nWhich != nFirstItem && nWhich != nSecondItem ) rSet.ClearItem(nWhich); - aFunc.ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); + pDocShell->GetDocFunc().ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); } } else // implemented here @@ -2372,8 +2366,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE aValue >>= aStrVal; String aString(ScStyleNameConversion::ProgrammaticToDisplayName( aStrVal, SFX_STYLE_FAMILY_PARA )); - ScDocFunc aFunc(*pDocShell); - aFunc.ApplyStyle( *GetMarkData(), aString, sal_True, sal_True ); + pDocShell->GetDocFunc().ApplyStyle( *GetMarkData(), aString, sal_True, sal_True ); } break; case SC_WID_UNO_TBLBORD: @@ -2426,11 +2419,9 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE aNew.AddRangeInfo( pRanges ); sal_uLong nIndex = pDoc->AddCondFormat( aNew ); - ScDocFunc aFunc(*pDocShell); - ScPatternAttr aPattern( pDoc->GetPool() ); aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_CONDITIONAL, nIndex ) ); - aFunc.ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); + pDocShell->GetDocFunc().ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); } } } @@ -2458,11 +2449,9 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE sal_uLong nIndex = pDoc->AddValidationEntry( *pNewData ); delete pNewData; - ScDocFunc aFunc(*pDocShell); - ScPatternAttr aPattern( pDoc->GetPool() ); aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_VALIDDATA, nIndex ) ); - aFunc.ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); + pDocShell->GetDocFunc().ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); } } } @@ -2759,10 +2748,7 @@ void SAL_CALL ScCellRangesBase::setPropertyValues( const uno::Sequence< rtl::OUS } if ( pNewPattern && !aRanges.empty() ) - { - ScDocFunc aFunc(*pDocShell); - aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, sal_True, sal_True ); - } + pDocShell->GetDocFunc().ApplyAttributes( *GetMarkData(), *pNewPattern, sal_True, sal_True ); delete pNewPattern; delete pOldPattern; @@ -2934,10 +2920,7 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL ScCellRangesBase::set } if ( pNewPattern && !aRanges.empty() ) - { - ScDocFunc aFunc(*pDocShell); - aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, sal_True, sal_True ); - } + pDocShell->GetDocFunc().ApplyAttributes( *GetMarkData(), *pNewPattern, sal_True, sal_True ); delete pNewPattern; delete pOldPattern; @@ -3025,11 +3008,10 @@ void SAL_CALL ScCellRangesBase::decrementIndent() throw(::com::sun::star::uno::R SolarMutexGuard aGuard; if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun { - ScDocFunc aFunc(*pDocShell); //#97041#; put only MultiMarked ScMarkData in ChangeIndent ScMarkData aMarkData(*GetMarkData()); aMarkData.MarkToMulti(); - aFunc.ChangeIndent( aMarkData, false, sal_True ); + pDocShell->GetDocFunc().ChangeIndent( aMarkData, false, sal_True ); } } @@ -3038,11 +3020,10 @@ void SAL_CALL ScCellRangesBase::incrementIndent() throw(::com::sun::star::uno::R SolarMutexGuard aGuard; if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun { - ScDocFunc aFunc(*pDocShell); //#97041#; put only MultiMarked ScMarkData in ChangeIndent ScMarkData aMarkData(*GetMarkData()); aMarkData.MarkToMulti(); - aFunc.ChangeIndent( aMarkData, sal_True, sal_True ); + pDocShell->GetDocFunc().ChangeIndent( aMarkData, sal_True, sal_True ); } } @@ -5157,7 +5138,6 @@ void ScCellRangeObj::SetArrayFormula_Impl( const rtl::OUString& rFormula, ScDocShell* pDocSh = GetDocShell(); if (pDocSh) { - ScDocFunc aFunc(*pDocSh); if ( !rFormula.isEmpty() ) { if ( ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this ) ) @@ -5166,7 +5146,7 @@ void ScCellRangeObj::SetArrayFormula_Impl( const rtl::OUString& rFormula, throw uno::RuntimeException(); } - aFunc.EnterMatrix( aRange, NULL, NULL, rFormula, sal_True, sal_True, rFormulaNmsp, eGrammar ); + pDocSh->GetDocFunc().EnterMatrix( aRange, NULL, NULL, rFormula, sal_True, sal_True, rFormulaNmsp, eGrammar ); } else { @@ -5174,7 +5154,7 @@ void ScCellRangeObj::SetArrayFormula_Impl( const rtl::OUString& rFormula, ScMarkData aMark; aMark.SetMarkArea( aRange ); aMark.SelectTable( aRange.aStart.Tab(), sal_True ); - aFunc.DeleteContents( aMark, IDF_CONTENTS, sal_True, sal_True ); + pDocSh->GetDocFunc().DeleteContents( aMark, IDF_CONTENTS, sal_True, sal_True ); } } } @@ -5236,7 +5216,6 @@ void SAL_CALL ScCellRangeObj::setArrayTokens( const uno::Sequence<sheet::Formula ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { - ScDocFunc aFunc(*pDocSh); if ( rTokens.getLength() ) { if ( ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this ) ) @@ -5251,7 +5230,7 @@ void SAL_CALL ScCellRangeObj::setArrayTokens( const uno::Sequence<sheet::Formula // Actually GRAM_PODF_A1 is a don't-care here because of the token // array being set, it fits with other API compatibility grammars // though. - aFunc.EnterMatrix( aRange, NULL, &aTokenArray, EMPTY_STRING, sal_True, sal_True, EMPTY_STRING, formula::FormulaGrammar::GRAM_PODF_A1 ); + pDocSh->GetDocFunc().EnterMatrix( aRange, NULL, &aTokenArray, EMPTY_STRING, sal_True, sal_True, EMPTY_STRING, formula::FormulaGrammar::GRAM_PODF_A1 ); } else { @@ -5259,7 +5238,7 @@ void SAL_CALL ScCellRangeObj::setArrayTokens( const uno::Sequence<sheet::Formula ScMarkData aMark; aMark.SetMarkArea( aRange ); aMark.SelectTable( aRange.aStart.Tab(), sal_True ); - aFunc.DeleteContents( aMark, IDF_CONTENTS, sal_True, sal_True ); + pDocSh->GetDocFunc().DeleteContents( aMark, IDF_CONTENTS, sal_True, sal_True ); } } } @@ -5416,10 +5395,7 @@ void SAL_CALL ScCellRangeObj::setTableOperation( const table::CellRangeAddress& } if (!bError) - { - ScDocFunc aFunc(*pDocSh); - aFunc.TabOp( aRange, NULL, aParam, sal_True, sal_True ); - } + pDocSh->GetDocFunc().TabOp( aRange, NULL, aParam, sal_True, sal_True ); } } @@ -5431,15 +5407,14 @@ void SAL_CALL ScCellRangeObj::merge( sal_Bool bMerge ) throw(uno::RuntimeExcepti ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { - ScDocFunc aFunc(*pDocSh); ScCellMergeOption aMergeOption( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row(), false); aMergeOption.maTabs.insert(aRange.aStart.Tab()); if ( bMerge ) - aFunc.MergeCells( aMergeOption, false, true, true ); + pDocSh->GetDocFunc().MergeCells( aMergeOption, false, true, true ); else - aFunc.UnmergeCells( aMergeOption, true, true ); + pDocSh->GetDocFunc().UnmergeCells( aMergeOption, true, true ); //! Fehler abfangen? } @@ -5525,11 +5500,8 @@ void SAL_CALL ScCellRangeObj::fillSeries( sheet::FillDirection nFillDirection, } if (!bError) - { - ScDocFunc aFunc(*pDocSh); - aFunc.FillSeries( aRange, NULL, eDir, eCmd, eDateCmd, - MAXDOUBLE, fStep, fEndValue, sal_True, sal_True ); - } + pDocSh->GetDocFunc().FillSeries( aRange, NULL, eDir, eCmd, eDateCmd, + MAXDOUBLE, fStep, fEndValue, sal_True, sal_True ); } } @@ -5573,10 +5545,7 @@ void SAL_CALL ScCellRangeObj::fillAuto( sheet::FillDirection nFillDirection, bError = sal_True; if (!bError) - { - ScDocFunc aFunc(*pDocSh); - aFunc.FillAuto( aSourceRange, NULL, eDir, nCount, sal_True, sal_True ); - } + pDocSh->GetDocFunc().FillAuto( aSourceRange, NULL, eDir, nCount, sal_True, sal_True ); } } @@ -5595,8 +5564,7 @@ void SAL_CALL ScCellRangeObj::autoFormat( const rtl::OUString& aName ) { ScAutoFormat::const_iterator itBeg = pAutoFormat->begin(); size_t nIndex = std::distance(itBeg, it); - ScDocFunc aFunc(*pDocSh); - aFunc.AutoFormat(aRange, NULL, nIndex, true, true); + pDocSh->GetDocFunc().AutoFormat(aRange, NULL, nIndex, true, true); } else throw lang::IllegalArgumentException(); @@ -5676,7 +5644,7 @@ void SAL_CALL ScCellRangeObj::sort( const uno::Sequence<beans::PropertyValue>& a pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen - ScDBDocFunc aFunc(*pDocSh); // Bereich muss angelegt sein + ScDBDocFunc aFunc(*pDocSh); // Bereich muss angelegt sein aFunc.Sort( nTab, aParam, sal_True, sal_True, sal_True ); } } @@ -6306,9 +6274,9 @@ void ScCellObj::SetString_Impl(const String& rString, sal_Bool bInterpret, sal_B ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) { - ScDocFunc aFunc(*pDocSh); // GRAM_PODF_A1 for API compatibility. - (void)aFunc.SetCellText( aCellPos, rString, bInterpret, bEnglish, sal_True, EMPTY_STRING, formula::FormulaGrammar::GRAM_PODF_A1 ); + (void)pDocSh->GetDocFunc().SetCellText( aCellPos, rString, bInterpret, bEnglish, + sal_True, EMPTY_STRING, formula::FormulaGrammar::GRAM_PODF_A1 ); } } @@ -6325,10 +6293,7 @@ void ScCellObj::SetValue_Impl(double fValue) { ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) - { - ScDocFunc aFunc(*pDocSh); - (void)aFunc.PutCell( aCellPos, new ScValueCell(fValue), sal_True ); - } + (void)pDocSh->GetDocFunc().PutCell( aCellPos, new ScValueCell(fValue), sal_True ); } // only for XML import @@ -6352,9 +6317,9 @@ void ScCellObj::InputEnglishString( const ::rtl::OUString& rText ) } else { - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); short nFormatType = 0; - ScBaseCell* pNewCell = aFunc.InterpretEnglishString( aCellPos, aString, + ScBaseCell* pNewCell = rFunc.InterpretEnglishString( aCellPos, aString, EMPTY_STRING, formula::FormulaGrammar::GRAM_PODF_A1, &nFormatType ); if (pNewCell) { @@ -6367,12 +6332,12 @@ void ScCellObj::InputEnglishString( const ::rtl::OUString& rText ) ScPatternAttr aPattern( pDoc->GetPool() ); aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_VALUE_FORMAT, nNewFormat ) ); // ATTR_LANGUAGE_FORMAT remains unchanged - aFunc.ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); + rFunc.ApplyAttributes( *GetMarkData(), aPattern, sal_True, sal_True ); } } // put the cell into the document // (after applying the format, so possible formula recalculation already uses the new format) - (void)aFunc.PutCell( aCellPos, pNewCell, sal_True ); + (void)rFunc.PutCell( aCellPos, pNewCell, sal_True ); } else SetString_Impl(aString, false, false); // no cell from InterpretEnglishString, probably empty string @@ -6586,10 +6551,9 @@ void SAL_CALL ScCellObj::setFormulaString( const rtl::OUString& aFormula) throw( ScDocShell *pDocSh = GetDocShell(); if( pDocSh ) { - ScDocFunc aFunc( *pDocSh ); ScFormulaCell* pCell = new ScFormulaCell( pDocSh->GetDocument(), aCellPos ); pCell->SetHybridFormula( aFormula, formula::FormulaGrammar::GRAM_NATIVE ); - aFunc.PutCell( aCellPos, pCell, sal_True ); + pDocSh->GetDocFunc().PutCell( aCellPos, pCell, sal_True ); } } void SAL_CALL ScCellObj::setFormulaResult( double nValue ) throw(uno::RuntimeException) @@ -6703,9 +6667,8 @@ void SAL_CALL ScCellObj::setTokens( const uno::Sequence<sheet::FormulaToken>& rT ScTokenArray aTokenArray; (void)ScTokenConversion::ConvertToTokenArray( *pDoc, aTokenArray, rTokens ); - ScDocFunc aFunc( *pDocSh ); ScBaseCell* pNewCell = new ScFormulaCell( pDoc, aCellPos, &aTokenArray ); - (void)aFunc.PutCell( aCellPos, pNewCell, sal_True ); + (void)pDocSh->GetDocFunc().PutCell( aCellPos, pNewCell, sal_True ); } } @@ -7284,8 +7247,7 @@ void SAL_CALL ScTableSheetObj::setName( const rtl::OUString& aNewName ) if ( pDocSh ) { String aString(aNewName); - ScDocFunc aFunc( *pDocSh ); - aFunc.RenameTable( GetTab_Impl(), aString, sal_True, sal_True ); + pDocSh->GetDocFunc().RenameTable( GetTab_Impl(), aString, sal_True, sal_True ); } } @@ -7341,8 +7303,7 @@ void SAL_CALL ScTableSheetObj::insertCells( const table::CellRangeAddress& rRang OSL_ENSURE( rRangeAddress.Sheet == GetTab_Impl(), "falsche Tabelle in CellRangeAddress" ); ScRange aScRange; ScUnoConversion::FillScRange( aScRange, rRangeAddress ); - ScDocFunc aFunc(*pDocSh); - aFunc.InsertCells( aScRange, NULL, eCmd, sal_True, sal_True ); + pDocSh->GetDocFunc().InsertCells( aScRange, NULL, eCmd, sal_True, sal_True ); } } } @@ -7373,8 +7334,7 @@ void SAL_CALL ScTableSheetObj::removeRange( const table::CellRangeAddress& rRang OSL_ENSURE( rRangeAddress.Sheet == GetTab_Impl(), "falsche Tabelle in CellRangeAddress" ); ScRange aScRange; ScUnoConversion::FillScRange( aScRange, rRangeAddress ); - ScDocFunc aFunc(*pDocSh); - aFunc.DeleteCells( aScRange, NULL, eCmd, sal_True, sal_True ); + pDocSh->GetDocFunc().DeleteCells( aScRange, NULL, eCmd, sal_True, sal_True ); } } } @@ -7391,8 +7351,7 @@ void SAL_CALL ScTableSheetObj::moveRange( const table::CellAddress& aDestination ScRange aSourceRange; ScUnoConversion::FillScRange( aSourceRange, aSource ); ScAddress aDestPos( (SCCOL)aDestination.Column, (SCROW)aDestination.Row, aDestination.Sheet ); - ScDocFunc aFunc(*pDocSh); - aFunc.MoveBlock( aSourceRange, aDestPos, sal_True, sal_True, sal_True, sal_True ); + pDocSh->GetDocFunc().MoveBlock( aSourceRange, aDestPos, sal_True, sal_True, sal_True, sal_True ); } } @@ -7408,8 +7367,7 @@ void SAL_CALL ScTableSheetObj::copyRange( const table::CellAddress& aDestination ScRange aSourceRange; ScUnoConversion::FillScRange( aSourceRange, aSource ); ScAddress aDestPos( (SCCOL)aDestination.Column, (SCROW)aDestination.Row, aDestination.Sheet ); - ScDocFunc aFunc(*pDocSh); - aFunc.MoveBlock( aSourceRange, aDestPos, false, sal_True, sal_True, sal_True ); + pDocSh->GetDocFunc().MoveBlock( aSourceRange, aDestPos, false, sal_True, sal_True, sal_True ); } } @@ -7824,8 +7782,7 @@ sal_Bool SAL_CALL ScTableSheetObj::hideDependents( const table::CellAddress& aPo SCTAB nTab = GetTab_Impl(); OSL_ENSURE( aPosition.Sheet == nTab, "falsche Tabelle in CellAddress" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveDelSucc( aPos ); + return pDocSh->GetDocFunc().DetectiveDelSucc( aPos ); } return false; } @@ -7840,8 +7797,7 @@ sal_Bool SAL_CALL ScTableSheetObj::hidePrecedents( const table::CellAddress& aPo SCTAB nTab = GetTab_Impl(); OSL_ENSURE( aPosition.Sheet == nTab, "falsche Tabelle in CellAddress" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveDelPred( aPos ); + return pDocSh->GetDocFunc().DetectiveDelPred( aPos ); } return false; } @@ -7856,8 +7812,7 @@ sal_Bool SAL_CALL ScTableSheetObj::showDependents( const table::CellAddress& aPo SCTAB nTab = GetTab_Impl(); OSL_ENSURE( aPosition.Sheet == nTab, "falsche Tabelle in CellAddress" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveAddSucc( aPos ); + return pDocSh->GetDocFunc().DetectiveAddSucc( aPos ); } return false; } @@ -7872,8 +7827,7 @@ sal_Bool SAL_CALL ScTableSheetObj::showPrecedents( const table::CellAddress& aPo SCTAB nTab = GetTab_Impl(); OSL_ENSURE( aPosition.Sheet == nTab, "falsche Tabelle in CellAddress" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveAddPred( aPos ); + return pDocSh->GetDocFunc().DetectiveAddPred( aPos ); } return false; } @@ -7888,8 +7842,7 @@ sal_Bool SAL_CALL ScTableSheetObj::showErrors( const table::CellAddress& aPositi SCTAB nTab = GetTab_Impl(); OSL_ENSURE( aPosition.Sheet == nTab, "falsche Tabelle in CellAddress" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveAddError( aPos ); + return pDocSh->GetDocFunc().DetectiveAddError( aPos ); } return false; } @@ -7899,10 +7852,7 @@ sal_Bool SAL_CALL ScTableSheetObj::showInvalid() throw(uno::RuntimeException) SolarMutexGuard aGuard; ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) - { - ScDocFunc aFunc(*pDocSh); - return aFunc.DetectiveMarkInvalid( GetTab_Impl() ); - } + return pDocSh->GetDocFunc().DetectiveMarkInvalid( GetTab_Impl() ); return false; } @@ -7911,10 +7861,7 @@ void SAL_CALL ScTableSheetObj::clearArrows() throw(uno::RuntimeException) SolarMutexGuard aGuard; ScDocShell* pDocSh = GetDocShell(); if ( pDocSh ) - { - ScDocFunc aFunc(*pDocSh); - aFunc.DetectiveDelAll( GetTab_Impl() ); - } + pDocSh->GetDocFunc().DetectiveDelAll( GetTab_Impl() ); } // XSheetOutline @@ -8030,8 +7977,7 @@ void SAL_CALL ScTableSheetObj::protect( const rtl::OUString& aPassword ) if ( pDocSh && !pDocSh->GetDocument()->IsTabProtected( GetTab_Impl() ) ) { String aString(aPassword); - ScDocFunc aFunc(*pDocSh); - aFunc.Protect( GetTab_Impl(), aString, sal_True ); + pDocSh->GetDocFunc().Protect( GetTab_Impl(), aString, sal_True ); } } @@ -8043,8 +7989,7 @@ void SAL_CALL ScTableSheetObj::unprotect( const rtl::OUString& aPassword ) if ( pDocSh ) { String aString(aPassword); - ScDocFunc aFunc(*pDocSh); - sal_Bool bDone = aFunc.Unprotect( GetTab_Impl(), aString, sal_True ); + sal_Bool bDone = pDocSh->GetDocFunc().Unprotect( GetTab_Impl(), aString, sal_True ); if (!bDone) throw lang::IllegalArgumentException(); } @@ -8144,8 +8089,7 @@ void SAL_CALL ScTableSheetObj::addRanges( const uno::Sequence<table::CellRangeAd ScPatternAttr aPattern( pDoc->GetPool() ); aPattern.GetItemSet().Put( ScMergeFlagAttr( SC_MF_SCENARIO ) ); aPattern.GetItemSet().Put( ScProtectionAttr( sal_True ) ); - ScDocFunc aFunc(*pDocSh); - aFunc.ApplyAttributes( aMarkData, aPattern, sal_True, sal_True ); + pDocSh->GetDocFunc().ApplyAttributes( aMarkData, aPattern, sal_True, sal_True ); } } } @@ -8270,7 +8214,7 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn return; //! Exception oder so? ScDocument* pDoc = pDocSh->GetDocument(); SCTAB nTab = GetTab_Impl(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); if ( pEntry->nWID == SC_WID_UNO_PAGESTL ) { @@ -8304,7 +8248,7 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn else if ( pEntry->nWID == SC_WID_UNO_CELLVIS ) { sal_Bool bVis = ScUnoHelpFunctions::GetBoolFromAny( aValue ); - aFunc.SetTableVisible( nTab, bVis, sal_True ); + rFunc.SetTableVisible( nTab, bVis, sal_True ); } else if ( pEntry->nWID == SC_WID_UNO_ISACTIVE ) { @@ -8535,9 +8479,9 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn if (aValue >>= nValue) { if (nValue == com::sun::star::text::WritingMode2::RL_TB) - aFunc.SetLayoutRTL(nTab, sal_True, sal_True); + rFunc.SetLayoutRTL(nTab, sal_True, sal_True); else - aFunc.SetLayoutRTL(nTab, false, sal_True); + rFunc.SetLayoutRTL(nTab, false, sal_True); } } else if ( pEntry->nWID == SC_WID_UNO_AUTOPRINT ) @@ -8559,7 +8503,7 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn const Color aColor(static_cast<ColorData>(nColor)); if (aColor != pDoc->GetTabBgColor(nTab)) { - aFunc.SetTabBgColor(nTab, aColor, true, true); + rFunc.SetTabBgColor(nTab, aColor, true, true); } } } @@ -8913,7 +8857,7 @@ void ScTableColumnObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE OSL_ENSURE(rRange.aStart.Col() == rRange.aEnd.Col(), "zuviele Spalten"); SCCOL nCol = rRange.aStart.Col(); SCTAB nTab = rRange.aStart.Tab(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); SCCOLROW nColArr[2]; nColArr[0] = nColArr[1] = nCol; @@ -8925,7 +8869,7 @@ void ScTableColumnObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE { // property is 1/100mm, column width is twips nNewWidth = HMMToTwips(nNewWidth); - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_ORIGINAL, + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_ORIGINAL, (sal_uInt16)nNewWidth, sal_True, sal_True ); } } @@ -8933,14 +8877,14 @@ void ScTableColumnObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE { sal_Bool bVis = ScUnoHelpFunctions::GetBoolFromAny( aValue ); ScSizeMode eMode = bVis ? SC_SIZE_SHOW : SC_SIZE_DIRECT; - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, eMode, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, eMode, 0, sal_True, sal_True ); // SC_SIZE_DIRECT mit Groesse 0 blendet aus } else if ( pEntry->nWID == SC_WID_UNO_OWIDTH ) { sal_Bool bOpt = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bOpt) - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_OPTIMAL, STD_EXTRA_WIDTH, sal_True, sal_True ); // sal_False bei Spalten momentan ohne Auswirkung } @@ -8948,9 +8892,9 @@ void ScTableColumnObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE { sal_Bool bSet = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bSet) - aFunc.InsertPageBreak( sal_True, rRange.aStart, sal_True, sal_True, sal_True ); + rFunc.InsertPageBreak( sal_True, rRange.aStart, sal_True, sal_True, sal_True ); else - aFunc.RemovePageBreak( sal_True, rRange.aStart, sal_True, sal_True, sal_True ); + rFunc.RemovePageBreak( sal_True, rRange.aStart, sal_True, sal_True, sal_True ); } else ScCellRangeObj::SetOnePropertyValue(pEntry, aValue); // base class, no Item WID @@ -9057,7 +9001,7 @@ void ScTableRowObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntr OSL_ENSURE(rRange.aStart.Row() == rRange.aEnd.Row(), "zuviele Zeilen"); SCROW nRow = rRange.aStart.Row(); SCTAB nTab = rRange.aStart.Tab(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); SCCOLROW nRowArr[2]; nRowArr[0] = nRowArr[1] = nRow; @@ -9069,7 +9013,7 @@ void ScTableRowObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntr { // property is 1/100mm, row height is twips nNewHeight = HMMToTwips(nNewHeight); - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, (sal_uInt16)nNewHeight, sal_True, sal_True ); } } @@ -9077,7 +9021,7 @@ void ScTableRowObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntr { sal_Bool bVis = ScUnoHelpFunctions::GetBoolFromAny( aValue ); ScSizeMode eMode = bVis ? SC_SIZE_SHOW : SC_SIZE_DIRECT; - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, eMode, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, eMode, 0, sal_True, sal_True ); // SC_SIZE_DIRECT mit Groesse 0 blendet aus } else if ( pEntry->nWID == SC_WID_UNO_CELLFILT ) @@ -9090,21 +9034,21 @@ void ScTableRowObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntr { sal_Bool bOpt = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bOpt) - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_OPTIMAL, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_OPTIMAL, 0, sal_True, sal_True ); else { // set current height again manually sal_uInt16 nHeight = pDoc->GetOriginalHeight( nRow, nTab ); - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, nHeight, sal_True, sal_True ); + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, nHeight, sal_True, sal_True ); } } else if ( pEntry->nWID == SC_WID_UNO_NEWPAGE || pEntry->nWID == SC_WID_UNO_MANPAGE ) { sal_Bool bSet = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bSet) - aFunc.InsertPageBreak( false, rRange.aStart, sal_True, sal_True, sal_True ); + rFunc.InsertPageBreak( false, rRange.aStart, sal_True, sal_True, sal_True ); else - aFunc.RemovePageBreak( false, rRange.aStart, sal_True, sal_True, sal_True ); + rFunc.RemovePageBreak( false, rRange.aStart, sal_True, sal_True, sal_True ); } else ScCellRangeObj::SetOnePropertyValue(pEntry, aValue); // base class, no Item WID diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 879956f23ee1..3ca264e036dd 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -1465,9 +1465,7 @@ void SAL_CALL ScModelObj::protect( const rtl::OUString& aPassword ) throw(uno::R if ( pDocShell && !pDocShell->GetDocument()->IsDocProtected() ) { String aString(aPassword); - - ScDocFunc aFunc(*pDocShell); - aFunc.Protect( TABLEID_DOC, aString, sal_True ); + pDocShell->GetDocFunc().Protect( TABLEID_DOC, aString, sal_True ); } } @@ -1478,9 +1476,7 @@ void SAL_CALL ScModelObj::unprotect( const rtl::OUString& aPassword ) if (pDocShell) { String aString(aPassword); - - ScDocFunc aFunc(*pDocShell); - sal_Bool bDone = aFunc.Unprotect( TABLEID_DOC, aString, sal_True ); + sal_Bool bDone = pDocShell->GetDocFunc().Unprotect( TABLEID_DOC, aString, sal_True ); if (!bDone) throw lang::IllegalArgumentException(); } @@ -1585,10 +1581,7 @@ void SAL_CALL ScModelObj::refreshArrows() throw(uno::RuntimeException) { SolarMutexGuard aGuard; if (pDocShell) - { - ScDocFunc aFunc(*pDocShell); - aFunc.DetectiveRefresh(); - } + pDocShell->GetDocFunc().DetectiveRefresh(); } // XViewDataSupplier @@ -2390,8 +2383,8 @@ uno::Reference<drawing::XDrawPage> SAL_CALL ScDrawPagesObj::insertNewByIndex( sa { rtl::OUString aNewName; pDocShell->GetDocument()->CreateValidTabName(aNewName); - ScDocFunc aFunc(*pDocShell); - if ( aFunc.InsertTable( static_cast<SCTAB>(nPos), aNewName, true, true ) ) + if ( pDocShell->GetDocFunc().InsertTable( static_cast<SCTAB>(nPos), + aNewName, true, true ) ) xRet.set(GetObjectByIndex_Impl( nPos )); } return xRet; @@ -2408,8 +2401,7 @@ void SAL_CALL ScDrawPagesObj::remove( const uno::Reference<drawing::XDrawPage>& if (pPage) { SCTAB nPageNum = static_cast<SCTAB>(pPage->GetPageNum()); - ScDocFunc aFunc(*pDocShell); - aFunc.DeleteTable( nPageNum, sal_True, sal_True ); + pDocShell->GetDocFunc().DeleteTable( nPageNum, sal_True, sal_True ); } } } @@ -2502,8 +2494,7 @@ void SAL_CALL ScTableSheetsObj::insertNewByName( const rtl::OUString& aName, sal if (pDocShell) { String aNamStr(aName); - ScDocFunc aFunc(*pDocShell); - bDone = aFunc.InsertTable( nPosition, aNamStr, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().InsertTable( nPosition, aNamStr, sal_True, sal_True ); } if (!bDone) throw uno::RuntimeException(); // no other exceptions specified @@ -2545,8 +2536,8 @@ void SAL_CALL ScTableSheetsObj::copyByName( const rtl::OUString& aName, if (nResultTab >= nTabCount) nResultTab = nTabCount - 1; - ScDocFunc aFunc(*pDocShell); - bDone = aFunc.RenameTable( nResultTab, aNewStr, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().RenameTable( nResultTab, aNewStr, + sal_True, sal_True ); } } } @@ -2583,8 +2574,8 @@ void SAL_CALL ScTableSheetsObj::insertByName( const rtl::OUString& aName, const else { SCTAB nPosition = pDoc->GetTableCount(); - ScDocFunc aFunc(*pDocShell); - bDone = aFunc.InsertTable( nPosition, aNamStr, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().InsertTable( nPosition, aNamStr, + sal_True, sal_True ); if (bDone) pSheetObj->InitInsertSheet( pDocShell, nPosition ); // Dokument und neuen Range am Objekt setzen @@ -2627,12 +2618,11 @@ void SAL_CALL ScTableSheetsObj::replaceByName( const rtl::OUString& aName, const SCTAB nPosition; if ( pDocShell->GetDocument()->GetTable( aName, nPosition ) ) { - ScDocFunc aFunc(*pDocShell); - if ( aFunc.DeleteTable( nPosition, sal_True, sal_True ) ) + if ( pDocShell->GetDocFunc().DeleteTable( nPosition, sal_True, sal_True ) ) { // InsertTable kann jetzt eigentlich nicht schiefgehen... String aNamStr(aName); - bDone = aFunc.InsertTable( nPosition, aNamStr, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().InsertTable( nPosition, aNamStr, sal_True, sal_True ); if (bDone) pSheetObj->InitInsertSheet( pDocShell, nPosition ); } @@ -2669,15 +2659,9 @@ void SAL_CALL ScTableSheetsObj::removeByName( const rtl::OUString& aName ) { SCTAB nIndex; if ( pDocShell->GetDocument()->GetTable( aName, nIndex ) ) - { - ScDocFunc aFunc(*pDocShell); - bDone = aFunc.DeleteTable( nIndex, sal_True, sal_True ); - } - else - { - // not found + bDone = pDocShell->GetDocFunc().DeleteTable( nIndex, sal_True, sal_True ); + else // not found throw container::NoSuchElementException(); - } } if (!bDone) @@ -2923,10 +2907,9 @@ void SAL_CALL ScTableColumnsObj::insertByIndex( sal_Int32 nPosition, sal_Int32 n if ( pDocShell && nCount > 0 && nPosition >= 0 && nStartCol+nPosition <= nEndCol && nStartCol+nPosition+nCount-1 <= MAXCOL ) { - ScDocFunc aFunc(*pDocShell); ScRange aRange( (SCCOL)(nStartCol+nPosition), 0, nTab, (SCCOL)(nStartCol+nPosition+nCount-1), MAXROW, nTab ); - bDone = aFunc.InsertCells( aRange, NULL, INS_INSCOLS, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().InsertCells( aRange, NULL, INS_INSCOLS, sal_True, sal_True ); } if (!bDone) throw uno::RuntimeException(); // no other exceptions specified @@ -2940,10 +2923,9 @@ void SAL_CALL ScTableColumnsObj::removeByIndex( sal_Int32 nIndex, sal_Int32 nCou // Der zu loeschende Bereich muss innerhalb des Objekts liegen if ( pDocShell && nCount > 0 && nIndex >= 0 && nStartCol+nIndex+nCount-1 <= nEndCol ) { - ScDocFunc aFunc(*pDocShell); ScRange aRange( (SCCOL)(nStartCol+nIndex), 0, nTab, (SCCOL)(nStartCol+nIndex+nCount-1), MAXROW, nTab ); - bDone = aFunc.DeleteCells( aRange, NULL, DEL_DELCOLS, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().DeleteCells( aRange, NULL, DEL_DELCOLS, sal_True, sal_True ); } if (!bDone) throw uno::RuntimeException(); // no other exceptions specified @@ -3049,31 +3031,31 @@ void SAL_CALL ScTableColumnsObj::setPropertyValue( if (!pDocShell) throw uno::RuntimeException(); - ScDocFunc aFunc(*pDocShell); SCCOLROW nColArr[2]; nColArr[0] = nStartCol; nColArr[1] = nEndCol; String aNameString(aPropertyName); + ScDocFunc& rFunc = pDocShell->GetDocFunc(); if ( aNameString.EqualsAscii( SC_UNONAME_CELLWID ) ) { sal_Int32 nNewWidth = 0; if ( aValue >>= nNewWidth ) - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_ORIGINAL, + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_ORIGINAL, (sal_uInt16)HMMToTwips(nNewWidth), sal_True, sal_True ); } else if ( aNameString.EqualsAscii( SC_UNONAME_CELLVIS ) ) { sal_Bool bVis = ScUnoHelpFunctions::GetBoolFromAny( aValue ); ScSizeMode eMode = bVis ? SC_SIZE_SHOW : SC_SIZE_DIRECT; - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, eMode, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, eMode, 0, sal_True, sal_True ); // SC_SIZE_DIRECT with size 0: hide } else if ( aNameString.EqualsAscii( SC_UNONAME_OWIDTH ) ) { sal_Bool bOpt = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bOpt) - aFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, + rFunc.SetWidthOrHeight( sal_True, 1, nColArr, nTab, SC_SIZE_OPTIMAL, STD_EXTRA_WIDTH, sal_True, sal_True ); // sal_False for columns currently has no effect } @@ -3083,9 +3065,9 @@ void SAL_CALL ScTableColumnsObj::setPropertyValue( sal_Bool bSet = ScUnoHelpFunctions::GetBoolFromAny( aValue ); for (SCCOL nCol=nStartCol; nCol<=nEndCol; nCol++) if (bSet) - aFunc.InsertPageBreak( sal_True, ScAddress(nCol,0,nTab), sal_True, sal_True, sal_True ); + rFunc.InsertPageBreak( sal_True, ScAddress(nCol,0,nTab), sal_True, sal_True, sal_True ); else - aFunc.RemovePageBreak( sal_True, ScAddress(nCol,0,nTab), sal_True, sal_True, sal_True ); + rFunc.RemovePageBreak( sal_True, ScAddress(nCol,0,nTab), sal_True, sal_True, sal_True ); } } @@ -3184,10 +3166,9 @@ void SAL_CALL ScTableRowsObj::insertByIndex( sal_Int32 nPosition, sal_Int32 nCou if ( pDocShell && nCount > 0 && nPosition >= 0 && nStartRow+nPosition <= nEndRow && nStartRow+nPosition+nCount-1 <= MAXROW ) { - ScDocFunc aFunc(*pDocShell); ScRange aRange( 0, (SCROW)(nStartRow+nPosition), nTab, MAXCOL, (SCROW)(nStartRow+nPosition+nCount-1), nTab ); - bDone = aFunc.InsertCells( aRange, NULL, INS_INSROWS, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().InsertCells( aRange, NULL, INS_INSROWS, sal_True, sal_True ); } if (!bDone) throw uno::RuntimeException(); // no other exceptions specified @@ -3201,10 +3182,9 @@ void SAL_CALL ScTableRowsObj::removeByIndex( sal_Int32 nIndex, sal_Int32 nCount // Der zu loeschende Bereich muss innerhalb des Objekts liegen if ( pDocShell && nCount > 0 && nIndex >= 0 && nStartRow+nIndex+nCount-1 <= nEndRow ) { - ScDocFunc aFunc(*pDocShell); ScRange aRange( 0, (SCROW)(nStartRow+nIndex), nTab, MAXCOL, (SCROW)(nStartRow+nIndex+nCount-1), nTab ); - bDone = aFunc.DeleteCells( aRange, NULL, DEL_DELROWS, sal_True, sal_True ); + bDone = pDocShell->GetDocFunc().DeleteCells( aRange, NULL, DEL_DELROWS, sal_True, sal_True ); } if (!bDone) throw uno::RuntimeException(); // no other exceptions specified @@ -3272,7 +3252,7 @@ void SAL_CALL ScTableRowsObj::setPropertyValue( if (!pDocShell) throw uno::RuntimeException(); - ScDocFunc aFunc(*pDocShell); + ScDocFunc& rFunc = pDocShell->GetDocFunc(); ScDocument* pDoc = pDocShell->GetDocument(); SCCOLROW nRowArr[2]; nRowArr[0] = nStartRow; @@ -3294,7 +3274,7 @@ void SAL_CALL ScTableRowsObj::setPropertyValue( { sal_Bool bOpt = ScUnoHelpFunctions::GetBoolFromAny( aValue ); if (bOpt) - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_OPTIMAL, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_OPTIMAL, 0, sal_True, sal_True ); else { //! manually set old heights again? @@ -3305,14 +3285,14 @@ void SAL_CALL ScTableRowsObj::setPropertyValue( { sal_Int32 nNewHeight = 0; if ( aValue >>= nNewHeight ) - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, SC_SIZE_ORIGINAL, (sal_uInt16)HMMToTwips(nNewHeight), sal_True, sal_True ); } else if ( aNameString.EqualsAscii( SC_UNONAME_CELLVIS ) ) { sal_Bool bVis = ScUnoHelpFunctions::GetBoolFromAny( aValue ); ScSizeMode eMode = bVis ? SC_SIZE_SHOW : SC_SIZE_DIRECT; - aFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, eMode, 0, sal_True, sal_True ); + rFunc.SetWidthOrHeight( false, 1, nRowArr, nTab, eMode, 0, sal_True, sal_True ); // SC_SIZE_DIRECT with size 0: hide } else if ( aNameString.EqualsAscii( SC_UNONAME_VISFLAG ) ) @@ -3335,9 +3315,9 @@ void SAL_CALL ScTableRowsObj::setPropertyValue( sal_Bool bSet = ScUnoHelpFunctions::GetBoolFromAny( aValue ); for (SCROW nRow=nStartRow; nRow<=nEndRow; nRow++) if (bSet) - aFunc.InsertPageBreak( false, ScAddress(0,nRow,nTab), sal_True, sal_True, sal_True ); + rFunc.InsertPageBreak( false, ScAddress(0,nRow,nTab), sal_True, sal_True, sal_True ); else - aFunc.RemovePageBreak( false, ScAddress(0,nRow,nTab), sal_True, sal_True, sal_True ); + rFunc.RemovePageBreak( false, ScAddress(0,nRow,nTab), sal_True, sal_True, sal_True ); } else if ( aNameString.EqualsAscii( SC_UNONAME_CELLBACK ) || aNameString.EqualsAscii( SC_UNONAME_CELLTRAN ) ) { @@ -3529,9 +3509,7 @@ void SAL_CALL ScAnnotationsObj::insertNew( { OSL_ENSURE( aPosition.Sheet == nTab, "addAnnotation mit falschem Sheet" ); ScAddress aPos( (SCCOL)aPosition.Column, (SCROW)aPosition.Row, nTab ); - - ScDocFunc aFunc( *pDocShell ); - aFunc.ReplaceNote( aPos, rText, 0, 0, sal_True ); + pDocShell->GetDocFunc().ReplaceNote( aPos, rText, 0, 0, sal_True ); } } @@ -3547,8 +3525,7 @@ void SAL_CALL ScAnnotationsObj::removeByIndex( sal_Int32 nIndex ) throw(uno::Run aMarkData.SelectTable( aPos.Tab(), sal_True ); aMarkData.SetMultiMarkArea( ScRange(aPos) ); - ScDocFunc aFunc(*pDocShell); - aFunc.DeleteContents( aMarkData, IDF_NOTE, sal_True, sal_True ); + pDocShell->GetDocFunc().DeleteContents( aMarkData, IDF_NOTE, sal_True, sal_True ); } } } @@ -3712,10 +3689,7 @@ void SAL_CALL ScScenariosObj::removeByName( const rtl::OUString& aName ) SolarMutexGuard aGuard; SCTAB nIndex; if ( pDocShell && GetScenarioIndex_Impl( aName, nIndex ) ) - { - ScDocFunc aFunc(*pDocShell); - aFunc.DeleteTable( nTab+nIndex+1, sal_True, sal_True ); - } + pDocShell->GetDocFunc().DeleteTable( nTab+nIndex+1, sal_True, sal_True ); } // XEnumerationAccess diff --git a/sc/source/ui/unoobj/linkuno.cxx b/sc/source/ui/unoobj/linkuno.cxx index db8ec46793ab..526e11b99b5c 100644 --- a/sc/source/ui/unoobj/linkuno.cxx +++ b/sc/source/ui/unoobj/linkuno.cxx @@ -694,9 +694,8 @@ void ScAreaLinkObj::Modify_Impl( const rtl::OUString* pNewFile, const rtl::OUStr ScUnoConversion::FillScRange( aDest, *pNewDest ); bFitBlock = false; // neuer Bereich angegeben -> keine Inhalte verschieben } - - ScDocFunc aFunc(*pDocShell); - aFunc.InsertAreaLink( aFile, aFilter, aOptions, aSource, aDest, nRefresh, bFitBlock, sal_True ); + pDocShell->GetDocFunc().InsertAreaLink( aFile, aFilter, aOptions, aSource, + aDest, nRefresh, bFitBlock, sal_True ); } } @@ -983,11 +982,9 @@ void SAL_CALL ScAreaLinksObj::insertAtPosition( const table::CellAddress& aDestP ScAddress aDestAddr( (SCCOL)aDestPos.Column, (SCROW)aDestPos.Row, aDestPos.Sheet ); aFileStr = ScGlobal::GetAbsDocName( aFileStr, pDocShell ); //! in InsertAreaLink ??? - - ScDocFunc aFunc(*pDocShell); - aFunc.InsertAreaLink( aFileStr, aFilterStr, aOptionStr, - aSourceStr, ScRange(aDestAddr), - 0, false, sal_True ); // keine Inhalte verschieben + pDocShell->GetDocFunc().InsertAreaLink( aFileStr, aFilterStr, aOptionStr, + aSourceStr, ScRange(aDestAddr), + 0, false, sal_True ); // don't move contents } } diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx index 48baee87334e..5158394febd3 100644 --- a/sc/source/ui/unoobj/nameuno.cxx +++ b/sc/source/ui/unoobj/nameuno.cxx @@ -212,8 +212,7 @@ void ScNamedRangeObj::Modify_Impl( const String* pNewName, const ScTokenArray* p pNewRanges->erase(*pOld); if (pNewRanges->insert(pNew)) { - ScDocFunc aFunc(*pDocShell); - aFunc.SetNewRangeNames(pNewRanges, mxParent->IsModifyAndBroadcast(), nTab); + pDocShell->GetDocFunc().SetNewRangeNames(pNewRanges, mxParent->IsModifyAndBroadcast(), nTab); aName = aInsName; //! broadcast? } @@ -554,8 +553,7 @@ void SAL_CALL ScNamedRangesObj::addNewByName( const rtl::OUString& aName, aPos, nNewType,formula::FormulaGrammar::GRAM_PODF_A1 ); if ( pNewRanges->insert(pNew) ) { - ScDocFunc aFunc(*pDocShell); - aFunc.SetNewRangeNames(pNewRanges, mbModifyAndBroadcast, GetTab_Impl()); + pDocShell->GetDocFunc().SetNewRangeNames(pNewRanges, mbModifyAndBroadcast, GetTab_Impl()); bDone = true; } else @@ -591,10 +589,7 @@ void SAL_CALL ScNamedRangesObj::addNewFromTitles( const table::CellRangeAddress& if (bRight) nFlags |= NAME_RIGHT; if (nFlags) - { - ScDocFunc aFunc(*pDocShell); - aFunc.CreateNames( aRange, nFlags, sal_True, GetTab_Impl() ); - } + pDocShell->GetDocFunc().CreateNames( aRange, nFlags, sal_True, GetTab_Impl() ); } void SAL_CALL ScNamedRangesObj::removeByName( const rtl::OUString& aName ) @@ -612,8 +607,7 @@ void SAL_CALL ScNamedRangesObj::removeByName( const rtl::OUString& aName ) { ScRangeName* pNewRanges = new ScRangeName(*pNames); pNewRanges->erase(*pData); - ScDocFunc aFunc(*pDocShell); - aFunc.SetNewRangeNames( pNewRanges, mbModifyAndBroadcast, GetTab_Impl()); + pDocShell->GetDocFunc().SetNewRangeNames( pNewRanges, mbModifyAndBroadcast, GetTab_Impl()); bDone = true; } } @@ -629,10 +623,7 @@ void SAL_CALL ScNamedRangesObj::outputList( const table::CellAddress& aOutputPos SolarMutexGuard aGuard; ScAddress aPos( (SCCOL)aOutputPosition.Column, (SCROW)aOutputPosition.Row, aOutputPosition.Sheet ); if (pDocShell) - { - ScDocFunc aFunc(*pDocShell); - aFunc.InsertNameList( aPos, sal_True ); - } + pDocShell->GetDocFunc().InsertNameList( aPos, sal_True ); } // container::XEnumerationAccess diff --git a/sc/source/ui/unoobj/textuno.cxx b/sc/source/ui/unoobj/textuno.cxx index 42a0f9f481ba..7c06fb568f66 100644 --- a/sc/source/ui/unoobj/textuno.cxx +++ b/sc/source/ui/unoobj/textuno.cxx @@ -1059,11 +1059,8 @@ void ScCellTextData::UpdateData() // during the own UpdateData call, bDataValid must not be reset, // or things like attributes after the text would be lost // (are not stored in the cell) - bInUpdate = sal_True; // prevents bDataValid from being reset - - ScDocFunc aFunc(*pDocShell); - aFunc.PutData( aCellPos, *pEditEngine, false, sal_True ); // always as text + pDocShell->GetDocFunc().PutData( aCellPos, *pEditEngine, false, sal_True ); // always as text bInUpdate = false; bDirty = false; diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index 2ec55b3378d4..1953b6f05c12 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -3979,13 +3979,12 @@ ScVbaRange::setColumnWidth( const uno::Any& _columnwidth ) throw (uno::RuntimeEx table::CellRangeAddress thisAddress = thisRange.getCellRangeAddressable()->getRangeAddress(); sal_uInt16 nTwips = lcl_pointsToTwips( nColWidth ); - ScDocFunc aFunc(*pDocShell); SCCOLROW nColArr[2]; nColArr[0] = thisAddress.StartColumn; nColArr[1] = thisAddress.EndColumn; // #163561# use mode SC_SIZE_DIRECT: hide for width 0, show for other values - aFunc.SetWidthOrHeight( true, 1, nColArr, thisAddress.Sheet, - SC_SIZE_DIRECT, nTwips, true, true ); + pDocShell->GetDocFunc().SetWidthOrHeight( true, 1, nColArr, thisAddress.Sheet, + SC_SIZE_DIRECT, nTwips, true, true ); } } @@ -4143,11 +4142,10 @@ ScVbaRange::setRowHeight( const uno::Any& _rowheight) throw (uno::RuntimeExcepti sal_uInt16 nTwips = lcl_pointsToTwips( nHeight ); ScDocShell* pDocShell = excel::GetDocShellFromRange( mxRange ); - ScDocFunc aFunc(*pDocShell); SCCOLROW nRowArr[2]; nRowArr[0] = thisAddress.StartRow; nRowArr[1] = thisAddress.EndRow; - aFunc.SetWidthOrHeight( false, 1, nRowArr, thisAddress.Sheet, SC_SIZE_ORIGINAL, + pDocShell->GetDocFunc().SetWidthOrHeight( false, 1, nRowArr, thisAddress.Sheet, SC_SIZE_ORIGINAL, nTwips, true, true ); } @@ -4842,7 +4840,6 @@ ScVbaRange::Autofit() throw (uno::RuntimeException) RangeHelper thisRange( mxRange ); table::CellRangeAddress thisAddress = thisRange.getCellRangeAddressable()->getRangeAddress(); - ScDocFunc aFunc(*pDocShell); SCCOLROW nColArr[2]; nColArr[0] = thisAddress.StartColumn; nColArr[1] = thisAddress.EndColumn; @@ -4853,9 +4850,8 @@ ScVbaRange::Autofit() throw (uno::RuntimeException) nColArr[0] = thisAddress.StartRow; nColArr[1] = thisAddress.EndRow; } - aFunc.SetWidthOrHeight( bDirection, 1, nColArr, thisAddress.Sheet, SC_SIZE_OPTIMAL, - 0, true, true ); - + pDocShell->GetDocFunc().SetWidthOrHeight( bDirection, 1, nColArr, thisAddress.Sheet, + SC_SIZE_OPTIMAL, 0, true, true ); } } @@ -5587,9 +5583,9 @@ ScVbaRange::AutoFill( const uno::Reference< excel::XRange >& Destination, const break; } } - ScDocFunc aFunc(*pDocSh); #ifdef VBA_OOBUILD_HACK - aFunc.FillAuto( aSourceRange, NULL, eDir, eCmd, eDateCmd, nCount, fStep, fEndValue, sal_True, sal_True ); + pDocSh->GetDocFunc().FillAuto( aSourceRange, NULL, eDir, eCmd, eDateCmd, + nCount, fStep, fEndValue, sal_True, sal_True ); #endif } sal_Bool SAL_CALL diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 99921c767317..35c162f8b821 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -2156,9 +2156,8 @@ void ScCellShell::ExecuteExternalSource( else aLinkRange = ScRange( pData->GetCurX(), pData->GetCurY(), pData->GetTabNo() ); - ScDocFunc aFunc(*pData->GetDocShell()); - aFunc.InsertAreaLink( _rFile, _rFilter, _rOptions, _rSource, - aLinkRange, _nRefresh, bMove, false ); + pData->GetDocFunc().InsertAreaLink( _rFile, _rFilter, _rOptions, _rSource, + aLinkRange, _nRefresh, bMove, false ); _rRequest.Done(); } else diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx index 8c479b1f7cf1..bbb7c72c5128 100644 --- a/sc/source/ui/view/preview.cxx +++ b/sc/source/ui/view/preview.cxx @@ -1233,7 +1233,6 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt ) if( bMoveRulerAction ) { long nNewColWidth = 0; - ScDocFunc aFunc(*pDocShell); SCCOLROW nCols[2] = { nColNumberButttonDown, nColNumberButttonDown }; if( !bLayoutRTL ) @@ -1250,7 +1249,9 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt ) if( nNewColWidth >= 0 ) { - aFunc.SetWidthOrHeight( true, 1,nCols, nTab, SC_SIZE_DIRECT, (sal_uInt16)nNewColWidth, true, true); + pDocShell->GetDocFunc().SetWidthOrHeight( + true, 1,nCols, nTab, SC_SIZE_DIRECT, + (sal_uInt16)nNewColWidth, true, true); pDocShell->SetModified(true); } if ( ValidTab( nTab ) ) diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx index 30638e1f91f8..c1ccd5b62c5b 100644 --- a/sc/source/ui/view/tabvwshf.cxx +++ b/sc/source/ui/view/tabvwshf.cxx @@ -649,7 +649,7 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) case FID_TAB_RTL: { ScDocShell* pDocSh = pViewData->GetDocShell(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); sal_Bool bSet = !pDoc->IsLayoutRTL( nCurrentTab ); const ScMarkData& rMark = pViewData->GetMarkData(); @@ -663,12 +663,12 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) - aFunc.SetLayoutRTL( *itr, bSet, false ); + rFunc.SetLayoutRTL( *itr, bSet, false ); pUndoManager->LeaveListAction(); } else - aFunc.SetLayoutRTL( nCurrentTab, bSet, false ); + rFunc.SetLayoutRTL( nCurrentTab, bSet, false ); } break; diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index a0f4cdf987e8..73c79a6ea5dc 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -2067,6 +2067,11 @@ SfxObjectShell* ScViewData::GetSfxDocShell() const return pDocShell; } +ScDocFunc& ScViewData::GetDocFunc() const +{ + return pDocShell->GetDocFunc(); +} + SfxBindings& ScViewData::GetBindings() { OSL_ENSURE( pViewShell, "GetBindings() without ViewShell" ); diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index 780e483a34bd..cf1b9db253b3 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -2563,7 +2563,7 @@ void ScViewFunc::ProtectSheet( SCTAB nTab, const ScTableProtection& rProtect ) ScMarkData& rMark = GetViewData()->GetMarkData(); ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScDocument* pDoc = pDocSh->GetDocument(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); bool bUndo(pDoc->IsUndoEnabled()); // modifying several tabs is handled here @@ -2576,7 +2576,7 @@ void ScViewFunc::ProtectSheet( SCTAB nTab, const ScTableProtection& rProtect ) ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) - aFunc.ProtectSheet(*itr, rProtect); + rFunc.ProtectSheet(*itr, rProtect); if (bUndo) pDocSh->GetUndoManager()->LeaveListAction(); @@ -2589,11 +2589,11 @@ void ScViewFunc::Protect( SCTAB nTab, const String& rPassword ) ScMarkData& rMark = GetViewData()->GetMarkData(); ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScDocument* pDoc = pDocSh->GetDocument(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); sal_Bool bUndo(pDoc->IsUndoEnabled()); if ( nTab == TABLEID_DOC || rMark.GetSelectCount() <= 1 ) - aFunc.Protect( nTab, rPassword, false ); + rFunc.Protect( nTab, rPassword, false ); else { // modifying several tabs is handled here @@ -2606,7 +2606,7 @@ void ScViewFunc::Protect( SCTAB nTab, const String& rPassword ) ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) - aFunc.Protect( *itr, rPassword, false ); + rFunc.Protect( *itr, rPassword, false ); if (bUndo) pDocSh->GetUndoManager()->LeaveListAction(); @@ -2620,12 +2620,12 @@ sal_Bool ScViewFunc::Unprotect( SCTAB nTab, const String& rPassword ) ScMarkData& rMark = GetViewData()->GetMarkData(); ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScDocument* pDoc = pDocSh->GetDocument(); - ScDocFunc aFunc(*pDocSh); + ScDocFunc &rFunc = pDocSh->GetDocFunc(); sal_Bool bChanged = false; sal_Bool bUndo (pDoc->IsUndoEnabled()); if ( nTab == TABLEID_DOC || rMark.GetSelectCount() <= 1 ) - bChanged = aFunc.Unprotect( nTab, rPassword, false ); + bChanged = rFunc.Unprotect( nTab, rPassword, false ); else { // modifying several tabs is handled here @@ -2638,7 +2638,7 @@ sal_Bool ScViewFunc::Unprotect( SCTAB nTab, const String& rPassword ) ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) - if ( aFunc.Unprotect( *itr, rPassword, false ) ) + if ( rFunc.Unprotect( *itr, rPassword, false ) ) bChanged = sal_True; if (bUndo) |