diff options
Diffstat (limited to 'sw/source/core/undo/SwUndoPageDesc.cxx')
-rw-r--r-- | sw/source/core/undo/SwUndoPageDesc.cxx | 96 |
1 files changed, 37 insertions, 59 deletions
diff --git a/sw/source/core/undo/SwUndoPageDesc.cxx b/sw/source/core/undo/SwUndoPageDesc.cxx index 29959bd292..28289d3c2c 100644 --- a/sw/source/core/undo/SwUndoPageDesc.cxx +++ b/sw/source/core/undo/SwUndoPageDesc.cxx @@ -31,6 +31,7 @@ #include <tools/resid.hxx> #include <doc.hxx> +#include <IDocumentUndoRedo.hxx> #include <swundo.hxx> #include <pagedesc.hxx> #include <SwUndoPageDesc.hxx> @@ -49,10 +50,10 @@ // Pure debug help function to have a quick look at the header/footer attributes. void DebugHeaderFooterContent( const SwPageDesc& rPageDesc ) { - ULONG nHeaderMaster = ULONG_MAX; - ULONG nHeaderLeft = ULONG_MAX; - ULONG nFooterMaster = ULONG_MAX; - ULONG nFooterLeft = ULONG_MAX; + sal_uLong nHeaderMaster = ULONG_MAX; + sal_uLong nHeaderLeft = ULONG_MAX; + sal_uLong nFooterMaster = ULONG_MAX; + sal_uLong nFooterLeft = ULONG_MAX; SwFmtHeader& rHead = (SwFmtHeader&)rPageDesc.GetMaster().GetHeader(); SwFmtFooter& rFoot = (SwFmtFooter&)rPageDesc.GetMaster().GetFooter(); @@ -240,7 +241,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes // Let the destination page descrition point to the source node position, // from now on this descriptor is responsible for the content nodes! const SfxPoolItem* pItem; - rDest.GetMaster().GetAttrSet().GetItemState( RES_HEADER, FALSE, &pItem ); + rDest.GetMaster().GetAttrSet().GetItemState( RES_HEADER, sal_False, &pItem ); SfxPoolItem *pNewItem = pItem->Clone(); SwFrmFmt* pNewFmt = ((SwFmtHeader*)pNewItem)->GetHeaderFmt(); #ifdef DEBUG @@ -254,7 +255,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes // Let the source page description point to zero node position, // it loses the responsible and can be destroyed without removing the content nodes. - rSource.GetMaster().GetAttrSet().GetItemState( RES_HEADER, FALSE, &pItem ); + rSource.GetMaster().GetAttrSet().GetItemState( RES_HEADER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtHeader*)pNewItem)->GetHeaderFmt(); pNewFmt->SetFmtAttr( SwFmtCntnt() ); @@ -264,7 +265,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes { // Same procedure for unshared header.. const SwFmtHeader& rSourceLeftHead = rSource.GetLeft().GetHeader(); - rDest.GetLeft().GetAttrSet().GetItemState( RES_HEADER, FALSE, &pItem ); + rDest.GetLeft().GetAttrSet().GetItemState( RES_HEADER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtHeader*)pNewItem)->GetHeaderFmt(); #ifdef DEBUG @@ -275,7 +276,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes #endif pNewFmt->SetFmtAttr( rSourceLeftHead.GetHeaderFmt()->GetCntnt() ); delete pNewItem; - rSource.GetLeft().GetAttrSet().GetItemState( RES_HEADER, FALSE, &pItem ); + rSource.GetLeft().GetAttrSet().GetItemState( RES_HEADER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtHeader*)pNewItem)->GetHeaderFmt(); pNewFmt->SetFmtAttr( SwFmtCntnt() ); @@ -288,7 +289,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes if( rDestFoot.IsActive() ) { const SfxPoolItem* pItem; - rDest.GetMaster().GetAttrSet().GetItemState( RES_FOOTER, FALSE, &pItem ); + rDest.GetMaster().GetAttrSet().GetItemState( RES_FOOTER, sal_False, &pItem ); SfxPoolItem *pNewItem = pItem->Clone(); SwFrmFmt *pNewFmt = ((SwFmtFooter*)pNewItem)->GetFooterFmt(); pNewFmt->SetFmtAttr( rSourceFoot.GetFooterFmt()->GetCntnt() ); @@ -300,7 +301,7 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes const SwFmtCntnt& rFooterDestCntnt = rDestFoot.GetFooterFmt()->GetCntnt(); (void)rFooterDestCntnt; #endif - rSource.GetMaster().GetAttrSet().GetItemState( RES_FOOTER, FALSE, &pItem ); + rSource.GetMaster().GetAttrSet().GetItemState( RES_FOOTER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtFooter*)pNewItem)->GetFooterFmt(); pNewFmt->SetFmtAttr( SwFmtCntnt() ); @@ -316,12 +317,12 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes (void)rFooterSourceCntnt2; (void)rFooterDestCntnt2; #endif - rDest.GetLeft().GetAttrSet().GetItemState( RES_FOOTER, FALSE, &pItem ); + rDest.GetLeft().GetAttrSet().GetItemState( RES_FOOTER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtFooter*)pNewItem)->GetFooterFmt(); pNewFmt->SetFmtAttr( rSourceLeftFoot.GetFooterFmt()->GetCntnt() ); delete pNewItem; - rSource.GetLeft().GetAttrSet().GetItemState( RES_FOOTER, FALSE, &pItem ); + rSource.GetLeft().GetAttrSet().GetItemState( RES_FOOTER, sal_False, &pItem ); pNewItem = pItem->Clone(); pNewFmt = ((SwFmtFooter*)pNewItem)->GetFooterFmt(); pNewFmt->SetFmtAttr( SwFmtCntnt() ); @@ -330,34 +331,20 @@ void SwUndoPageDesc::ExchangeContentNodes( SwPageDesc& rSource, SwPageDesc &rDes } } -void SwUndoPageDesc::Undo(SwUndoIter &) +void SwUndoPageDesc::UndoImpl(::sw::UndoRedoContext &) { - BOOL bUndo = pDoc->DoesUndo(); - - pDoc->DoUndo(FALSE); - // Move (header/footer)content node responsibility from new page descriptor to old one again. if( bExchange ) ExchangeContentNodes( (SwPageDesc&)aNew, (SwPageDesc&)aOld ); pDoc->ChgPageDesc(aOld.GetName(), aOld); - pDoc->DoUndo(bUndo); } -void SwUndoPageDesc::Redo(SwUndoIter &) +void SwUndoPageDesc::RedoImpl(::sw::UndoRedoContext &) { - BOOL bUndo = pDoc->DoesUndo(); - - pDoc->DoUndo(FALSE); - // Move (header/footer)content node responsibility from old page descriptor to new one again. if( bExchange ) ExchangeContentNodes( (SwPageDesc&)aOld, (SwPageDesc&)aNew ); pDoc->ChgPageDesc(aNew.GetName(), aNew); - pDoc->DoUndo(bUndo); -} - -void SwUndoPageDesc::Repeat(SwUndoIter &) -{ } SwRewriter SwUndoPageDesc::GetRewriter() const @@ -384,12 +371,8 @@ SwUndoPageDescCreate::~SwUndoPageDescCreate() { } -void SwUndoPageDescCreate::Undo(SwUndoIter &) +void SwUndoPageDescCreate::UndoImpl(::sw::UndoRedoContext &) { - BOOL bUndo = pDoc->DoesUndo(); - - pDoc->DoUndo(FALSE); - // -> #116530# if (pDesc) { @@ -398,26 +381,24 @@ void SwUndoPageDescCreate::Undo(SwUndoIter &) } // <- #116530# - pDoc->DelPageDesc(aNew.GetName(), TRUE); - pDoc->DoUndo(bUndo); + pDoc->DelPageDesc(aNew.GetName(), sal_True); } - -void SwUndoPageDescCreate::Redo(SwUndoIter &) +void SwUndoPageDescCreate::DoImpl() { - BOOL bUndo = pDoc->DoesUndo(); - - pDoc->DoUndo(FALSE); - SwPageDesc aPageDesc = aNew; - pDoc->MakePageDesc(aNew.GetName(), &aPageDesc, FALSE, TRUE); // #116530# + pDoc->MakePageDesc(aNew.GetName(), &aPageDesc, sal_False, sal_True); // #116530# +} - pDoc->DoUndo(bUndo); +void SwUndoPageDescCreate::RedoImpl(::sw::UndoRedoContext &) +{ + DoImpl(); } -void SwUndoPageDescCreate::Repeat(SwUndoIter & rIt) +void SwUndoPageDescCreate::RepeatImpl(::sw::RepeatContext &) { - Redo(rIt); + ::sw::UndoGuard const undoGuard(pDoc->GetIDocumentUndoRedo()); + DoImpl(); } SwRewriter SwUndoPageDescCreate::GetRewriter() const @@ -444,29 +425,26 @@ SwUndoPageDescDelete::~SwUndoPageDescDelete() { } -void SwUndoPageDescDelete::Undo(SwUndoIter &) +void SwUndoPageDescDelete::UndoImpl(::sw::UndoRedoContext &) { - BOOL bUndo = pDoc->DoesUndo(); - - pDoc->DoUndo(FALSE); - SwPageDesc aPageDesc = aOld; - pDoc->MakePageDesc(aOld.GetName(), &aPageDesc, FALSE, TRUE); // #116530# - pDoc->DoUndo(bUndo); + pDoc->MakePageDesc(aOld.GetName(), &aPageDesc, sal_False, sal_True); // #116530# } -void SwUndoPageDescDelete::Redo(SwUndoIter &) +void SwUndoPageDescDelete::DoImpl() { - BOOL bUndo = pDoc->DoesUndo(); + pDoc->DelPageDesc(aOld.GetName(), sal_True); // #116530# +} - pDoc->DoUndo(FALSE); - pDoc->DelPageDesc(aOld.GetName(), TRUE); // #116530# - pDoc->DoUndo(bUndo); +void SwUndoPageDescDelete::RedoImpl(::sw::UndoRedoContext &) +{ + DoImpl(); } -void SwUndoPageDescDelete::Repeat(SwUndoIter & rIt) +void SwUndoPageDescDelete::RepeatImpl(::sw::RepeatContext &) { - Redo(rIt); + ::sw::UndoGuard const undoGuard(pDoc->GetIDocumentUndoRedo()); + DoImpl(); } SwRewriter SwUndoPageDescDelete::GetRewriter() const |