Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef _SD_UNDOPAGE_HXX
21 : #define _SD_UNDOPAGE_HXX
22 :
23 : #include <tools/gen.hxx>
24 : #include <vcl/prntypes.hxx>
25 :
26 : #include "sdundo.hxx"
27 :
28 : class SdDrawDocument;
29 : class SdPage;
30 :
31 : /************************************************************************/
32 :
33 : class SdPageFormatUndoAction : public SdUndoAction
34 : {
35 : SdPage* mpPage;
36 :
37 : Size maOldSize;
38 : sal_Int32 mnOldLeft;
39 : sal_Int32 mnOldRight;
40 : sal_Int32 mnOldUpper;
41 : sal_Int32 mnOldLower;
42 : Orientation meOldOrientation;
43 : sal_uInt16 mnOldPaperBin;
44 : sal_Bool mbOldFullSize;
45 :
46 : Size maNewSize;
47 : sal_Int32 mnNewLeft;
48 : sal_Int32 mnNewRight;
49 : sal_Int32 mnNewUpper;
50 : sal_Int32 mnNewLower;
51 : sal_Bool mbNewScale;
52 : Orientation meNewOrientation;
53 : sal_uInt16 mnNewPaperBin;
54 : sal_Bool mbNewFullSize;
55 :
56 : public:
57 : TYPEINFO();
58 0 : SdPageFormatUndoAction( SdDrawDocument* pDoc,
59 : SdPage* pThePage,
60 : const Size& rOldSz,
61 : sal_Int32 nOldLft,
62 : sal_Int32 nOldRgt,
63 : sal_Int32 nOldUpr,
64 : sal_Int32 nOldLwr,
65 : Orientation eOldOrient,
66 : sal_uInt16 nOPaperBin,
67 : sal_Bool bOFullSize,
68 :
69 : const Size& rNewSz,
70 : sal_Int32 nNewLft,
71 : sal_Int32 nNewRgt,
72 : sal_Int32 nNewUpr,
73 : sal_Int32 nNewLwr,
74 : sal_Bool bNewScl,
75 : Orientation eNewOrient,
76 : sal_uInt16 nNPaperBin,
77 : sal_Bool bNFullSize
78 : ) :
79 : SdUndoAction(pDoc),
80 : mpPage (pThePage),
81 : maOldSize (rOldSz),
82 : mnOldLeft (nOldLft),
83 : mnOldRight (nOldRgt),
84 : mnOldUpper (nOldUpr),
85 : mnOldLower (nOldLwr),
86 : meOldOrientation(eOldOrient),
87 : mnOldPaperBin (nOPaperBin),
88 : mbOldFullSize (bOFullSize),
89 :
90 :
91 : maNewSize (rNewSz),
92 : mnNewLeft (nNewLft),
93 : mnNewRight (nNewRgt),
94 : mnNewUpper (nNewUpr),
95 : mnNewLower (nNewLwr),
96 : mbNewScale (bNewScl),
97 : meNewOrientation(eNewOrient),
98 : mnNewPaperBin (nNPaperBin),
99 0 : mbNewFullSize (bNFullSize)
100 :
101 0 : {}
102 : virtual ~SdPageFormatUndoAction();
103 :
104 : virtual void Undo();
105 : virtual void Redo();
106 : };
107 :
108 : /************************************************************************/
109 :
110 : class SdPageLRUndoAction : public SdUndoAction
111 : {
112 : SdPage* mpPage;
113 :
114 : sal_Int32 mnOldLeft;
115 : sal_Int32 mnOldRight;
116 : sal_Int32 mnNewLeft;
117 : sal_Int32 mnNewRight;
118 :
119 : public:
120 : TYPEINFO();
121 0 : SdPageLRUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
122 : sal_Int32 nOldLft, sal_Int32 nOldRgt,
123 : sal_Int32 nNewLft, sal_Int32 nNewRgt ) :
124 : SdUndoAction(pDoc),
125 : mpPage (pThePage),
126 : mnOldLeft (nOldLft),
127 : mnOldRight (nOldRgt),
128 : mnNewLeft (nNewLft),
129 0 : mnNewRight (nNewRgt)
130 0 : {}
131 : virtual ~SdPageLRUndoAction();
132 :
133 : virtual void Undo();
134 : virtual void Redo();
135 : };
136 :
137 : /************************************************************************/
138 :
139 : class SdPageULUndoAction : public SdUndoAction
140 : {
141 : SdPage* mpPage;
142 :
143 : sal_Int32 mnOldUpper;
144 : sal_Int32 mnOldLower;
145 : sal_Int32 mnNewUpper;
146 : sal_Int32 mnNewLower;
147 :
148 : public:
149 : TYPEINFO();
150 0 : SdPageULUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
151 : sal_Int32 nOldUpr, sal_Int32 nOldLwr,
152 : sal_Int32 nNewUpr, sal_Int32 nNewLwr ) :
153 : SdUndoAction(pDoc),
154 : mpPage (pThePage),
155 : mnOldUpper (nOldUpr),
156 : mnOldLower (nOldLwr),
157 : mnNewUpper (nNewUpr),
158 0 : mnNewLower (nNewLwr)
159 0 : {}
160 : virtual ~SdPageULUndoAction();
161 :
162 : virtual void Undo();
163 : virtual void Redo();
164 : };
165 :
166 :
167 :
168 : #endif // _SD_UNDOPAGE_HXX
169 :
170 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|