1*efeef26fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file
5*efeef26fSAndrew Rist * distributed with this work for additional information
6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the
8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance
9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at
10cdf0e10cSrcweir *
11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing,
14*efeef26fSAndrew Rist * software distributed under the License is distributed on an
15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the
17*efeef26fSAndrew Rist * specific language governing permissions and limitations
18*efeef26fSAndrew Rist * under the License.
19cdf0e10cSrcweir *
20*efeef26fSAndrew Rist *************************************************************/
21*efeef26fSAndrew Rist
22*efeef26fSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sw.hxx"
26cdf0e10cSrcweir
27cdf0e10cSrcweir #include <tools/resid.hxx>
28cdf0e10cSrcweir #include <tools/string.hxx>
29cdf0e10cSrcweir
30cdf0e10cSrcweir #include <poolfmt.hxx>
31cdf0e10cSrcweir #include <charfmt.hxx>
32cdf0e10cSrcweir #include <frmfmt.hxx>
33cdf0e10cSrcweir #include <SwUndoFmt.hxx>
34cdf0e10cSrcweir #include <SwRewriter.hxx>
35cdf0e10cSrcweir #include <swundo.hxx>
36cdf0e10cSrcweir #include <undobj.hxx>
37cdf0e10cSrcweir #include <fmtcol.hxx>
38cdf0e10cSrcweir #include <doc.hxx>
39cdf0e10cSrcweir #include <IDocumentUndoRedo.hxx>
40cdf0e10cSrcweir #include <comcore.hrc>
41cdf0e10cSrcweir
SwUndoFmtCreate(SwUndoId nUndoId,SwFmt * _pNew,SwFmt * _pDerivedFrom,SwDoc * _pDoc)42cdf0e10cSrcweir SwUndoFmtCreate::SwUndoFmtCreate
43cdf0e10cSrcweir (SwUndoId nUndoId, SwFmt * _pNew, SwFmt * _pDerivedFrom, SwDoc * _pDoc)
44cdf0e10cSrcweir : SwUndo(nUndoId), pNew(_pNew),
45cdf0e10cSrcweir pDoc(_pDoc), pNewSet(NULL), nId(0), bAuto(sal_False)
46cdf0e10cSrcweir {
47cdf0e10cSrcweir if (_pDerivedFrom)
48cdf0e10cSrcweir sDerivedFrom = _pDerivedFrom->GetName();
49cdf0e10cSrcweir }
50cdf0e10cSrcweir
~SwUndoFmtCreate()51cdf0e10cSrcweir SwUndoFmtCreate::~SwUndoFmtCreate()
52cdf0e10cSrcweir {
53cdf0e10cSrcweir }
54cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)55cdf0e10cSrcweir void SwUndoFmtCreate::UndoImpl(::sw::UndoRedoContext &)
56cdf0e10cSrcweir {
57cdf0e10cSrcweir if (pNew)
58cdf0e10cSrcweir {
59cdf0e10cSrcweir if (sNewName.Len() == 0 && pNew)
60cdf0e10cSrcweir sNewName = pNew->GetName();
61cdf0e10cSrcweir
62cdf0e10cSrcweir if (sNewName.Len() > 0)
63cdf0e10cSrcweir pNew = Find(sNewName);
64cdf0e10cSrcweir
65cdf0e10cSrcweir if (pNew)
66cdf0e10cSrcweir {
67cdf0e10cSrcweir pNewSet = new SfxItemSet(pNew->GetAttrSet());
68cdf0e10cSrcweir nId = pNew->GetPoolFmtId() & COLL_GET_RANGE_BITS;
69cdf0e10cSrcweir bAuto = pNew->IsAuto();
70cdf0e10cSrcweir
71cdf0e10cSrcweir Delete();
72cdf0e10cSrcweir }
73cdf0e10cSrcweir }
74cdf0e10cSrcweir }
75cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)76cdf0e10cSrcweir void SwUndoFmtCreate::RedoImpl(::sw::UndoRedoContext &)
77cdf0e10cSrcweir {
78cdf0e10cSrcweir SwFmt * pDerivedFrom = Find(sDerivedFrom);
79cdf0e10cSrcweir SwFmt * pFmt = Create(pDerivedFrom);
80cdf0e10cSrcweir
81cdf0e10cSrcweir if (pFmt && pNewSet)
82cdf0e10cSrcweir {
83cdf0e10cSrcweir pFmt->SetAuto(bAuto);
84cdf0e10cSrcweir pDoc->ChgFmt(*pFmt, *pNewSet);
85cdf0e10cSrcweir pFmt->SetPoolFmtId((pFmt->GetPoolFmtId()
86cdf0e10cSrcweir & ~COLL_GET_RANGE_BITS)
87cdf0e10cSrcweir | nId);
88cdf0e10cSrcweir
89cdf0e10cSrcweir pNew = pFmt;
90cdf0e10cSrcweir }
91cdf0e10cSrcweir else
92cdf0e10cSrcweir pNew = NULL;
93cdf0e10cSrcweir }
94cdf0e10cSrcweir
GetRewriter() const95cdf0e10cSrcweir SwRewriter SwUndoFmtCreate::GetRewriter() const
96cdf0e10cSrcweir {
97cdf0e10cSrcweir if (sNewName.Len() == 0 && pNew)
98cdf0e10cSrcweir sNewName = pNew->GetName();
99cdf0e10cSrcweir
100cdf0e10cSrcweir SwRewriter aRewriter;
101cdf0e10cSrcweir
102cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG1, sNewName);
103cdf0e10cSrcweir
104cdf0e10cSrcweir return aRewriter;
105cdf0e10cSrcweir }
106cdf0e10cSrcweir
SwUndoFmtDelete(SwUndoId nUndoId,SwFmt * _pOld,SwDoc * _pDoc)107cdf0e10cSrcweir SwUndoFmtDelete::SwUndoFmtDelete
108cdf0e10cSrcweir (SwUndoId nUndoId, SwFmt * _pOld, SwDoc * _pDoc)
109cdf0e10cSrcweir : SwUndo(nUndoId),
110cdf0e10cSrcweir pDoc(_pDoc), sOldName(_pOld->GetName()),
111cdf0e10cSrcweir aOldSet(_pOld->GetAttrSet())
112cdf0e10cSrcweir {
113cdf0e10cSrcweir sDerivedFrom = _pOld->DerivedFrom()->GetName();
114cdf0e10cSrcweir nId = _pOld->GetPoolFmtId() & COLL_GET_RANGE_BITS;
115cdf0e10cSrcweir bAuto = _pOld->IsAuto();
116cdf0e10cSrcweir }
117cdf0e10cSrcweir
~SwUndoFmtDelete()118cdf0e10cSrcweir SwUndoFmtDelete::~SwUndoFmtDelete()
119cdf0e10cSrcweir {
120cdf0e10cSrcweir }
121cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)122cdf0e10cSrcweir void SwUndoFmtDelete::UndoImpl(::sw::UndoRedoContext &)
123cdf0e10cSrcweir {
124cdf0e10cSrcweir SwFmt * pDerivedFrom = Find(sDerivedFrom);
125cdf0e10cSrcweir
126cdf0e10cSrcweir SwFmt * pFmt = Create(pDerivedFrom);
127cdf0e10cSrcweir
128cdf0e10cSrcweir if (pFmt)
129cdf0e10cSrcweir {
130cdf0e10cSrcweir pDoc->ChgFmt(*pFmt, aOldSet);
131cdf0e10cSrcweir pFmt->SetAuto(bAuto);
132cdf0e10cSrcweir pFmt->SetPoolFmtId((pFmt->GetPoolFmtId() &
133cdf0e10cSrcweir ~COLL_GET_RANGE_BITS)
134cdf0e10cSrcweir | nId);
135cdf0e10cSrcweir }
136cdf0e10cSrcweir }
137cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)138cdf0e10cSrcweir void SwUndoFmtDelete::RedoImpl(::sw::UndoRedoContext &)
139cdf0e10cSrcweir {
140cdf0e10cSrcweir SwFmt * pOld = Find(sOldName);
141cdf0e10cSrcweir
142cdf0e10cSrcweir if (pOld)
143cdf0e10cSrcweir {
144cdf0e10cSrcweir Delete(pOld);
145cdf0e10cSrcweir }
146cdf0e10cSrcweir }
147cdf0e10cSrcweir
GetRewriter() const148cdf0e10cSrcweir SwRewriter SwUndoFmtDelete::GetRewriter() const
149cdf0e10cSrcweir {
150cdf0e10cSrcweir SwRewriter aRewriter;
151cdf0e10cSrcweir
152cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG1, sOldName);
153cdf0e10cSrcweir
154cdf0e10cSrcweir return aRewriter;
155cdf0e10cSrcweir }
156cdf0e10cSrcweir
SwUndoRenameFmt(SwUndoId nUndoId,const String & _sOldName,const String & _sNewName,SwDoc * _pDoc)157cdf0e10cSrcweir SwUndoRenameFmt::SwUndoRenameFmt(SwUndoId nUndoId,
158cdf0e10cSrcweir const String & _sOldName,
159cdf0e10cSrcweir const String & _sNewName,
160cdf0e10cSrcweir SwDoc * _pDoc)
161cdf0e10cSrcweir : SwUndo(nUndoId), sOldName(_sOldName),
162cdf0e10cSrcweir sNewName(_sNewName), pDoc(_pDoc)
163cdf0e10cSrcweir {
164cdf0e10cSrcweir }
165cdf0e10cSrcweir
166cdf0e10cSrcweir
~SwUndoRenameFmt()167cdf0e10cSrcweir SwUndoRenameFmt::~SwUndoRenameFmt()
168cdf0e10cSrcweir {
169cdf0e10cSrcweir }
170cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)171cdf0e10cSrcweir void SwUndoRenameFmt::UndoImpl(::sw::UndoRedoContext &)
172cdf0e10cSrcweir {
173cdf0e10cSrcweir SwFmt * pFmt = Find(sNewName);
174cdf0e10cSrcweir
175cdf0e10cSrcweir if (pFmt)
176cdf0e10cSrcweir {
177cdf0e10cSrcweir pDoc->RenameFmt(*pFmt, sOldName, sal_True);
178cdf0e10cSrcweir }
179cdf0e10cSrcweir }
180cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)181cdf0e10cSrcweir void SwUndoRenameFmt::RedoImpl(::sw::UndoRedoContext &)
182cdf0e10cSrcweir {
183cdf0e10cSrcweir SwFmt * pFmt = Find(sOldName);
184cdf0e10cSrcweir
185cdf0e10cSrcweir if (pFmt)
186cdf0e10cSrcweir {
187cdf0e10cSrcweir pDoc->RenameFmt(*pFmt, sNewName, sal_True);
188cdf0e10cSrcweir }
189cdf0e10cSrcweir }
190cdf0e10cSrcweir
GetRewriter() const191cdf0e10cSrcweir SwRewriter SwUndoRenameFmt::GetRewriter() const
192cdf0e10cSrcweir {
193cdf0e10cSrcweir SwRewriter aRewriter;
194cdf0e10cSrcweir
195cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG1, sOldName);
196cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG2, SW_RES(STR_YIELDS));
197cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG3, sNewName);
198cdf0e10cSrcweir
199cdf0e10cSrcweir return aRewriter;
200cdf0e10cSrcweir }
201cdf0e10cSrcweir
SwUndoTxtFmtCollCreate(SwTxtFmtColl * _pNew,SwTxtFmtColl * _pDerivedFrom,SwDoc * _pDoc)202cdf0e10cSrcweir SwUndoTxtFmtCollCreate::SwUndoTxtFmtCollCreate
203cdf0e10cSrcweir (SwTxtFmtColl * _pNew, SwTxtFmtColl * _pDerivedFrom, SwDoc * _pDoc)
204cdf0e10cSrcweir : SwUndoFmtCreate(UNDO_TXTFMTCOL_CREATE, _pNew, _pDerivedFrom, _pDoc)
205cdf0e10cSrcweir {
206cdf0e10cSrcweir }
207cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)208cdf0e10cSrcweir SwFmt * SwUndoTxtFmtCollCreate::Create(SwFmt * pDerivedFrom)
209cdf0e10cSrcweir {
210cdf0e10cSrcweir return pDoc->MakeTxtFmtColl(sNewName, (SwTxtFmtColl *)pDerivedFrom, sal_True);
211cdf0e10cSrcweir }
212cdf0e10cSrcweir
Delete()213cdf0e10cSrcweir void SwUndoTxtFmtCollCreate::Delete()
214cdf0e10cSrcweir {
215cdf0e10cSrcweir pDoc->DelTxtFmtColl((SwTxtFmtColl *) pNew, sal_True);
216cdf0e10cSrcweir }
217cdf0e10cSrcweir
Find(const String & rName) const218cdf0e10cSrcweir SwFmt * SwUndoTxtFmtCollCreate::Find(const String & rName) const
219cdf0e10cSrcweir {
220cdf0e10cSrcweir return pDoc->FindTxtFmtCollByName(rName);
221cdf0e10cSrcweir }
222cdf0e10cSrcweir
SwUndoTxtFmtCollDelete(SwTxtFmtColl * _pOld,SwDoc * _pDoc)223cdf0e10cSrcweir SwUndoTxtFmtCollDelete::SwUndoTxtFmtCollDelete(SwTxtFmtColl * _pOld,
224cdf0e10cSrcweir SwDoc * _pDoc)
225cdf0e10cSrcweir : SwUndoFmtDelete(UNDO_TXTFMTCOL_DELETE, _pOld, _pDoc)
226cdf0e10cSrcweir {
227cdf0e10cSrcweir }
228cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)229cdf0e10cSrcweir SwFmt * SwUndoTxtFmtCollDelete::Create(SwFmt * pDerivedFrom)
230cdf0e10cSrcweir {
231cdf0e10cSrcweir return pDoc->MakeTxtFmtColl(sOldName, (SwTxtFmtColl *) pDerivedFrom, sal_True);
232cdf0e10cSrcweir }
233cdf0e10cSrcweir
Delete(SwFmt * pOld)234cdf0e10cSrcweir void SwUndoTxtFmtCollDelete::Delete(SwFmt * pOld)
235cdf0e10cSrcweir {
236cdf0e10cSrcweir pDoc->DelTxtFmtColl((SwTxtFmtColl *) pOld, sal_True);
237cdf0e10cSrcweir }
238cdf0e10cSrcweir
Find(const String & rName) const239cdf0e10cSrcweir SwFmt * SwUndoTxtFmtCollDelete::Find(const String & rName) const
240cdf0e10cSrcweir {
241cdf0e10cSrcweir return pDoc->FindTxtFmtCollByName(rName);
242cdf0e10cSrcweir }
243cdf0e10cSrcweir
SwUndoRenameFmtColl(const String & sInitOldName,const String & sInitNewName,SwDoc * _pDoc)244cdf0e10cSrcweir SwUndoRenameFmtColl::SwUndoRenameFmtColl(const String & sInitOldName,
245cdf0e10cSrcweir const String & sInitNewName,
246cdf0e10cSrcweir SwDoc * _pDoc)
247cdf0e10cSrcweir : SwUndoRenameFmt(UNDO_TXTFMTCOL_RENAME, sInitOldName, sInitNewName, _pDoc)
248cdf0e10cSrcweir {
249cdf0e10cSrcweir }
250cdf0e10cSrcweir
Find(const String & rName) const251cdf0e10cSrcweir SwFmt * SwUndoRenameFmtColl::Find(const String & rName) const
252cdf0e10cSrcweir {
253cdf0e10cSrcweir return pDoc->FindTxtFmtCollByName(rName);
254cdf0e10cSrcweir }
255cdf0e10cSrcweir
SwUndoCharFmtCreate(SwCharFmt * pNewFmt,SwCharFmt * pDerivedFrom,SwDoc * pDocument)256cdf0e10cSrcweir SwUndoCharFmtCreate::SwUndoCharFmtCreate(SwCharFmt * pNewFmt,
257cdf0e10cSrcweir SwCharFmt * pDerivedFrom,
258cdf0e10cSrcweir SwDoc * pDocument)
259cdf0e10cSrcweir : SwUndoFmtCreate(UNDO_CHARFMT_CREATE, pNewFmt, pDerivedFrom, pDocument)
260cdf0e10cSrcweir {
261cdf0e10cSrcweir }
262cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)263cdf0e10cSrcweir SwFmt * SwUndoCharFmtCreate::Create(SwFmt * pDerivedFrom)
264cdf0e10cSrcweir {
265cdf0e10cSrcweir return pDoc->MakeCharFmt(sNewName, (SwCharFmt *) pDerivedFrom, sal_True);
266cdf0e10cSrcweir }
267cdf0e10cSrcweir
Delete()268cdf0e10cSrcweir void SwUndoCharFmtCreate::Delete()
269cdf0e10cSrcweir {
270cdf0e10cSrcweir pDoc->DelCharFmt((SwCharFmt *) pNew, sal_True);
271cdf0e10cSrcweir }
272cdf0e10cSrcweir
Find(const String & rName) const273cdf0e10cSrcweir SwFmt * SwUndoCharFmtCreate::Find(const String & rName) const
274cdf0e10cSrcweir {
275cdf0e10cSrcweir return pDoc->FindCharFmtByName(rName);
276cdf0e10cSrcweir }
277cdf0e10cSrcweir
SwUndoCharFmtDelete(SwCharFmt * pOld,SwDoc * pDocument)278cdf0e10cSrcweir SwUndoCharFmtDelete::SwUndoCharFmtDelete(SwCharFmt * pOld, SwDoc * pDocument)
279cdf0e10cSrcweir : SwUndoFmtDelete(UNDO_CHARFMT_DELETE, pOld, pDocument)
280cdf0e10cSrcweir {
281cdf0e10cSrcweir }
282cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)283cdf0e10cSrcweir SwFmt * SwUndoCharFmtDelete::Create(SwFmt * pDerivedFrom)
284cdf0e10cSrcweir {
285cdf0e10cSrcweir return pDoc->MakeCharFmt(sOldName, (SwCharFmt *) pDerivedFrom, sal_True);
286cdf0e10cSrcweir }
287cdf0e10cSrcweir
Delete(SwFmt * pFmt)288cdf0e10cSrcweir void SwUndoCharFmtDelete::Delete(SwFmt * pFmt)
289cdf0e10cSrcweir {
290cdf0e10cSrcweir pDoc->DelCharFmt((SwCharFmt *) pFmt, sal_True);
291cdf0e10cSrcweir }
292cdf0e10cSrcweir
Find(const String & rName) const293cdf0e10cSrcweir SwFmt * SwUndoCharFmtDelete::Find(const String & rName) const
294cdf0e10cSrcweir {
295cdf0e10cSrcweir return pDoc->FindCharFmtByName(rName);
296cdf0e10cSrcweir }
297cdf0e10cSrcweir
SwUndoRenameCharFmt(const String & sInitOldName,const String & sInitNewName,SwDoc * pDocument)298cdf0e10cSrcweir SwUndoRenameCharFmt::SwUndoRenameCharFmt(const String & sInitOldName,
299cdf0e10cSrcweir const String & sInitNewName,
300cdf0e10cSrcweir SwDoc * pDocument)
301cdf0e10cSrcweir : SwUndoRenameFmt(UNDO_CHARFMT_RENAME, sInitOldName, sInitNewName, pDocument)
302cdf0e10cSrcweir {
303cdf0e10cSrcweir }
304cdf0e10cSrcweir
Find(const String & rName) const305cdf0e10cSrcweir SwFmt * SwUndoRenameCharFmt::Find(const String & rName) const
306cdf0e10cSrcweir {
307cdf0e10cSrcweir return pDoc->FindCharFmtByName(rName);
308cdf0e10cSrcweir }
309cdf0e10cSrcweir
SwUndoFrmFmtCreate(SwFrmFmt * pNewFmt,SwFrmFmt * pDerivedFrom,SwDoc * pDocument)310cdf0e10cSrcweir SwUndoFrmFmtCreate::SwUndoFrmFmtCreate(SwFrmFmt * pNewFmt,
311cdf0e10cSrcweir SwFrmFmt * pDerivedFrom,
312cdf0e10cSrcweir SwDoc * pDocument)
313cdf0e10cSrcweir : SwUndoFmtCreate(UNDO_FRMFMT_CREATE, pNewFmt, pDerivedFrom, pDocument),
314cdf0e10cSrcweir bAuto(pNewFmt->IsAuto())
315cdf0e10cSrcweir {
316cdf0e10cSrcweir }
317cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)318cdf0e10cSrcweir SwFmt * SwUndoFrmFmtCreate::Create(SwFmt * pDerivedFrom)
319cdf0e10cSrcweir {
320cdf0e10cSrcweir return pDoc->MakeFrmFmt(sNewName, (SwFrmFmt *) pDerivedFrom, sal_True, bAuto);
321cdf0e10cSrcweir }
322cdf0e10cSrcweir
Delete()323cdf0e10cSrcweir void SwUndoFrmFmtCreate::Delete()
324cdf0e10cSrcweir {
325cdf0e10cSrcweir pDoc->DelFrmFmt((SwFrmFmt *) pNew, sal_True);
326cdf0e10cSrcweir }
327cdf0e10cSrcweir
Find(const String & rName) const328cdf0e10cSrcweir SwFmt * SwUndoFrmFmtCreate::Find(const String & rName) const
329cdf0e10cSrcweir {
330cdf0e10cSrcweir return pDoc->FindFrmFmtByName(rName);
331cdf0e10cSrcweir }
332cdf0e10cSrcweir
SwUndoFrmFmtDelete(SwFrmFmt * pOld,SwDoc * pDocument)333cdf0e10cSrcweir SwUndoFrmFmtDelete::SwUndoFrmFmtDelete(SwFrmFmt * pOld, SwDoc * pDocument)
334cdf0e10cSrcweir : SwUndoFmtDelete(UNDO_FRMFMT_DELETE, pOld, pDocument)
335cdf0e10cSrcweir {
336cdf0e10cSrcweir }
337cdf0e10cSrcweir
Create(SwFmt * pDerivedFrom)338cdf0e10cSrcweir SwFmt * SwUndoFrmFmtDelete::Create(SwFmt * pDerivedFrom)
339cdf0e10cSrcweir {
340cdf0e10cSrcweir return pDoc->MakeFrmFmt(sOldName, (SwFrmFmt *) pDerivedFrom, sal_True);
341cdf0e10cSrcweir }
342cdf0e10cSrcweir
Delete(SwFmt * pFmt)343cdf0e10cSrcweir void SwUndoFrmFmtDelete::Delete(SwFmt * pFmt)
344cdf0e10cSrcweir {
345cdf0e10cSrcweir pDoc->DelFrmFmt((SwFrmFmt *) pFmt, sal_True);
346cdf0e10cSrcweir }
347cdf0e10cSrcweir
Find(const String & rName) const348cdf0e10cSrcweir SwFmt * SwUndoFrmFmtDelete::Find(const String & rName) const
349cdf0e10cSrcweir {
350cdf0e10cSrcweir return pDoc->FindFrmFmtByName(rName);
351cdf0e10cSrcweir }
352cdf0e10cSrcweir
SwUndoRenameFrmFmt(const String & sInitOldName,const String & sInitNewName,SwDoc * pDocument)353cdf0e10cSrcweir SwUndoRenameFrmFmt::SwUndoRenameFrmFmt(const String & sInitOldName,
354cdf0e10cSrcweir const String & sInitNewName,
355cdf0e10cSrcweir SwDoc * pDocument)
356cdf0e10cSrcweir : SwUndoRenameFmt(UNDO_FRMFMT_RENAME, sInitOldName, sInitNewName, pDocument)
357cdf0e10cSrcweir {
358cdf0e10cSrcweir }
359cdf0e10cSrcweir
Find(const String & rName) const360cdf0e10cSrcweir SwFmt * SwUndoRenameFrmFmt::Find(const String & rName) const
361cdf0e10cSrcweir {
362cdf0e10cSrcweir return pDoc->FindFrmFmtByName(rName);
363cdf0e10cSrcweir }
364cdf0e10cSrcweir
SwUndoNumruleCreate(const SwNumRule * _pNew,SwDoc * _pDoc)365cdf0e10cSrcweir SwUndoNumruleCreate::SwUndoNumruleCreate(const SwNumRule * _pNew,
366cdf0e10cSrcweir SwDoc * _pDoc)
367cdf0e10cSrcweir : SwUndo(UNDO_NUMRULE_CREATE), pNew(_pNew), aNew(*_pNew), pDoc(_pDoc),
368cdf0e10cSrcweir bInitialized(false)
369cdf0e10cSrcweir {
370cdf0e10cSrcweir }
371cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)372cdf0e10cSrcweir void SwUndoNumruleCreate::UndoImpl(::sw::UndoRedoContext &)
373cdf0e10cSrcweir {
374cdf0e10cSrcweir if (! bInitialized)
375cdf0e10cSrcweir {
376cdf0e10cSrcweir aNew = *pNew;
377cdf0e10cSrcweir bInitialized = true;
378cdf0e10cSrcweir }
379cdf0e10cSrcweir
380cdf0e10cSrcweir pDoc->DelNumRule(aNew.GetName(), sal_True);
381cdf0e10cSrcweir }
382cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)383cdf0e10cSrcweir void SwUndoNumruleCreate::RedoImpl(::sw::UndoRedoContext &)
384cdf0e10cSrcweir {
385cdf0e10cSrcweir pDoc->MakeNumRule(aNew.GetName(), &aNew, sal_True);
386cdf0e10cSrcweir }
387cdf0e10cSrcweir
GetRewriter() const388cdf0e10cSrcweir SwRewriter SwUndoNumruleCreate::GetRewriter() const
389cdf0e10cSrcweir {
390cdf0e10cSrcweir SwRewriter aResult;
391cdf0e10cSrcweir
392cdf0e10cSrcweir if (! bInitialized)
393cdf0e10cSrcweir {
394cdf0e10cSrcweir aNew = *pNew;
395cdf0e10cSrcweir bInitialized = true;
396cdf0e10cSrcweir }
397cdf0e10cSrcweir
398cdf0e10cSrcweir aResult.AddRule(UNDO_ARG1, aNew.GetName());
399cdf0e10cSrcweir
400cdf0e10cSrcweir return aResult;
401cdf0e10cSrcweir }
402cdf0e10cSrcweir
SwUndoNumruleDelete(const SwNumRule & rRule,SwDoc * _pDoc)403cdf0e10cSrcweir SwUndoNumruleDelete::SwUndoNumruleDelete(const SwNumRule & rRule,
404cdf0e10cSrcweir SwDoc * _pDoc)
405cdf0e10cSrcweir : SwUndo(UNDO_NUMRULE_DELETE), aOld(rRule), pDoc(_pDoc)
406cdf0e10cSrcweir {
407cdf0e10cSrcweir }
408cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)409cdf0e10cSrcweir void SwUndoNumruleDelete::UndoImpl(::sw::UndoRedoContext &)
410cdf0e10cSrcweir {
411cdf0e10cSrcweir pDoc->MakeNumRule(aOld.GetName(), &aOld, sal_True);
412cdf0e10cSrcweir }
413cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)414cdf0e10cSrcweir void SwUndoNumruleDelete::RedoImpl(::sw::UndoRedoContext &)
415cdf0e10cSrcweir {
416cdf0e10cSrcweir pDoc->DelNumRule(aOld.GetName(), sal_True);
417cdf0e10cSrcweir }
418cdf0e10cSrcweir
GetRewriter() const419cdf0e10cSrcweir SwRewriter SwUndoNumruleDelete::GetRewriter() const
420cdf0e10cSrcweir {
421cdf0e10cSrcweir SwRewriter aResult;
422cdf0e10cSrcweir
423cdf0e10cSrcweir aResult.AddRule(UNDO_ARG1, aOld.GetName());
424cdf0e10cSrcweir
425cdf0e10cSrcweir return aResult;
426cdf0e10cSrcweir }
427cdf0e10cSrcweir
SwUndoNumruleRename(const String & _aOldName,const String & _aNewName,SwDoc * _pDoc)428cdf0e10cSrcweir SwUndoNumruleRename::SwUndoNumruleRename(const String & _aOldName,
429cdf0e10cSrcweir const String & _aNewName,
430cdf0e10cSrcweir SwDoc * _pDoc)
431cdf0e10cSrcweir : SwUndo(UNDO_NUMRULE_RENAME), aOldName(_aOldName), aNewName(_aNewName),
432cdf0e10cSrcweir pDoc(_pDoc)
433cdf0e10cSrcweir {
434cdf0e10cSrcweir }
435cdf0e10cSrcweir
UndoImpl(::sw::UndoRedoContext &)436cdf0e10cSrcweir void SwUndoNumruleRename::UndoImpl(::sw::UndoRedoContext &)
437cdf0e10cSrcweir {
438cdf0e10cSrcweir pDoc->RenameNumRule(aNewName, aOldName, sal_True);
439cdf0e10cSrcweir }
440cdf0e10cSrcweir
RedoImpl(::sw::UndoRedoContext &)441cdf0e10cSrcweir void SwUndoNumruleRename::RedoImpl(::sw::UndoRedoContext &)
442cdf0e10cSrcweir {
443cdf0e10cSrcweir pDoc->RenameNumRule(aOldName, aNewName, sal_True);
444cdf0e10cSrcweir }
445cdf0e10cSrcweir
GetRewriter() const446cdf0e10cSrcweir SwRewriter SwUndoNumruleRename::GetRewriter() const
447cdf0e10cSrcweir {
448cdf0e10cSrcweir SwRewriter aRewriter;
449cdf0e10cSrcweir
450cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG1, aOldName);
451cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG2, SW_RES(STR_YIELDS));
452cdf0e10cSrcweir aRewriter.AddRule(UNDO_ARG3, aNewName);
453cdf0e10cSrcweir
454cdf0e10cSrcweir return aRewriter;
455cdf0e10cSrcweir }
456