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 SW_UNDO_TXT_FMT_COLL_HXX
21 : #define SW_UNDO_TXT_FMT_COLL_HXX
22 :
23 : #include <undobj.hxx>
24 : #include <swundo.hxx>
25 : #include <numrule.hxx>
26 :
27 : class SwDoc;
28 : class SwTxtFmtColl;
29 : class String;
30 : class SwRewriter;
31 : class SfxItemSet;
32 :
33 : class SwUndoFmtCreate : public SwUndo
34 : {
35 : protected:
36 : SwFmt * pNew;
37 : String sDerivedFrom;
38 : SwDoc * pDoc;
39 : mutable String sNewName;
40 : SfxItemSet * pNewSet;
41 : sal_uInt16 nId; // FmtId related
42 : sal_Bool bAuto;
43 :
44 : public:
45 : SwUndoFmtCreate(SwUndoId nUndoId, SwFmt * pNew, SwFmt * pDerivedFrom,
46 : SwDoc * pDoc);
47 : virtual ~SwUndoFmtCreate();
48 :
49 : virtual void UndoImpl( ::sw::UndoRedoContext & );
50 : virtual void RedoImpl( ::sw::UndoRedoContext & );
51 :
52 : virtual SwRewriter GetRewriter() const;
53 :
54 : virtual SwFmt * Create(SwFmt * pDerivedFrom) = 0;
55 : virtual void Delete() = 0;
56 : virtual SwFmt * Find(const String & rName) const = 0;
57 : };
58 :
59 : class SwUndoFmtDelete : public SwUndo
60 : {
61 : protected:
62 : String sDerivedFrom;
63 : SwDoc * pDoc;
64 : String sOldName;
65 : SfxItemSet aOldSet;
66 : sal_uInt16 nId; // FmtId related
67 : sal_Bool bAuto;
68 :
69 : public:
70 : SwUndoFmtDelete(SwUndoId nUndoId, SwFmt * pOld, SwDoc * pDoc);
71 : ~SwUndoFmtDelete();
72 :
73 : virtual void UndoImpl( ::sw::UndoRedoContext & );
74 : virtual void RedoImpl( ::sw::UndoRedoContext & );
75 :
76 : virtual SwRewriter GetRewriter() const;
77 :
78 : virtual SwFmt * Create(SwFmt * pDerivedFrom) = 0;
79 : virtual void Delete(SwFmt * pFmt) = 0;
80 : virtual SwFmt * Find(const String & rName) const = 0;
81 : };
82 :
83 : class SwUndoRenameFmt : public SwUndo
84 : {
85 : protected:
86 : String sOldName, sNewName;
87 : SwDoc * pDoc;
88 :
89 : public:
90 : SwUndoRenameFmt(SwUndoId nUndoId, const String & sOldName,
91 : const String & sNewName,
92 : SwDoc * pDoc);
93 : ~SwUndoRenameFmt();
94 :
95 : virtual void UndoImpl( ::sw::UndoRedoContext & );
96 : virtual void RedoImpl( ::sw::UndoRedoContext & );
97 :
98 : SwRewriter GetRewriter() const;
99 :
100 : virtual SwFmt * Find(const String & rName) const = 0;
101 : };
102 :
103 0 : class SwUndoTxtFmtCollCreate : public SwUndoFmtCreate
104 : {
105 : public:
106 : SwUndoTxtFmtCollCreate(SwTxtFmtColl * pNew, SwTxtFmtColl * pDerivedFrom,
107 : SwDoc * pDoc);
108 :
109 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
110 : virtual void Delete();
111 : virtual SwFmt * Find(const String & rName) const;
112 : };
113 :
114 0 : class SwUndoTxtFmtCollDelete : public SwUndoFmtDelete
115 : {
116 : public:
117 : SwUndoTxtFmtCollDelete(SwTxtFmtColl * pOld, SwDoc * pDoc);
118 :
119 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
120 : virtual void Delete(SwFmt * pFmt);
121 : virtual SwFmt * Find(const String & rName) const;
122 : };
123 :
124 0 : class SwUndoRenameFmtColl : public SwUndoRenameFmt
125 : {
126 : public:
127 : SwUndoRenameFmtColl(const String & sOldName,
128 : const String & sNewName,
129 : SwDoc * pDoc);
130 :
131 : virtual SwFmt * Find(const String & rName) const;
132 : };
133 :
134 0 : class SwUndoCharFmtCreate : public SwUndoFmtCreate
135 : {
136 : public:
137 : SwUndoCharFmtCreate(SwCharFmt * pNew, SwCharFmt * pDerivedFrom,
138 : SwDoc * pDoc);
139 :
140 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
141 : virtual void Delete();
142 : virtual SwFmt * Find(const String & rName) const;
143 : };
144 :
145 0 : class SwUndoCharFmtDelete : public SwUndoFmtDelete
146 : {
147 : public:
148 : SwUndoCharFmtDelete(SwCharFmt * pOld, SwDoc * pDoc);
149 :
150 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
151 : virtual void Delete(SwFmt * pFmt);
152 : virtual SwFmt * Find(const String & rName) const;
153 : };
154 :
155 0 : class SwUndoRenameCharFmt : public SwUndoRenameFmt
156 : {
157 : public:
158 : SwUndoRenameCharFmt(const String & sOldName,
159 : const String & sNewName,
160 : SwDoc * pDoc);
161 :
162 : virtual SwFmt * Find(const String & rName) const;
163 : };
164 :
165 0 : class SwUndoFrmFmtCreate : public SwUndoFmtCreate
166 : {
167 : sal_Bool bAuto;
168 :
169 : public:
170 : SwUndoFrmFmtCreate(SwFrmFmt * pNew, SwFrmFmt * pDerivedFrom,
171 : SwDoc * pDoc);
172 :
173 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
174 : virtual void Delete();
175 : virtual SwFmt * Find(const String & rName) const;
176 : };
177 :
178 0 : class SwUndoFrmFmtDelete : public SwUndoFmtDelete
179 : {
180 : public:
181 : SwUndoFrmFmtDelete(SwFrmFmt * pOld, SwDoc * pDoc);
182 :
183 : virtual SwFmt * Create(SwFmt * pDerivedFrom);
184 : virtual void Delete(SwFmt * pFmt);
185 : virtual SwFmt * Find(const String & rName) const;
186 : };
187 :
188 0 : class SwUndoRenameFrmFmt : public SwUndoRenameFmt
189 : {
190 : public:
191 : SwUndoRenameFrmFmt(const String & sOldName,
192 : const String & sNewName,
193 : SwDoc * pDoc);
194 :
195 : virtual SwFmt * Find(const String & rName) const;
196 : };
197 :
198 0 : class SwUndoNumruleCreate : public SwUndo
199 : {
200 : const SwNumRule * pNew;
201 : mutable SwNumRule aNew;
202 : SwDoc * pDoc;
203 : mutable bool bInitialized;
204 :
205 : public:
206 : SwUndoNumruleCreate(const SwNumRule * pNew, SwDoc * pDoc);
207 :
208 : virtual void UndoImpl( ::sw::UndoRedoContext & );
209 : virtual void RedoImpl( ::sw::UndoRedoContext & );
210 :
211 : SwRewriter GetRewriter() const;
212 : };
213 :
214 0 : class SwUndoNumruleDelete : public SwUndo
215 : {
216 : SwNumRule aOld;
217 : SwDoc * pDoc;
218 :
219 : public:
220 : SwUndoNumruleDelete(const SwNumRule & aRule, SwDoc * pDoc);
221 :
222 : virtual void UndoImpl( ::sw::UndoRedoContext & );
223 : virtual void RedoImpl( ::sw::UndoRedoContext & );
224 :
225 : SwRewriter GetRewriter() const;
226 : };
227 :
228 0 : class SwUndoNumruleRename : public SwUndo
229 : {
230 : String aOldName, aNewName;
231 : SwDoc * pDoc;
232 :
233 : public:
234 : SwUndoNumruleRename(const String & aOldName, const String & aNewName,
235 : SwDoc * pDoc);
236 :
237 : virtual void UndoImpl( ::sw::UndoRedoContext & );
238 : virtual void RedoImpl( ::sw::UndoRedoContext & );
239 :
240 : SwRewriter GetRewriter() const;
241 : };
242 :
243 : #endif // SW_UNDO_TXT_FMT_COLL_HXX
244 :
245 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|