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 #pragma once
21 
22 #include <config_options.h>
23 #include <sal/config.h>
24 
25 #include <memory>
26 #include <vector>
27 
28 #include <editeng/outlobj.hxx>
29 #include <svl/undo.hxx>
30 #include <svl/style.hxx>
31 #include <tools/gen.hxx>
32 #include <svx/svdtypes.hxx>
33 #include <svx/svdsob.hxx>
34 #include <svx/svxdllapi.h>
35 #include <unotools/resmgr.hxx>
36 
37 class SfxItemSet;
38 class SfxPoolItem;
39 class SfxStyleSheet;
40 class SdrView;
41 class SdrPageView;
42 class SdrModel;
43 class SdrObject;
44 class SdrPage;
45 class SdrObjList;
46 class SdrLayer;
47 class SdrLayerAdmin;
48 class SdrObjGeoData;
49 class OutlinerParaObject;
50 
56 {
57 protected:
60 
61 protected:
62  SdrUndoAction(SdrModel& rNewMod);
63 
64 public:
65  virtual ~SdrUndoAction() override;
66 
67  virtual bool CanRepeat(SfxRepeatTarget& rView) const override;
68  virtual void Repeat(SfxRepeatTarget& rView) override;
69 
70  virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const override;
71  virtual OUString GetSdrRepeatComment() const;
72 
73  virtual bool CanSdrRepeat(SdrView& rView) const;
74  virtual void SdrRepeat(SdrView& rView);
75 
77  ViewShellId GetViewShellId() const override;
78 };
79 
88 {
89  std::vector<std::unique_ptr<SdrUndoAction>> maActions;
90 
91  // No expanded description of the Action (contains %O)
92  OUString aComment;
93  OUString aObjDescription;
94 
96 
97 public:
98  SdrUndoGroup(SdrModel& rNewMod);
99  virtual ~SdrUndoGroup() override;
100 
101  sal_Int32 GetActionCount() const { return maActions.size(); }
102  SdrUndoAction* GetAction(sal_Int32 nNum) const { return maActions[nNum].get(); }
103  void AddAction(std::unique_ptr<SdrUndoAction> pAct);
104 
105  void SetComment(const OUString& rStr) { aComment=rStr; }
106  void SetObjDescription(const OUString& rStr) { aObjDescription=rStr; }
107  virtual OUString GetComment() const override;
108  virtual OUString GetSdrRepeatComment() const override;
109 
110  virtual void Undo() override;
111  virtual void Redo() override;
112 
113  virtual bool CanSdrRepeat(SdrView& rView) const override;
114  virtual void SdrRepeat(SdrView& rView) override;
115  void SetRepeatFunction(SdrRepeatFunc eFunc) { eFunction=eFunc; }
116 };
117 
123 {
124 protected:
126 
127 protected:
128  SdrUndoObj(SdrObject& rNewObj);
129 
130  OUString ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat = false) const;
131 
132  [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, TranslateId pStrCacheID, bool bRepeat = false );
133 
134  // #94278# new method for evtl. PageChange at UNDO/REDO
135  void ImpShowPageOfThisObject();
136 };
137 
145 {
146 protected:
147  std::unique_ptr<SfxItemSet> pUndoSet;
148  std::unique_ptr<SfxItemSet> pRedoSet;
149 
150  // FIXME: Or should we better remember the StyleSheetNames?
155 
156  // When assigning TextItems to a drawing object with text:
158  // #i8508#
159  // The text rescue mechanism needs also to be implemented for redo actions.
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 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 nOldOrdNum;
368  sal_uInt32 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:
403  sal_Int32 mnText;
404 
405 public:
406  SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
407  virtual ~SdrUndoObjSetText() override;
408 
409  bool IsDifferent() const;
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:
467  sal_uInt16 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  ~SdrUndoPage();
530 
531  static OUString ImpGetDescriptionStr(TranslateId pStrCacheID);
532 };
533 
539 {
540 protected:
541  sal_uInt16 nPageNum;
542 
543 protected:
544  SdrUndoPageList(SdrPage& rNewPg);
545  virtual ~SdrUndoPageList() override;
546 };
547 
554 {
555  // When deleting a MasterPage, we remember all relations of the
556  // Character Page with the MasterPage in this UndoGroup.
557  std::unique_ptr<SdrUndoGroup> pUndoGroup;
558  std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
560 
561 public:
562  SdrUndoDelPage(SdrPage& rNewPg);
563  virtual ~SdrUndoDelPage() override;
564 
565  virtual void Undo() override;
566  virtual void Redo() override;
567 
568  virtual OUString GetComment() const override;
569  virtual OUString GetSdrRepeatComment() const override;
570 
571  virtual void SdrRepeat(SdrView& rView) override;
572  virtual bool CanSdrRepeat(SdrView& rView) const override;
573 
574 private:
575  void queryFillBitmap(const SfxItemSet &rItemSet);
576  void clearFillBitmap();
577  void restoreFillBitmap();
578 };
579 
586 {
587 public:
589 
590  virtual void Undo() override;
591  virtual void Redo() override;
592 
593  virtual OUString GetComment() const override;
594 };
595 
601 class SdrUndoCopyPage final : public SdrUndoNewPage
602 {
603 public:
605 
606  virtual OUString GetComment() const override;
607  virtual OUString GetSdrRepeatComment() const override;
608 
609  virtual void SdrRepeat(SdrView& rView) override;
610  virtual bool CanSdrRepeat(SdrView& rView) const override;
611 };
612 
618 class SdrUndoSetPageNum final : public SdrUndoPage
619 {
620  sal_uInt16 nOldPageNum;
621  sal_uInt16 nNewPageNum;
622 
623 public:
624  SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
625  : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
626 
627  virtual void Undo() override;
628  virtual void Redo() override;
629 
630  virtual OUString GetComment() const override;
631 };
632 
633 
634 /*
635  * Masterpages
636  */
637 
644 {
645 protected:
649 
650 protected:
651  SdrUndoPageMasterPage(SdrPage& rChangedPage);
652 
653 public:
655 };
656 
663 {
664 public:
665  SdrUndoPageRemoveMasterPage(SdrPage& rChangedPage);
666 
667  virtual void Undo() override;
668  virtual void Redo() override;
669 
670  virtual OUString GetComment() const override;
671 };
672 
679 {
683 
684 public:
685  SdrUndoPageChangeMasterPage(SdrPage& rChangedPage);
686 
687  virtual void Undo() override;
688  virtual void Redo() override;
689 
690  virtual OUString GetComment() const override;
691 };
692 
693 
700 {
701 public:
702  // Shapes
703  virtual ~SdrUndoFactory();
704  virtual std::unique_ptr<SdrUndoAction> CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
705  virtual std::unique_ptr<SdrUndoAction> CreateUndoGeoObject( SdrObject& rObject );
706  virtual std::unique_ptr<SdrUndoAction> CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
707  virtual std::unique_ptr<SdrUndoAction> CreateUndoRemoveObject(SdrObject& rObject);
708  virtual std::unique_ptr<SdrUndoAction> CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
709  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
710  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
711  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
712 
713  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
714 
715  virtual std::unique_ptr<SdrUndoAction> CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject );
716  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
717  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
718 
719  // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
720  static std::unique_ptr<SdrUndoAction> CreateUndoObjectStrAttr( SdrObject& rObject,
721  SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
722  const OUString& sOldStr,
723  const OUString& sNewStr );
724 
725  // Layer
726  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
727  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
728 
729  // Page
730  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeletePage(SdrPage& rPage);
731  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewPage(SdrPage& rPage);
732  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyPage(SdrPage& rPage);
733  virtual std::unique_ptr<SdrUndoAction> CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
734 
735  // Master page
736  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
737  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
738 };
739 
740 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void Redo() override
Definition: svdundo.cxx:1254
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:1241
std::unique_ptr< SfxItemSet > pUndoSet
Definition: svdundo.hxx:147
OUString aComment
Definition: svdundo.hxx:92
sal_uInt32 nOldOrdNum
Definition: svdundo.hxx:367
virtual void Redo() override
Definition: svdundo.cxx:728
virtual void Redo() override
Definition: svdundo.cxx:954
Inserting a new Page.
Definition: svdundo.hxx:585
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:940
bool IsOwner() const
Definition: svdundo.hxx:246
SdrObjList * pObjList
Definition: svdundo.hxx:334
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.cxx:1208
bool bItsMine
Definition: svdundo.hxx:468
virtual bool CanSdrRepeat(SdrView &rView) const
Definition: svdundo.cxx:88
ABC for all UndoActions that have something to do with SdrPages.
Definition: svdundo.hxx:517
sal_uInt16 nNewPageNum
Definition: svdundo.hxx:621
virtual void Undo()
virtual OUString GetComment() const override
Definition: svdundo.cxx:968
SdrLayerIDSet maOldSet
Definition: svdundo.hxx:647
SdrUndoPage(SdrPage &rNewPg)
Definition: svdundo.cxx:1268
Abstract base class (ABC) for all UndoActions of DrawingEngine.
Definition: svdundo.hxx:55
SdrLayer * pLayer
Definition: svdundo.hxx:465
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:665
Changing the geometry of an object.
Definition: svdundo.hxx:206
virtual ~SdrUndoLayer() override
Definition: svdundo.cxx:1217
Removal of a MasterPage from a Character Page.
Definition: svdundo.hxx:662
virtual void SdrRepeat(SdrView &rView)
Definition: svdundo.cxx:93
std::optional< OutlinerParaObject > pNewText
Definition: svdundo.hxx:400
virtual void Redo() override
Definition: svdundo.cxx:1234
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
Definition: svdundo.hxx:538
All geometrical data of an arbitrary object for use in undo/redo.
Definition: svdobj.hxx:173
sal_Int32 GetActionCount() const
Definition: svdundo.hxx:101
sal_Int32 mnText
Definition: svdundo.hxx:403
Deleting an Object.
Definition: svdundo.hxx:290
Copying an Object.
Definition: svdundo.hxx:356
SdrModel & rMod
Definition: svdundo.hxx:58
SdrUndoObjStrAttr(SdrObject &rNewObj, const ObjStrAttrType eObjStrAttr, const OUString &sOldStr, const OUString &sNewStr)
Definition: svdundo.cxx:1140
SdrRepeatFunc
Definition: svdtypes.hxx:65
SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:500
virtual OUString GetSdrRepeatComment() const
Definition: svdundo.cxx:97
UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) virtual ~SdrUndoPageMasterPage() override
void SetObjDescription(const OUString &rStr)
Definition: svdundo.hxx:106
ViewShellId m_nViewShellId
Definition: svdundo.hxx:59
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:211
void SetComment(const OUString &rStr)
Definition: svdundo.hxx:105
std::unique_ptr< SfxItemSet > pRedoSet
Definition: svdundo.hxx:148
virtual OUString GetComment() const override
Definition: svdundo.cxx:1502
virtual void Undo() override
Definition: svdundo.cxx:1226
virtual OUString GetComment() const override
Definition: svdundo.cxx:1262
Replacing an Object.
Definition: svdundo.hxx:329
const OUString msOldStr
Definition: svdundo.hxx:448
SdrUndoCopyPage(SdrPage &rNewPg)
Definition: svdundo.hxx:604
virtual void Undo() override
Definition: svdundo.cxx:713
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
Definition: svdundo.cxx:1310
bool mbSkipChangeLayout
If we have a table object, should its layout change?
Definition: svdundo.hxx:213
rtl::Reference< SdrPage > mxPage
Definition: svdundo.hxx:520
virtual void Undo() override
Definition: svdundo.cxx:1523
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
Definition: svdundo.hxx:558
sal_uInt16 nNum
Definition: svdundo.hxx:467
virtual OUString GetComment() const override
Definition: svdundo.cxx:905
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:1169
void ImpInsertPage(sal_uInt16 nNum)
Definition: svdundo.cxx:1276
The SdrUndoFactory can be set and retrieved from the SdrModel.
Definition: svdundo.hxx:699
bool IsOldOwner() const
Definition: svdundo.hxx:347
SdrUndoPageMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1538
SdrObject * pObj
Definition: svdundo.hxx:125
void ImpRemovePage(sal_uInt16 nNum)
Definition: svdundo.cxx:1292
static OUString ImpGetDescriptionStr(TranslateId pStrCacheID)
Definition: svdundo.cxx:1326
bool IsNewOwner() const
Definition: svdundo.hxx:344
Abstract DrawObject.
Definition: svdobj.hxx:259
const ObjStrAttrType meObjStrAttr
Definition: svdundo.hxx:447
std::optional< OutlinerParaObject > pTextUndo
Definition: svdundo.hxx:157
virtual OUString GetComment() const override
Definition: svdundo.cxx:1533
sal_uInt16 maOldMasterPageNumber
Definition: svdundo.hxx:648
Aggregation of arbitrarily many UndoActions to a single UndoAction.
Definition: svdundo.hxx:87
bool bHaveToTakeRedoSet
Definition: svdundo.hxx:154
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:643
SdrUndoRemoveObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:260
Abstract base class for all UndoActions that handle objects.
Definition: svdundo.hxx:122
SdrLayerAdmin * pLayerAdmin
Definition: svdundo.hxx:466
bool mbHasFillBitmap
Definition: svdundo.hxx:559
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
SdrUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
Definition: svdundo.hxx:624
sal_uInt32 nNewOrdNum
Definition: svdundo.hxx:368
std::optional< OutlinerParaObject > pOldText
Definition: svdundo.hxx:398
sal_uInt16 nOldPageNum
Definition: svdundo.hxx:620
virtual void Undo() override
Definition: svdundo.cxx:1247
#define SVXCORE_DLLPUBLIC
Definition: svxdllapi.h:35
virtual void Redo() override
Definition: svdundo.cxx:694
sal_uInt16 maNewMasterPageNumber
Definition: svdundo.hxx:682
Deleting a Page.
Definition: svdundo.hxx:553
virtual void Repeat(SfxRepeatTarget &)
virtual void Undo() override
Definition: svdundo.cxx:1151
virtual OUString GetComment() const override
Definition: svdundo.cxx:1187
SQLUSMALLINT SQLCHAR SQLSMALLINT SQLSMALLINT SQLCHAR * Description
OUString aObjDescription
Definition: svdundo.hxx:93
void SetRepeatFunction(SdrRepeatFunc eFunc)
Definition: svdundo.hxx:115
SdrUndoNewPage(SdrPage &rNewPg)
Definition: svdundo.hxx:588
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
Definition: svdundo.hxx:152
Changing the object attributes.
Definition: svdundo.hxx:144
virtual void SdrRepeat(SdrView &rView) override
Definition: svdundo.cxx:1512
virtual bool CanRepeat(SfxRepeatTarget &) const
sal_uInt32 nOrdNum
Definition: svdundo.hxx:240
bool bStyleSheet
Definition: svdundo.hxx:153
std::vector< std::unique_ptr< SdrUndoAction > > maActions
Definition: svdundo.hxx:89
SdrUndoObjOrdNum(SdrObject &rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
Definition: svdundo.cxx:933
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:365
Copying a Page.
Definition: svdundo.hxx:601
virtual void Redo()
SdrUndoNewObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:313
sal_uInt16 nPageNum
Definition: svdundo.hxx:541
SdrRepeatFunc eFunction
Definition: svdundo.hxx:95
const OUString msNewStr
Definition: svdundo.hxx:449
Inserting a new Layer.
Definition: svdundo.hxx:480
virtual OUString GetSdrRepeatComment() const override
Definition: svdundo.cxx:1507
Changing the MasterPageDescriptor (e.g.
Definition: svdundo.hxx:678
SdrObject * pNewObj
Definition: svdundo.hxx:335
Moving a Page within the List.
Definition: svdundo.hxx:618
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
Definition: svdundo.hxx:151
SdrUndoInsertObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:278
std::optional< OutlinerParaObject > pTextRedo
Definition: svdundo.hxx:160
virtual void Redo() override
Definition: svdundo.cxx:1528
SdrUndoMoveObj(SdrObject &rNewObj, const Size &rDist)
Definition: svdundo.hxx:188
SdrUndoAction * GetAction(sal_Int32 nNum) const
Definition: svdundo.hxx:102
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:557
virtual bool CanSdrRepeat(SdrView &rView) const override
Definition: svdundo.cxx:1517