Branch data 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 : : sal_Bool mbOldScale;
43 : : Orientation meOldOrientation;
44 : : sal_uInt16 mnOldPaperBin;
45 : : sal_Bool mbOldFullSize;
46 : :
47 : : Size maNewSize;
48 : : sal_Int32 mnNewLeft;
49 : : sal_Int32 mnNewRight;
50 : : sal_Int32 mnNewUpper;
51 : : sal_Int32 mnNewLower;
52 : : sal_Bool mbNewScale;
53 : : Orientation meNewOrientation;
54 : : sal_uInt16 mnNewPaperBin;
55 : : sal_Bool mbNewFullSize;
56 : :
57 : : public:
58 : : TYPEINFO();
59 : 0 : SdPageFormatUndoAction( SdDrawDocument* pDoc,
60 : : SdPage* pThePage,
61 : : const Size& rOldSz,
62 : : sal_Int32 nOldLft,
63 : : sal_Int32 nOldRgt,
64 : : sal_Int32 nOldUpr,
65 : : sal_Int32 nOldLwr,
66 : : sal_Bool bOldScl,
67 : : Orientation eOldOrient,
68 : : sal_uInt16 nOPaperBin,
69 : : sal_Bool bOFullSize,
70 : :
71 : : const Size& rNewSz,
72 : : sal_Int32 nNewLft,
73 : : sal_Int32 nNewRgt,
74 : : sal_Int32 nNewUpr,
75 : : sal_Int32 nNewLwr,
76 : : sal_Bool bNewScl,
77 : : Orientation eNewOrient,
78 : : sal_uInt16 nNPaperBin,
79 : : sal_Bool bNFullSize
80 : : ) :
81 : : SdUndoAction(pDoc),
82 : : mpPage (pThePage),
83 : : maOldSize (rOldSz),
84 : : mnOldLeft (nOldLft),
85 : : mnOldRight (nOldRgt),
86 : : mnOldUpper (nOldUpr),
87 : : mnOldLower (nOldLwr),
88 : : mbOldScale (bOldScl),
89 : : meOldOrientation(eOldOrient),
90 : : mnOldPaperBin (nOPaperBin),
91 : : mbOldFullSize (bOFullSize),
92 : :
93 : :
94 : : maNewSize (rNewSz),
95 : : mnNewLeft (nNewLft),
96 : : mnNewRight (nNewRgt),
97 : : mnNewUpper (nNewUpr),
98 : : mnNewLower (nNewLwr),
99 : : mbNewScale (bNewScl),
100 : : meNewOrientation(eNewOrient),
101 : : mnNewPaperBin (nNPaperBin),
102 : 0 : mbNewFullSize (bNFullSize)
103 : :
104 : 0 : {}
105 : : virtual ~SdPageFormatUndoAction();
106 : :
107 : : virtual void Undo();
108 : : virtual void Redo();
109 : : };
110 : :
111 : : /************************************************************************/
112 : :
113 : : class SdPageLRUndoAction : public SdUndoAction
114 : : {
115 : : SdPage* mpPage;
116 : :
117 : : sal_Int32 mnOldLeft;
118 : : sal_Int32 mnOldRight;
119 : : sal_Int32 mnNewLeft;
120 : : sal_Int32 mnNewRight;
121 : :
122 : : public:
123 : : TYPEINFO();
124 : 0 : SdPageLRUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
125 : : sal_Int32 nOldLft, sal_Int32 nOldRgt,
126 : : sal_Int32 nNewLft, sal_Int32 nNewRgt ) :
127 : : SdUndoAction(pDoc),
128 : : mpPage (pThePage),
129 : : mnOldLeft (nOldLft),
130 : : mnOldRight (nOldRgt),
131 : : mnNewLeft (nNewLft),
132 : 0 : mnNewRight (nNewRgt)
133 : 0 : {}
134 : : virtual ~SdPageLRUndoAction();
135 : :
136 : : virtual void Undo();
137 : : virtual void Redo();
138 : : };
139 : :
140 : : /************************************************************************/
141 : :
142 : : class SdPageULUndoAction : public SdUndoAction
143 : : {
144 : : SdPage* mpPage;
145 : :
146 : : sal_Int32 mnOldUpper;
147 : : sal_Int32 mnOldLower;
148 : : sal_Int32 mnNewUpper;
149 : : sal_Int32 mnNewLower;
150 : :
151 : : public:
152 : : TYPEINFO();
153 : 0 : SdPageULUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
154 : : sal_Int32 nOldUpr, sal_Int32 nOldLwr,
155 : : sal_Int32 nNewUpr, sal_Int32 nNewLwr ) :
156 : : SdUndoAction(pDoc),
157 : : mpPage (pThePage),
158 : : mnOldUpper (nOldUpr),
159 : : mnOldLower (nOldLwr),
160 : : mnNewUpper (nNewUpr),
161 : 0 : mnNewLower (nNewLwr)
162 : 0 : {}
163 : : virtual ~SdPageULUndoAction();
164 : :
165 : : virtual void Undo();
166 : : virtual void Redo();
167 : : };
168 : :
169 : :
170 : :
171 : : #endif // _SD_UNDOPAGE_HXX
172 : :
173 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|