diff options
author | Carsten Driesner <cd@openoffice.org> | 2011-02-07 13:06:08 +0100 |
---|---|---|
committer | Carsten Driesner <cd@openoffice.org> | 2011-02-07 13:06:08 +0100 |
commit | a27e4b8ca5d84790c04a7351c4ea5ef004a0bbea (patch) | |
tree | e400e267e96a54f7c37896e7cdccca345b2616f0 /sw/source/core/undo/unfmco.cxx | |
parent | 4f65368101fde95f5bf97f114290b494a80ef051 (diff) | |
parent | 5b7dc4c9b5c1190edce19e568676270f315c31e6 (diff) |
removetooltypes01: Rebase to DEV300m99
Diffstat (limited to 'sw/source/core/undo/unfmco.cxx')
-rw-r--r-- | sw/source/core/undo/unfmco.cxx | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/sw/source/core/undo/unfmco.cxx b/sw/source/core/undo/unfmco.cxx index e761a1a32bd6..8a3452c0ee82 100644 --- a/sw/source/core/undo/unfmco.cxx +++ b/sw/source/core/undo/unfmco.cxx @@ -35,12 +35,10 @@ #include "pam.hxx" #include "ndtxt.hxx" -#include "undobj.hxx" +#include <UndoCore.hxx> #include "rolbck.hxx" -inline SwDoc& SwUndoIter::GetDoc() const { return *pAktPam->GetDoc(); } - //-------------------------------------------------- @@ -70,51 +68,45 @@ SwUndoFmtColl::~SwUndoFmtColl() } -void SwUndoFmtColl::Undo( SwUndoIter& rUndoIter ) +void SwUndoFmtColl::UndoImpl(::sw::UndoRedoContext & rContext) { - // die alten Werte wieder zurueck - pHistory->TmpRollback( &rUndoIter.GetDoc(), 0 ); + // restore old values + pHistory->TmpRollback(& rContext.GetDoc(), 0); pHistory->SetTmpEnd( pHistory->Count() ); - // setze noch den Cursor auf den Undo-Bereich - SetPaM( rUndoIter ); + // create cursor for undo range + AddUndoRedoPaM(rContext); } -void SwUndoFmtColl::Redo( SwUndoIter& rUndoIter ) +void SwUndoFmtColl::RedoImpl(::sw::UndoRedoContext & rContext) { - // setze Attribut in dem Bereich: - SetPaM( rUndoIter ); - rUndoIter.pLastUndoObj = 0; - - Repeat( rUndoIter ); // Collection setzen + SwPaM & rPam = AddUndoRedoPaM(rContext); - rUndoIter.pLastUndoObj = 0; + DoSetFmtColl(rContext.GetDoc(), rPam); } - -void SwUndoFmtColl::Repeat( SwUndoIter& rUndoIter ) +void SwUndoFmtColl::RepeatImpl(::sw::RepeatContext & rContext) { - if( UNDO_SETFMTCOLL == rUndoIter.GetLastUndoId() && - pFmtColl == ((SwUndoFmtColl*)rUndoIter.pLastUndoObj)->pFmtColl ) - return; + DoSetFmtColl(rContext.GetDoc(), rContext.GetRepeatPaM()); +} +void SwUndoFmtColl::DoSetFmtColl(SwDoc & rDoc, SwPaM & rPaM) +{ // es kann nur eine TextFmtColl auf einen Bereich angewendet werden, // also erfrage auch nur in dem Array - sal_uInt16 nPos = rUndoIter.GetDoc().GetTxtFmtColls()->GetPos( + sal_uInt16 const nPos = rDoc.GetTxtFmtColls()->GetPos( (SwTxtFmtColl*)pFmtColl ); - // ist das Format ueberhaupt noch vorhanden? + // does the format still exist? if( USHRT_MAX != nPos ) { // --> OD 2008-04-15 #refactorlists# - rUndoIter.GetDoc().SetTxtFmtColl( *rUndoIter.pAktPam, + rDoc.SetTxtFmtColl(rPaM, (SwTxtFmtColl*)pFmtColl, mbReset, mbResetListAttrs ); // <-- } - - rUndoIter.pLastUndoObj = this; } SwRewriter SwUndoFmtColl::GetRewriter() const @@ -129,3 +121,4 @@ SwRewriter SwUndoFmtColl::GetRewriter() const return aResult; } + |