summaryrefslogtreecommitdiff
path: root/sw/source/core/undo/unfmco.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/undo/unfmco.cxx')
-rw-r--r--sw/source/core/undo/unfmco.cxx42
1 files changed, 17 insertions, 25 deletions
diff --git a/sw/source/core/undo/unfmco.cxx b/sw/source/core/undo/unfmco.cxx
index eba1943e4c..620d730df8 100644
--- a/sw/source/core/undo/unfmco.cxx
+++ b/sw/source/core/undo/unfmco.cxx
@@ -36,12 +36,10 @@
#include "pam.hxx"
#include "ndtxt.hxx"
-#include "undobj.hxx"
+#include <UndoCore.hxx>
#include "rolbck.hxx"
-inline SwDoc& SwUndoIter::GetDoc() const { return *pAktPam->GetDoc(); }
-
//--------------------------------------------------
@@ -69,49 +67,43 @@ 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
- USHORT 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 )
{
- rUndoIter.GetDoc().SetTxtFmtColl( *rUndoIter.pAktPam,
+ rDoc.SetTxtFmtColl(rPaM,
(SwTxtFmtColl*)pFmtColl,
mbReset,
mbResetListAttrs );
}
-
- rUndoIter.pLastUndoObj = this;
}
SwRewriter SwUndoFmtColl::GetRewriter() const