LibreOffice Module svx (master)  1
svdundo.hxx
Go to the documentation of this file.
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_SVX_SVDUNDO_HXX
21 #define INCLUDED_SVX_SVDUNDO_HXX
22 
23 #include <sal/config.h>
24 
25 #include <memory>
26 #include <vector>
27 
28 #include <svl/undo.hxx>
29 #include <svl/style.hxx>
30 #include <tools/gen.hxx>
31 #include <svx/svdtypes.hxx>
32 #include <svx/svdsob.hxx>
33 #include <svx/svxdllapi.h>
34 
35 class SfxItemSet;
36 class SfxPoolItem;
37 class SfxStyleSheet;
38 class SdrView;
39 class SdrPageView;
40 class SdrModel;
41 class SdrObject;
42 class SdrPage;
43 class SdrObjList;
44 class SdrLayer;
45 class SdrLayerAdmin;
46 class SdrObjGeoData;
47 class OutlinerParaObject;
48 
54 {
55 protected:
58 
59 protected:
60  SdrUndoAction(SdrModel& rNewMod);
61 
62 public:
63  virtual ~SdrUndoAction() override;
64 
65  virtual bool CanRepeat(SfxRepeatTarget& rView) const override;
66  virtual void Repeat(SfxRepeatTarget& rView) override;
67 
68  virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const override;
69  virtual OUString GetSdrRepeatComment() const;
70 
71  virtual bool CanSdrRepeat(SdrView& rView) const;
72  virtual void SdrRepeat(SdrView& rView);
73 
75  ViewShellId GetViewShellId() const override;
76 };
77 
86 {
87  std::vector<std::unique_ptr<SdrUndoAction>> maActions;
88 
89  // No expanded description of the Action (contains %O)
90  OUString aComment;
91  OUString aObjDescription;
92 
94 
95 public:
96  SdrUndoGroup(SdrModel& rNewMod);
97  virtual ~SdrUndoGroup() override;
98 
99  sal_Int32 GetActionCount() const { return maActions.size(); }
100  SdrUndoAction* GetAction(sal_Int32 nNum) const { return maActions[nNum].get(); }
101  void AddAction(std::unique_ptr<SdrUndoAction> pAct);
102 
103  void SetComment(const OUString& rStr) { aComment=rStr; }
104  void SetObjDescription(const OUString& rStr) { aObjDescription=rStr; }
105  virtual OUString GetComment() const override;
106  virtual OUString GetSdrRepeatComment() const override;
107 
108  virtual void Undo() override;
109  virtual void Redo() override;
110 
111  virtual bool CanSdrRepeat(SdrView& rView) const override;
112  virtual void SdrRepeat(SdrView& rView) override;
113  void SetRepeatFunction(SdrRepeatFunc eFunc) { eFunction=eFunc; }
114 };
115 
121 {
122 protected:
124 
125 protected:
126  SdrUndoObj(SdrObject& rNewObj);
127 
128  OUString ImpGetDescriptionStr(const char* pStrCacheID, bool bRepeat = false) const;
129 
130  [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, const char* pStrCacheID, bool bRepeat = false );
131 
132  // #94278# new method for evtl. PageChange at UNDO/REDO
133  void ImpShowPageOfThisObject();
134 };
135 
143 {
144 protected:
145  std::unique_ptr<SfxItemSet> pUndoSet;
146  std::unique_ptr<SfxItemSet> pRedoSet;
147 
148  // FIXME: Or should we better remember the StyleSheetNames?
153 
154  // When assigning TextItems to a drawing object with text:
155  std::unique_ptr<OutlinerParaObject>
157  // #i8508#
158  // The text rescue mechanism needs also to be implemented for redo actions.
159  std::unique_ptr<OutlinerParaObject>
161 
162  // If we have a group object:
163  std::unique_ptr<SdrUndoGroup> pUndoGroup;
164 
165  // Helper to ensure StyleSheet is in pool (provided by SdrModel from SdrObject)
166  static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool& rStyleSheetPool, SfxStyleSheet& rSheet);
167 
168 public:
169  SdrUndoAttrObj(SdrObject& rNewObj, bool bStyleSheet1 = false, bool bSaveText = false);
170  virtual ~SdrUndoAttrObj() override;
171  virtual void Undo() override;
172  virtual void Redo() override;
173 
174  virtual OUString GetComment() const override;
175  virtual OUString GetSdrRepeatComment() const override;
176 };
177 
184 {
185  Size const aDistance; // Distance by which we move
186 
187 public:
188  SdrUndoMoveObj(SdrObject& rNewObj, const Size& rDist): SdrUndoObj(rNewObj),aDistance(rDist) {}
189  virtual ~SdrUndoMoveObj() override;
190 
191  virtual void Undo() override;
192  virtual void Redo() override;
193 
194  virtual OUString GetComment() const override;
195  virtual OUString GetSdrRepeatComment() const override;
196 
197  virtual void SdrRepeat(SdrView& rView) override;
198  virtual bool CanSdrRepeat(SdrView& rView) const override;
199 };
200 
207 {
208  std::unique_ptr<SdrObjGeoData> pUndoGeo;
209  std::unique_ptr<SdrObjGeoData> pRedoGeo;
210  // If we have a group object:
211  std::unique_ptr<SdrUndoGroup> pUndoGroup;
214 
215 public:
216  SdrUndoGeoObj(SdrObject& rNewObj);
217  virtual ~SdrUndoGeoObj() override;
218 
219  virtual void Undo() override;
220  virtual void Redo() override;
221 
222  virtual OUString GetComment() const override;
223  void SetSkipChangeLayout(bool bOn) { mbSkipChangeLayout=bOn; }
224 };
225 
232  class ObjListListener;
233  friend class ObjListListener;
234 
235 private:
236  bool bOwner;
237 
238 protected:
240  sal_uInt32 nOrdNum;
241 
242 protected:
243  SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect);
244  virtual ~SdrUndoObjList() override;
245 
246  bool IsOwner() const { return bOwner; }
247  void SetOwner(bool bNew);
248 };
249 
258 {
259 public:
260  SdrUndoRemoveObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
261  : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
262 
263  virtual void Undo() override;
264  virtual void Redo() override;
265 
266  virtual ~SdrUndoRemoveObj() override;
267 };
268 
276 {
277 public:
278  SdrUndoInsertObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
279  : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
280 
281  virtual void Undo() override;
282  virtual void Redo() override;
283 };
284 
291 {
292 public:
293  SdrUndoDelObj(SdrObject& rNewObj, bool bOrdNumDirect = false);
294 
295  virtual void Undo() override;
296  virtual void Redo() override;
297 
298  virtual OUString GetComment() const override;
299  virtual OUString GetSdrRepeatComment() const override;
300 
301  virtual void SdrRepeat(SdrView& rView) override;
302  virtual bool CanSdrRepeat(SdrView& rView) const override;
303 };
304 
311 {
312 public:
313  SdrUndoNewObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
314  : SdrUndoInsertObj(rNewObj,bOrdNumDirect) {}
315 
316  virtual void Undo() override;
317  virtual void Redo() override;
318 
319  virtual OUString GetComment() const override;
320 
321  static OUString GetComment(const SdrObject& _rForObject);
322 };
323 
330 {
331  bool bOldOwner;
332  bool bNewOwner;
333 
336 
337 public:
338  SdrUndoReplaceObj(SdrObject& rOldObj1, SdrObject& rNewObj1);
339  virtual ~SdrUndoReplaceObj() override;
340 
341  virtual void Undo() override;
342  virtual void Redo() override;
343 
344  bool IsNewOwner() const { return bNewOwner; }
345  void SetNewOwner(bool bNew);
346 
347  bool IsOldOwner() const { return bOldOwner; }
348  void SetOldOwner(bool bNew);
349 };
350 
356 class SdrUndoCopyObj final : public SdrUndoNewObj
357 {
358 public:
359  SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect)
360  : SdrUndoNewObj(rNewObj,bOrdNumDirect) {}
361 
362  virtual OUString GetComment() const override;
363 };
364 
365 class SdrUndoObjOrdNum final : public SdrUndoObj
366 {
367  sal_uInt32 const nOldOrdNum;
368  sal_uInt32 const nNewOrdNum;
369 
370 public:
371  SdrUndoObjOrdNum(SdrObject& rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
372 
373  virtual void Undo() override;
374  virtual void Redo() override;
375 
376  virtual OUString GetComment() const override;
377 };
378 
379 
380 // #i11702#
381 
383 {
386 
387 public:
388  SdrUndoObjectLayerChange(SdrObject& rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer);
389 
390  virtual void Undo() override;
391  virtual void Redo() override;
392 };
393 
395 {
396 protected:
397  std::unique_ptr<OutlinerParaObject>
399  std::unique_ptr<OutlinerParaObject>
403  sal_Int32 const mnText;
404 
405 public:
406  SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
407  virtual ~SdrUndoObjSetText() override;
408 
409  bool IsDifferent() const { return pOldText!=pNewText; }
410  void AfterSetText();
411 
412  virtual void Undo() override;
413  virtual void Redo() override;
414 
415  virtual OUString GetComment() const override;
416  virtual OUString GetSdrRepeatComment() const override;
417 
418  virtual void SdrRepeat(SdrView& rView) override;
419  virtual bool CanSdrRepeat(SdrView& rView) const override;
420 };
421 
426 class SdrUndoObjStrAttr final : public SdrUndoObj
427 {
428 public:
429  enum class ObjStrAttrType
430  {
431  Name,
432  Title,
434  };
435 
436  SdrUndoObjStrAttr( SdrObject& rNewObj,
437  const ObjStrAttrType eObjStrAttr,
438  const OUString& sOldStr,
439  const OUString& sNewStr);
440 
441  virtual void Undo() override;
442  virtual void Redo() override;
443 
444  virtual OUString GetComment() const override;
445 
446 private:
448  const OUString msOldStr;
449  const OUString msNewStr;
450 
451 };
452 
453 
454 /*
455  * Layer
456  */
457 
463 {
464 protected:
465  SdrLayer* const pLayer;
467  sal_uInt16 const nNum;
468  bool bItsMine;
469 
470 protected:
471  SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
472  virtual ~SdrUndoLayer() override;
473 };
474 
480 class SdrUndoNewLayer final : public SdrUndoLayer
481 {
482 public:
483  SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
484  : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) {}
485 
486  virtual void Undo() override;
487  virtual void Redo() override;
488 
489  virtual OUString GetComment() const override;
490 };
491 
497 class SdrUndoDelLayer final : public SdrUndoLayer
498 {
499 public:
500  SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
501  : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) { bItsMine=true; }
502 
503  virtual void Undo() override;
504  virtual void Redo() override;
505 
506  virtual OUString GetComment() const override;
507 };
508 
509 /*
510  * Pages
511  */
512 
518 {
519 protected:
521 
522 protected:
523  void ImpInsertPage(sal_uInt16 nNum);
524  void ImpRemovePage(sal_uInt16 nNum);
525  void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum);
526 
527 protected:
528  SdrUndoPage(SdrPage& rNewPg);
529 
530  static OUString ImpGetDescriptionStr(const char* pStrCacheID);
531 };
532 
538 {
539 protected:
540  sal_uInt16 nPageNum;
541 
542  // It's possible that the object is re-assigned during a Undo/Redo.
543  // The Page is deleted in the dtor, if bItsMine==TRUE
544  bool bItsMine;
545 
546 protected:
547  SdrUndoPageList(SdrPage& rNewPg);
548  virtual ~SdrUndoPageList() override;
549 };
550 
557 {
558  // When deleting a MasterPage, we remember all relations of the
559  // Character Page with the MasterPage in this UndoGroup.
560  std::unique_ptr<SdrUndoGroup> pUndoGroup;
561  std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
563 
564 public:
565  SdrUndoDelPage(SdrPage& rNewPg);
566  virtual ~SdrUndoDelPage() override;
567 
568  virtual void Undo() override;
569  virtual void Redo() override;
570 
571  virtual OUString GetComment() const override;
572  virtual OUString GetSdrRepeatComment() const override;
573 
574  virtual void SdrRepeat(SdrView& rView) override;
575  virtual bool CanSdrRepeat(SdrView& rView) const override;
576 
577 private:
578  void queryFillBitmap(const SfxItemSet &rItemSet);
579  void clearFillBitmap();
580  void restoreFillBitmap();
581 };
582 
589 {
590 public:
592 
593  virtual void Undo() override;
594  virtual void Redo() override;
595 
596  virtual OUString GetComment() const override;
597 };
598 
604 class SdrUndoCopyPage final : public SdrUndoNewPage
605 {
606 public:
608 
609  virtual OUString GetComment() const override;
610  virtual OUString GetSdrRepeatComment() const override;
611 
612  virtual void SdrRepeat(SdrView& rView) override;
613  virtual bool CanSdrRepeat(SdrView& rView) const override;
614 };
615 
621 class SdrUndoSetPageNum final : public SdrUndoPage
622 {
623  sal_uInt16 const nOldPageNum;
624  sal_uInt16 const nNewPageNum;
625 
626 public:
627  SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
628  : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
629 
630  virtual void Undo() override;
631  virtual void Redo() override;
632 
633  virtual OUString GetComment() const override;
634 };
635 
636 
637 /*
638  * Masterpages
639  */
640 
647 {
648 protected:
649  bool const mbOldHadMasterPage;
652 
653 protected:
654  SdrUndoPageMasterPage(SdrPage& rChangedPage);
655 
656 public:
657  SVX_DLLPUBLIC virtual ~SdrUndoPageMasterPage() override;
658 };
659 
666 {
667 public:
668  SdrUndoPageRemoveMasterPage(SdrPage& rChangedPage);
669 
670  virtual void Undo() override;
671  virtual void Redo() override;
672 
673  virtual OUString GetComment() const override;
674 };
675 
682 {
686 
687 public:
688  SdrUndoPageChangeMasterPage(SdrPage& rChangedPage);
689 
690  virtual void Undo() override;
691  virtual void Redo() override;
692 
693  virtual OUString GetComment() const override;
694 };
695 
696 
703 {
704 public:
705  // Shapes
706  virtual ~SdrUndoFactory();
707  virtual std::unique_ptr<SdrUndoAction> CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
708  virtual std::unique_ptr<SdrUndoAction> CreateUndoGeoObject( SdrObject& rObject );
709  virtual std::unique_ptr<SdrUndoAction> CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
710  virtual std::unique_ptr<SdrUndoAction> CreateUndoRemoveObject(SdrObject& rObject);
711  virtual std::unique_ptr<SdrUndoAction> CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
712  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
713  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
714  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
715 
716  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
717 
718  virtual std::unique_ptr<SdrUndoAction> CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject );
719  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
720  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
721 
722  // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
723  static std::unique_ptr<SdrUndoAction> CreateUndoObjectStrAttr( SdrObject& rObject,
724  SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
725  const OUString& sOldStr,
726  const OUString& sNewStr );
727 
728  // Layer
729  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
730  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
731 
732  // Page
733  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeletePage(SdrPage& rPage);
734  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewPage(SdrPage& rPage);
735  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyPage(SdrPage& rPage);
736  virtual std::unique_ptr<SdrUndoAction> CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
737 
738  // Master page
739  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
740  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
741 };
742 
743 #endif // INCLUDED_SVX_SVDUNDO_HXX
744 
745 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void Redo() override
Definition: svdundo.cxx:1258
std::unique_ptr< OutlinerParaObject > pOldText
Definition: svdundo.hxx:398
virtual OUString GetComment() const override
Definition: svdundo.cxx:1592
Manipulation of an ObjList: New Object, DeleteObj, SetObjZLevel, Grouping, ...
Definition: svdundo.hxx:231
Inserting Objects into an ObjectList.
Definition: svdundo.hxx:275
virtual OUString GetComment() const override
Definition: svdundo.cxx:1245
std::unique_ptr< SfxItemSet > pUndoSet
Definition: svdundo.hxx:145
OUString aComment
Definition: svdundo.hxx:90
virtual void Redo() override
Definition: svdundo.cxx:734
virtual void Redo() override
Definition: svdundo.cxx:960
Inserting a new Page.
Definition: svdundo.hxx:588
std::unique_ptr< OutlinerParaObject > pTextRedo
Definition: svdundo.hxx:160
std::unique_ptr< OutlinerParaObject > pNewText
Definition: svdundo.hxx:400
Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i7324...
Definition: svdundo.hxx:426
void SetSkipChangeLayout(bool bOn)
Definition: svdundo.hxx:223
virtual void Undo() override
Definition: svdundo.cxx:946
bool IsOwner() const
Definition: svdundo.hxx:246
SdrObjList * pObjList
Definition: svdundo.hxx:334
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.cxx:1212
bool bItsMine
Definition: svdundo.hxx:468
sal_uInt16 const nNewPageNum
Definition: svdundo.hxx:624
virtual bool CanSdrRepeat(SdrView &rView) const
Definition: svdundo.cxx:92
ABC for all UndoActions that have something to do with SdrPages.
Definition: svdundo.hxx:517
virtual void Undo()
Size const aDistance
Definition: svdundo.hxx:185
virtual OUString GetComment() const override
Definition: svdundo.cxx:974
SdrLayerIDSet maOldSet
Definition: svdundo.hxx:650
SdrUndoPage(SdrPage &rNewPg)
Definition: svdundo.cxx:1272
Abstract base class (ABC) for all UndoActions of DrawingEngine.
Definition: svdundo.hxx:53
Deleting a Layer.
Definition: svdundo.hxx:497
Only moving of an object.
Definition: svdundo.hxx:183
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:163
virtual void Undo() override
Definition: svdundo.cxx:671
Changing the geometry of an object.
Definition: svdundo.hxx:206
sal_uInt16 const nNum
Definition: svdundo.hxx:467
virtual ~SdrUndoLayer() override
Definition: svdundo.cxx:1221
Removal of a MasterPage from a Character Page.
Definition: svdundo.hxx:665
virtual void SdrRepeat(SdrView &rView)
Definition: svdundo.cxx:97
virtual void Redo() override
Definition: svdundo.cxx:1238
#define SVX_DLLPUBLIC
Definition: svxdllapi.h:28
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
Definition: svdundo.hxx:537
All geometrical data of an arbitrary object for use in undo/redo.
Definition: svdobj.hxx:226
sal_Int32 GetActionCount() const
Definition: svdundo.hxx:99
Deleting an Object.
Definition: svdundo.hxx:290
virtual void Undo() override
Definition: svdundo.cxx:1578
Copying an Object.
Definition: svdundo.hxx:356
SdrModel & rMod
Definition: svdundo.hxx:56
SdrUndoObjStrAttr(SdrObject &rNewObj, const ObjStrAttrType eObjStrAttr, const OUString &sOldStr, const OUString &sNewStr)
Definition: svdundo.cxx:1144
sal_uInt16 const nOldPageNum
Definition: svdundo.hxx:623
SdrRepeatFunc
Definition: svdtypes.hxx:68
bool const mbOldHadMasterPage
Definition: svdundo.hxx:649
SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:500
virtual OUString GetSdrRepeatComment() const
Definition: svdundo.cxx:101
void SetObjDescription(const OUString &rStr)
Definition: svdundo.hxx:104
ViewShellId m_nViewShellId
Definition: svdundo.hxx:57
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:211
void SetComment(const OUString &rStr)
Definition: svdundo.hxx:103
std::unique_ptr< SfxItemSet > pRedoSet
Definition: svdundo.hxx:146
virtual OUString GetComment() const override
Definition: svdundo.cxx:1520
sal_uInt32 const nNewOrdNum
Definition: svdundo.hxx:368
SdrUndoPageChangeMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1597
virtual void Undo() override
Definition: svdundo.cxx:1230
virtual OUString GetComment() const override
Definition: svdundo.cxx:1266
Replacing an Object.
Definition: svdundo.hxx:329
sal_uInt32 const nOldOrdNum
Definition: svdundo.hxx:367
SdrLayer *const pLayer
Definition: svdundo.hxx:465
const OUString msOldStr
Definition: svdundo.hxx:448
SdrUndoCopyPage(SdrPage &rNewPg)
Definition: svdundo.hxx:607
virtual void Undo() override
Definition: svdundo.cxx:719
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
Definition: svdundo.cxx:1312
virtual SVX_DLLPUBLIC ~SdrUndoPageMasterPage() override
Definition: svdundo.cxx:1569
bool mbSkipChangeLayout
If we have a table object, should its layout change?
Definition: svdundo.hxx:213
virtual void Undo() override
Definition: svdundo.cxx:1541
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
Definition: svdundo.hxx:561
virtual void Undo() override
Definition: svdundo.cxx:1604
SdrLayerID const maNewLayer
Definition: svdundo.hxx:385
virtual OUString GetComment() const override
Definition: svdundo.cxx:911
std::unique_ptr< SdrObjGeoData > pUndoGeo
Definition: svdundo.hxx:208
Removing an Object from an ObjectList.
Definition: svdundo.hxx:257
Abstract base class for all UndoActions that have something to do with SdrLayer.
Definition: svdundo.hxx:462
virtual void Redo() override
Definition: svdundo.cxx:1173
void ImpInsertPage(sal_uInt16 nNum)
Definition: svdundo.cxx:1278
The SdrUndoFactory can be set and retrieved from the SdrModel.
Definition: svdundo.hxx:702
bool IsOldOwner() const
Definition: svdundo.hxx:347
SdrUndoPageMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1556
SdrObject * pObj
Definition: svdundo.hxx:123
void ImpRemovePage(sal_uInt16 nNum)
Definition: svdundo.cxx:1294
bool IsNewOwner() const
Definition: svdundo.hxx:344
Abstract DrawObject.
Definition: svdobj.hxx:312
const ObjStrAttrType meObjStrAttr
Definition: svdundo.hxx:447
virtual OUString GetComment() const override
Definition: svdundo.cxx:1551
sal_uInt16 maOldMasterPageNumber
Definition: svdundo.hxx:651
Aggregation of arbitrarily many UndoActions to a single UndoAction.
Definition: svdundo.hxx:85
bool bHaveToTakeRedoSet
Definition: svdundo.hxx:152
SdrObjList * pObjList
Definition: svdundo.hxx:239
virtual OUString GetRepeatComment(SfxRepeatTarget &) const
bool bNewTextAvailable
Definition: svdundo.hxx:401
std::unique_ptr< SdrObjGeoData > pRedoGeo
Definition: svdundo.hxx:209
virtual ViewShellId GetViewShellId() const
ABC for all UndoActions that have something to do with MasterPage relationships.
Definition: svdundo.hxx:646
SdrUndoRemoveObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:260
Abstract base class for all UndoActions that handle objects.
Definition: svdundo.hxx:120
SdrLayerAdmin * pLayerAdmin
Definition: svdundo.hxx:466
bool mbHasFillBitmap
Definition: svdundo.hxx:562
SdrUndoCopyObj(SdrObject &rNewObj, bool bOrdNumDirect)
Definition: svdundo.hxx:359
virtual OUString GetComment() const
Inserting a NEW Object.
Definition: svdundo.hxx:310
SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:483
bool IsDifferent() const
Definition: svdundo.hxx:409
SdrUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
Definition: svdundo.hxx:627
virtual void Redo() override
Definition: svdundo.cxx:1623
virtual void Undo() override
Definition: svdundo.cxx:1251
virtual void Redo() override
Definition: svdundo.cxx:700
sal_uInt16 maNewMasterPageNumber
Definition: svdundo.hxx:685
Deleting a Page.
Definition: svdundo.hxx:556
virtual void Repeat(SfxRepeatTarget &)
virtual void Undo() override
Definition: svdundo.cxx:1155
virtual OUString GetComment() const override
Definition: svdundo.cxx:1191
SQLUSMALLINT SQLCHAR SQLSMALLINT SQLSMALLINT SQLCHAR * Description
OUString aObjDescription
Definition: svdundo.hxx:91
SdrPage & mrPage
Definition: svdundo.hxx:520
void SetRepeatFunction(SdrRepeatFunc eFunc)
Definition: svdundo.hxx:113
SdrUndoNewPage(SdrPage &rNewPg)
Definition: svdundo.hxx:591
static OUString ImpGetDescriptionStr(const char *pStrCacheID)
Definition: svdundo.cxx:1328
SdrLayerID const maOldLayer
Definition: svdundo.hxx:384
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
Definition: svdundo.hxx:150
Changing the object attributes.
Definition: svdundo.hxx:142
virtual void SdrRepeat(SdrView &rView) override
Definition: svdundo.cxx:1530
virtual bool CanRepeat(SfxRepeatTarget &) const
sal_uInt32 nOrdNum
Definition: svdundo.hxx:240
bool bStyleSheet
Definition: svdundo.hxx:151
std::vector< std::unique_ptr< SdrUndoAction > > maActions
Definition: svdundo.hxx:87
virtual void Redo() override
Definition: svdundo.cxx:1587
SdrUndoObjOrdNum(SdrObject &rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
Definition: svdundo.cxx:939
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:366
Copying a Page.
Definition: svdundo.hxx:604
virtual void Redo()
SdrUndoNewObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:313
sal_uInt16 nPageNum
Definition: svdundo.hxx:540
SdrRepeatFunc eFunction
Definition: svdundo.hxx:93
SdrUndoPageRemoveMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1573
const OUString msNewStr
Definition: svdundo.hxx:449
sal_Int32 const mnText
Definition: svdundo.hxx:403
Inserting a new Layer.
Definition: svdundo.hxx:480
std::unique_ptr< OutlinerParaObject > pTextUndo
Definition: svdundo.hxx:156
virtual OUString GetSdrRepeatComment() const override
Definition: svdundo.cxx:1525
Changing the MasterPageDescriptor (e.g.
Definition: svdundo.hxx:681
SdrObject * pNewObj
Definition: svdundo.hxx:335
Moving a Page within the List.
Definition: svdundo.hxx:621
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
Definition: svdundo.hxx:149
SdrUndoInsertObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:278
virtual void Redo() override
Definition: svdundo.cxx:1546
SdrUndoMoveObj(SdrObject &rNewObj, const Size &rDist)
Definition: svdundo.hxx:188
SdrUndoAction * GetAction(sal_Int32 nNum) const
Definition: svdundo.hxx:100
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:560
virtual OUString GetComment() const override
Definition: svdundo.cxx:1634
virtual bool CanSdrRepeat(SdrView &rView) const override
Definition: svdundo.cxx:1535