1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sd.hxx" 26 27 28 #include "undopage.hxx" 29 30 #include <svx/svxids.hrc> 31 #include <sfx2/bindings.hxx> 32 #include <sfx2/dispatch.hxx> 33 #include <sfx2/viewfrm.hxx> 34 35 #include "sdpage.hxx" 36 #include "DrawViewShell.hxx" 37 #include "drawview.hxx" 38 #include <svx/svdpagv.hxx> 39 40 41 42 TYPEINIT1(SdPageFormatUndoAction, SdUndoAction); 43 TYPEINIT1(SdPageLRUndoAction, SdUndoAction); 44 TYPEINIT1(SdPageULUndoAction, SdUndoAction); 45 46 47 /************************************************************************* 48 |* 49 |* Destruktor 50 |* 51 \************************************************************************/ 52 53 SdPageFormatUndoAction::~SdPageFormatUndoAction() 54 { 55 } 56 57 /************************************************************************* 58 |* 59 |* Undo() 60 |* 61 \************************************************************************/ 62 63 void SdPageFormatUndoAction::Undo() 64 { 65 Rectangle aOldBorderRect(mnOldLeft, mnOldUpper, mnOldRight, mnOldLower); 66 mpPage->ScaleObjects(maOldSize, aOldBorderRect, mbNewScale); 67 mpPage->SetSize(maOldSize); 68 mpPage->SetLftBorder(mnOldLeft); 69 mpPage->SetRgtBorder(mnOldRight); 70 mpPage->SetUppBorder(mnOldUpper); 71 mpPage->SetLwrBorder(mnOldLower); 72 mpPage->SetOrientation(meOldOrientation); 73 mpPage->SetPaperBin( mnOldPaperBin ); 74 75 mpPage->SetBackgroundFullSize( mbOldFullSize ); 76 if( !mpPage->IsMasterPage() ) 77 ( (SdPage&) mpPage->TRG_GetMasterPage() ).SetBackgroundFullSize( mbOldFullSize ); 78 79 } 80 81 void SdPageFormatUndoAction::Redo() 82 { 83 Rectangle aNewBorderRect(mnNewLeft, mnNewUpper, mnNewRight, mnNewLower); 84 mpPage->ScaleObjects(maNewSize, aNewBorderRect, mbNewScale); 85 mpPage->SetSize(maNewSize); 86 mpPage->SetLftBorder(mnNewLeft); 87 mpPage->SetRgtBorder(mnNewRight); 88 mpPage->SetUppBorder(mnNewUpper); 89 mpPage->SetLwrBorder(mnNewLower); 90 mpPage->SetOrientation(meNewOrientation); 91 mpPage->SetPaperBin( mnNewPaperBin ); 92 93 mpPage->SetBackgroundFullSize( mbNewFullSize ); 94 if( !mpPage->IsMasterPage() ) 95 ( (SdPage&) mpPage->TRG_GetMasterPage() ).SetBackgroundFullSize( mbNewFullSize ); 96 97 } 98 99 SdPageLRUndoAction::~SdPageLRUndoAction() 100 { 101 } 102 103 void SdPageLRUndoAction::Undo() 104 { 105 mpPage->SetLftBorder(mnOldLeft); 106 mpPage->SetRgtBorder(mnOldRight); 107 } 108 109 void SdPageLRUndoAction::Redo() 110 { 111 mpPage->SetLftBorder(mnNewLeft); 112 mpPage->SetRgtBorder(mnNewRight); 113 } 114 115 SdPageULUndoAction::~SdPageULUndoAction() 116 { 117 } 118 119 void SdPageULUndoAction::Undo() 120 { 121 mpPage->SetUppBorder(mnOldUpper); 122 mpPage->SetLwrBorder(mnOldLower); 123 } 124 125 /************************************************************************* 126 |* 127 |* UL-Redo() 128 |* 129 \************************************************************************/ 130 131 void SdPageULUndoAction::Redo() 132 { 133 mpPage->SetUppBorder(mnNewUpper); 134 mpPage->SetLwrBorder(mnNewLower); 135 } 136 137