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 INCLUDED_SD_SOURCE_UI_INC_UNDOPAGE_HXX
21 : #define INCLUDED_SD_SOURCE_UI_INC_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 : bool mbOldFullSize;
45 :
46 : Size maNewSize;
47 : sal_Int32 mnNewLeft;
48 : sal_Int32 mnNewRight;
49 : sal_Int32 mnNewUpper;
50 : sal_Int32 mnNewLower;
51 : bool mbNewScale;
52 : Orientation meNewOrientation;
53 : sal_uInt16 mnNewPaperBin;
54 : bool mbNewFullSize;
55 :
56 : public:
57 : TYPEINFO_OVERRIDE();
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 : bool bOFullSize,
68 :
69 : const Size& rNewSz,
70 : sal_Int32 nNewLft,
71 : sal_Int32 nNewRgt,
72 : sal_Int32 nNewUpr,
73 : sal_Int32 nNewLwr,
74 : bool bNewScl,
75 : Orientation eNewOrient,
76 : sal_uInt16 nNPaperBin,
77 : 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 : maNewSize (rNewSz),
91 : mnNewLeft (nNewLft),
92 : mnNewRight (nNewRgt),
93 : mnNewUpper (nNewUpr),
94 : mnNewLower (nNewLwr),
95 : mbNewScale (bNewScl),
96 : meNewOrientation(eNewOrient),
97 : mnNewPaperBin (nNPaperBin),
98 0 : mbNewFullSize (bNFullSize)
99 :
100 0 : {}
101 : virtual ~SdPageFormatUndoAction();
102 :
103 : virtual void Undo() SAL_OVERRIDE;
104 : virtual void Redo() SAL_OVERRIDE;
105 : };
106 :
107 : /************************************************************************/
108 :
109 : class SdPageLRUndoAction : public SdUndoAction
110 : {
111 : SdPage* mpPage;
112 :
113 : sal_Int32 mnOldLeft;
114 : sal_Int32 mnOldRight;
115 : sal_Int32 mnNewLeft;
116 : sal_Int32 mnNewRight;
117 :
118 : public:
119 : TYPEINFO_OVERRIDE();
120 0 : SdPageLRUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
121 : sal_Int32 nOldLft, sal_Int32 nOldRgt,
122 : sal_Int32 nNewLft, sal_Int32 nNewRgt ) :
123 : SdUndoAction(pDoc),
124 : mpPage (pThePage),
125 : mnOldLeft (nOldLft),
126 : mnOldRight (nOldRgt),
127 : mnNewLeft (nNewLft),
128 0 : mnNewRight (nNewRgt)
129 0 : {}
130 : virtual ~SdPageLRUndoAction();
131 :
132 : virtual void Undo() SAL_OVERRIDE;
133 : virtual void Redo() SAL_OVERRIDE;
134 : };
135 :
136 : /************************************************************************/
137 :
138 : class SdPageULUndoAction : public SdUndoAction
139 : {
140 : SdPage* mpPage;
141 :
142 : sal_Int32 mnOldUpper;
143 : sal_Int32 mnOldLower;
144 : sal_Int32 mnNewUpper;
145 : sal_Int32 mnNewLower;
146 :
147 : public:
148 : TYPEINFO_OVERRIDE();
149 0 : SdPageULUndoAction( SdDrawDocument* pDoc, SdPage* pThePage,
150 : sal_Int32 nOldUpr, sal_Int32 nOldLwr,
151 : sal_Int32 nNewUpr, sal_Int32 nNewLwr ) :
152 : SdUndoAction(pDoc),
153 : mpPage (pThePage),
154 : mnOldUpper (nOldUpr),
155 : mnOldLower (nOldLwr),
156 : mnNewUpper (nNewUpr),
157 0 : mnNewLower (nNewLwr)
158 0 : {}
159 : virtual ~SdPageULUndoAction();
160 :
161 : virtual void Undo() SAL_OVERRIDE;
162 : virtual void Redo() SAL_OVERRIDE;
163 : };
164 :
165 : #endif // INCLUDED_SD_SOURCE_UI_INC_UNDOPAGE_HXX
166 :
167 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|