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/itemset.hxx>
30 #include <svl/undo.hxx>
31 #include <svl/style.hxx>
32 #include <tools/gen.hxx>
33 #include <svx/svdtypes.hxx>
34 #include <svx/svdsob.hxx>
35 #include <svx/svxdllapi.h>
36 #include <unotools/resmgr.hxx>
37 
38 class SfxItemSet;
39 class SfxPoolItem;
40 class SfxStyleSheet;
41 class SdrView;
42 class SdrPageView;
43 class SdrModel;
44 class SdrObject;
45 class SdrPage;
46 class SdrObjList;
47 class SdrLayer;
48 class SdrLayerAdmin;
49 class SdrObjGeoData;
50 class OutlinerParaObject;
51 
57 {
58 protected:
61 
62 protected:
63  SdrUndoAction(SdrModel& rNewMod);
64 
65 public:
66  virtual ~SdrUndoAction() override;
67 
68  virtual bool CanRepeat(SfxRepeatTarget& rView) const override;
69  virtual void Repeat(SfxRepeatTarget& rView) override;
70 
71  virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const override;
72  virtual OUString GetSdrRepeatComment() const;
73 
74  virtual bool CanSdrRepeat(SdrView& rView) const;
75  virtual void SdrRepeat(SdrView& rView);
76 
78  ViewShellId GetViewShellId() const override;
79 };
80 
89 {
90  std::vector<std::unique_ptr<SdrUndoAction>> maActions;
91 
92  // No expanded description of the Action (contains %O)
93  OUString aComment;
94  OUString aObjDescription;
95 
97 
98 public:
99  SdrUndoGroup(SdrModel& rNewMod);
100  virtual ~SdrUndoGroup() override;
101 
102  sal_Int32 GetActionCount() const { return maActions.size(); }
103  SdrUndoAction* GetAction(sal_Int32 nNum) const { return maActions[nNum].get(); }
104  void AddAction(std::unique_ptr<SdrUndoAction> pAct);
105 
106  void SetComment(const OUString& rStr) { aComment=rStr; }
107  void SetObjDescription(const OUString& rStr) { aObjDescription=rStr; }
108  virtual OUString GetComment() const override;
109  virtual OUString GetSdrRepeatComment() const override;
110 
111  virtual void Undo() override;
112  virtual void Redo() override;
113 
114  virtual bool CanSdrRepeat(SdrView& rView) const override;
115  virtual void SdrRepeat(SdrView& rView) override;
116  void SetRepeatFunction(SdrRepeatFunc eFunc) { eFunction=eFunc; }
117 };
118 
124 {
125 protected:
127 
128 protected:
129  SdrUndoObj(SdrObject& rNewObj);
130 
131  OUString ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat = false) const;
132 
133  [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, TranslateId pStrCacheID, bool bRepeat = false );
134 
135  // #94278# new method for evtl. PageChange at UNDO/REDO
136  void ImpShowPageOfThisObject();
137 };
138 
146 {
147 protected:
148  std::optional<SfxItemSet> moUndoSet;
149  std::optional<SfxItemSet> moRedoSet;
150 
151  // FIXME: Or should we better remember the StyleSheetNames?
156 
157  // When assigning TextItems to a drawing object with text:
159  // #i8508#
160  // The text rescue mechanism needs also to be implemented for redo actions.
162 
163  // If we have a group object:
164  std::unique_ptr<SdrUndoGroup> pUndoGroup;
165 
166  // Helper to ensure StyleSheet is in pool (provided by SdrModel from SdrObject)
167  static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool& rStyleSheetPool, SfxStyleSheet& rSheet);
168 
169 public:
170  SdrUndoAttrObj(SdrObject& rNewObj, bool bStyleSheet1 = false, bool bSaveText = false);
171  virtual ~SdrUndoAttrObj() override;
172  virtual void Undo() override;
173  virtual void Redo() override;
174 
175  virtual OUString GetComment() const override;
176  virtual OUString GetSdrRepeatComment() const override;
177 };
178 
185 {
186  Size aDistance; // Distance by which we move
187 
188 public:
189  SdrUndoMoveObj(SdrObject& rNewObj, const Size& rDist): SdrUndoObj(rNewObj),aDistance(rDist) {}
190  virtual ~SdrUndoMoveObj() override;
191 
192  virtual void Undo() override;
193  virtual void Redo() override;
194 
195  virtual OUString GetComment() const override;
196  virtual OUString GetSdrRepeatComment() const override;
197 
198  virtual void SdrRepeat(SdrView& rView) override;
199  virtual bool CanSdrRepeat(SdrView& rView) const override;
200 };
201 
208 {
209  std::unique_ptr<SdrObjGeoData> pUndoGeo;
210  std::unique_ptr<SdrObjGeoData> pRedoGeo;
211  // If we have a group object:
212  std::unique_ptr<SdrUndoGroup> pUndoGroup;
215 
216 public:
217  SdrUndoGeoObj(SdrObject& rNewObj);
218  virtual ~SdrUndoGeoObj() override;
219 
220  virtual void Undo() override;
221  virtual void Redo() override;
222 
223  virtual OUString GetComment() const override;
224  void SetSkipChangeLayout(bool bOn) { mbSkipChangeLayout=bOn; }
225 };
226 
233  class ObjListListener;
234  friend class ObjListListener;
235 
236 private:
237  bool bOwner;
238 
239 protected:
241  sal_uInt32 nOrdNum;
242 
243 protected:
244  SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect);
245  virtual ~SdrUndoObjList() override;
246 
247  bool IsOwner() const { return bOwner; }
248  void SetOwner(bool bNew);
249 };
250 
259 {
260 public:
261  SdrUndoRemoveObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
262  : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
263 
264  virtual void Undo() override;
265  virtual void Redo() override;
266 
267  virtual ~SdrUndoRemoveObj() override;
268 };
269 
277 {
278 public:
279  SdrUndoInsertObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
280  : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
281 
282  virtual void Undo() override;
283  virtual void Redo() override;
284 };
285 
292 {
293 public:
294  SdrUndoDelObj(SdrObject& rNewObj, bool bOrdNumDirect = false);
295 
296  virtual void Undo() override;
297  virtual void Redo() override;
298 
299  virtual OUString GetComment() const override;
300  virtual OUString GetSdrRepeatComment() const override;
301 
302  virtual void SdrRepeat(SdrView& rView) override;
303  virtual bool CanSdrRepeat(SdrView& rView) const override;
304 };
305 
312 {
313 public:
314  SdrUndoNewObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
315  : SdrUndoInsertObj(rNewObj,bOrdNumDirect) {}
316 
317  virtual void Undo() override;
318  virtual void Redo() override;
319 
320  virtual OUString GetComment() const override;
321 
322  static OUString GetComment(const SdrObject& _rForObject);
323 };
324 
331 {
332  bool bOldOwner;
333  bool bNewOwner;
334 
337 
338 public:
339  SdrUndoReplaceObj(SdrObject& rOldObj1, SdrObject& rNewObj1);
340  virtual ~SdrUndoReplaceObj() override;
341 
342  virtual void Undo() override;
343  virtual void Redo() override;
344 
345  bool IsNewOwner() const { return bNewOwner; }
346  void SetNewOwner(bool bNew);
347 
348  bool IsOldOwner() const { return bOldOwner; }
349  void SetOldOwner(bool bNew);
350 };
351 
357 class SdrUndoCopyObj final : public SdrUndoNewObj
358 {
359 public:
360  SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect)
361  : SdrUndoNewObj(rNewObj,bOrdNumDirect) {}
362 
363  virtual OUString GetComment() const override;
364 };
365 
366 class SdrUndoObjOrdNum final : public SdrUndoObj
367 {
368  sal_uInt32 nOldOrdNum;
369  sal_uInt32 nNewOrdNum;
370 
371 public:
372  SdrUndoObjOrdNum(SdrObject& rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
373 
374  virtual void Undo() override;
375  virtual void Redo() override;
376 
377  virtual OUString GetComment() const override;
378 };
379 
380 
381 // #i11702#
382 
384 {
387 
388 public:
389  SdrUndoObjectLayerChange(SdrObject& rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer);
390 
391  virtual void Undo() override;
392  virtual void Redo() override;
393 };
394 
396 {
397 protected:
404  sal_Int32 mnText;
405 
406 public:
407  SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
408  virtual ~SdrUndoObjSetText() override;
409 
410  bool IsDifferent() const;
411  void AfterSetText();
412 
413  virtual void Undo() override;
414  virtual void Redo() override;
415 
416  virtual OUString GetComment() const override;
417  virtual OUString GetSdrRepeatComment() const override;
418 
419  virtual void SdrRepeat(SdrView& rView) override;
420  virtual bool CanSdrRepeat(SdrView& rView) const override;
421 };
422 
427 class SdrUndoObjStrAttr final : public SdrUndoObj
428 {
429 public:
430  enum class ObjStrAttrType
431  {
432  Name,
433  Title,
435  };
436 
437  SdrUndoObjStrAttr( SdrObject& rNewObj,
438  const ObjStrAttrType eObjStrAttr,
439  const OUString& sOldStr,
440  const OUString& sNewStr);
441 
442  virtual void Undo() override;
443  virtual void Redo() override;
444 
445  virtual OUString GetComment() const override;
446 
447 private:
449  const OUString msOldStr;
450  const OUString msNewStr;
451 
452 };
453 
454 
455 /*
456  * Layer
457  */
458 
464 {
465 protected:
468  sal_uInt16 nNum;
469  bool bItsMine;
470 
471 protected:
472  SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
473  virtual ~SdrUndoLayer() override;
474 };
475 
481 class SdrUndoNewLayer final : public SdrUndoLayer
482 {
483 public:
484  SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
485  : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) {}
486 
487  virtual void Undo() override;
488  virtual void Redo() override;
489 
490  virtual OUString GetComment() const override;
491 };
492 
498 class SdrUndoDelLayer final : public SdrUndoLayer
499 {
500 public:
501  SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
502  : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) { bItsMine=true; }
503 
504  virtual void Undo() override;
505  virtual void Redo() override;
506 
507  virtual OUString GetComment() const override;
508 };
509 
510 /*
511  * Pages
512  */
513 
519 {
520 protected:
522 
523 protected:
524  void ImpInsertPage(sal_uInt16 nNum);
525  void ImpRemovePage(sal_uInt16 nNum);
526  void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum);
527 
528 protected:
529  SdrUndoPage(SdrPage& rNewPg);
530  ~SdrUndoPage();
531 
532  static OUString ImpGetDescriptionStr(TranslateId pStrCacheID);
533 };
534 
540 {
541 protected:
542  sal_uInt16 nPageNum;
543 
544 protected:
545  SdrUndoPageList(SdrPage& rNewPg);
546  virtual ~SdrUndoPageList() override;
547 };
548 
555 {
556  // When deleting a MasterPage, we remember all relations of the
557  // Character Page with the MasterPage in this UndoGroup.
558  std::unique_ptr<SdrUndoGroup> pUndoGroup;
559  std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
561 
562 public:
563  SdrUndoDelPage(SdrPage& rNewPg);
564  virtual ~SdrUndoDelPage() override;
565 
566  virtual void Undo() override;
567  virtual void Redo() override;
568 
569  virtual OUString GetComment() const override;
570  virtual OUString GetSdrRepeatComment() const override;
571 
572  virtual void SdrRepeat(SdrView& rView) override;
573  virtual bool CanSdrRepeat(SdrView& rView) const override;
574 
575 private:
576  void queryFillBitmap(const SfxItemSet &rItemSet);
577  void clearFillBitmap();
578  void restoreFillBitmap();
579 };
580 
587 {
588 public:
590 
591  virtual void Undo() override;
592  virtual void Redo() override;
593 
594  virtual OUString GetComment() const override;
595 };
596 
602 class SdrUndoCopyPage final : public SdrUndoNewPage
603 {
604 public:
606 
607  virtual OUString GetComment() const override;
608  virtual OUString GetSdrRepeatComment() const override;
609 
610  virtual void SdrRepeat(SdrView& rView) override;
611  virtual bool CanSdrRepeat(SdrView& rView) const override;
612 };
613 
619 class SdrUndoSetPageNum final : public SdrUndoPage
620 {
621  sal_uInt16 nOldPageNum;
622  sal_uInt16 nNewPageNum;
623 
624 public:
625  SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
626  : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
627 
628  virtual void Undo() override;
629  virtual void Redo() override;
630 
631  virtual OUString GetComment() const override;
632 };
633 
634 
635 /*
636  * Masterpages
637  */
638 
645 {
646 protected:
650 
651 protected:
652  SdrUndoPageMasterPage(SdrPage& rChangedPage);
653 
654 public:
656 };
657 
664 {
665 public:
666  SdrUndoPageRemoveMasterPage(SdrPage& rChangedPage);
667 
668  virtual void Undo() override;
669  virtual void Redo() override;
670 
671  virtual OUString GetComment() const override;
672 };
673 
680 {
684 
685 public:
686  SdrUndoPageChangeMasterPage(SdrPage& rChangedPage);
687 
688  virtual void Undo() override;
689  virtual void Redo() override;
690 
691  virtual OUString GetComment() const override;
692 };
693 
694 
701 {
702 public:
703  // Shapes
704  virtual ~SdrUndoFactory();
705  virtual std::unique_ptr<SdrUndoAction> CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
706  virtual std::unique_ptr<SdrUndoAction> CreateUndoGeoObject( SdrObject& rObject );
707  virtual std::unique_ptr<SdrUndoAction> CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
708  virtual std::unique_ptr<SdrUndoAction> CreateUndoRemoveObject(SdrObject& rObject);
709  virtual std::unique_ptr<SdrUndoAction> CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
710  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
711  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
712  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
713 
714  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
715 
716  virtual std::unique_ptr<SdrUndoAction> CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject );
717  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
718  virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
719 
720  // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
721  static std::unique_ptr<SdrUndoAction> CreateUndoObjectStrAttr( SdrObject& rObject,
722  SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
723  const OUString& sOldStr,
724  const OUString& sNewStr );
725 
726  // Layer
727  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
728  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
729 
730  // Page
731  virtual std::unique_ptr<SdrUndoAction> CreateUndoDeletePage(SdrPage& rPage);
732  virtual std::unique_ptr<SdrUndoAction> CreateUndoNewPage(SdrPage& rPage);
733  virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyPage(SdrPage& rPage);
734  virtual std::unique_ptr<SdrUndoAction> CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
735 
736  // Master page
737  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
738  virtual std::unique_ptr<SdrUndoAction> CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
739 };
740 
741 /* 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:232
Inserting Objects into an ObjectList.
Definition: svdundo.hxx:276
virtual OUString GetComment() const override
Definition: svdundo.cxx:1241
OUString aComment
Definition: svdundo.hxx:93
sal_uInt32 nOldOrdNum
Definition: svdundo.hxx:368
virtual void Redo() override
Definition: svdundo.cxx:728
virtual void Redo() override
Definition: svdundo.cxx:954
Inserting a new Page.
Definition: svdundo.hxx:586
Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i7324...
Definition: svdundo.hxx:427
void SetSkipChangeLayout(bool bOn)
Definition: svdundo.hxx:224
std::optional< SfxItemSet > moRedoSet
Definition: svdundo.hxx:149
virtual void Undo() override
Definition: svdundo.cxx:940
bool IsOwner() const
Definition: svdundo.hxx:247
SdrObjList * pObjList
Definition: svdundo.hxx:335
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.cxx:1208
bool bItsMine
Definition: svdundo.hxx:469
virtual bool CanSdrRepeat(SdrView &rView) const
Definition: svdundo.cxx:88
ABC for all UndoActions that have something to do with SdrPages.
Definition: svdundo.hxx:518
sal_uInt16 nNewPageNum
Definition: svdundo.hxx:622
virtual void Undo()
virtual OUString GetComment() const override
Definition: svdundo.cxx:968
SdrLayerIDSet maOldSet
Definition: svdundo.hxx:648
SdrUndoPage(SdrPage &rNewPg)
Definition: svdundo.cxx:1268
Abstract base class (ABC) for all UndoActions of DrawingEngine.
Definition: svdundo.hxx:56
SdrLayer * pLayer
Definition: svdundo.hxx:466
Deleting a Layer.
Definition: svdundo.hxx:498
Only moving of an object.
Definition: svdundo.hxx:184
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:164
virtual void Undo() override
Definition: svdundo.cxx:665
Changing the geometry of an object.
Definition: svdundo.hxx:207
virtual ~SdrUndoLayer() override
Definition: svdundo.cxx:1217
Removal of a MasterPage from a Character Page.
Definition: svdundo.hxx:663
virtual void SdrRepeat(SdrView &rView)
Definition: svdundo.cxx:93
std::optional< OutlinerParaObject > pNewText
Definition: svdundo.hxx:401
virtual void Redo() override
Definition: svdundo.cxx:1234
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
Definition: svdundo.hxx:539
All geometrical data of an arbitrary object for use in undo/redo.
Definition: svdobj.hxx:174
sal_Int32 GetActionCount() const
Definition: svdundo.hxx:102
sal_Int32 mnText
Definition: svdundo.hxx:404
Deleting an Object.
Definition: svdundo.hxx:291
Copying an Object.
Definition: svdundo.hxx:357
SdrModel & rMod
Definition: svdundo.hxx:59
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:501
virtual OUString GetSdrRepeatComment() const
Definition: svdundo.cxx:97
UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) virtual ~SdrUndoPageMasterPage() override
void SetObjDescription(const OUString &rStr)
Definition: svdundo.hxx:107
ViewShellId m_nViewShellId
Definition: svdundo.hxx:60
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:212
void SetComment(const OUString &rStr)
Definition: svdundo.hxx:106
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:330
const OUString msOldStr
Definition: svdundo.hxx:449
SdrUndoCopyPage(SdrPage &rNewPg)
Definition: svdundo.hxx:605
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:214
rtl::Reference< SdrPage > mxPage
Definition: svdundo.hxx:521
virtual void Undo() override
Definition: svdundo.cxx:1523
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
Definition: svdundo.hxx:559
sal_uInt16 nNum
Definition: svdundo.hxx:468
virtual OUString GetComment() const override
Definition: svdundo.cxx:905
std::unique_ptr< SdrObjGeoData > pUndoGeo
Definition: svdundo.hxx:209
Removing an Object from an ObjectList.
Definition: svdundo.hxx:258
Abstract base class for all UndoActions that have something to do with SdrLayer.
Definition: svdundo.hxx:463
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:700
bool IsOldOwner() const
Definition: svdundo.hxx:348
SdrUndoPageMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1538
SdrObject * pObj
Definition: svdundo.hxx:126
void ImpRemovePage(sal_uInt16 nNum)
Definition: svdundo.cxx:1292
static OUString ImpGetDescriptionStr(TranslateId pStrCacheID)
Definition: svdundo.cxx:1326
bool IsNewOwner() const
Definition: svdundo.hxx:345
Abstract DrawObject.
Definition: svdobj.hxx:260
const ObjStrAttrType meObjStrAttr
Definition: svdundo.hxx:448
std::optional< OutlinerParaObject > pTextUndo
Definition: svdundo.hxx:158
virtual OUString GetComment() const override
Definition: svdundo.cxx:1533
sal_uInt16 maOldMasterPageNumber
Definition: svdundo.hxx:649
Aggregation of arbitrarily many UndoActions to a single UndoAction.
Definition: svdundo.hxx:88
bool bHaveToTakeRedoSet
Definition: svdundo.hxx:155
SdrObjList * pObjList
Definition: svdundo.hxx:240
virtual OUString GetRepeatComment(SfxRepeatTarget &) const
bool bNewTextAvailable
Definition: svdundo.hxx:402
std::unique_ptr< SdrObjGeoData > pRedoGeo
Definition: svdundo.hxx:210
virtual ViewShellId GetViewShellId() const
ABC for all UndoActions that have something to do with MasterPage relationships.
Definition: svdundo.hxx:644
SdrUndoRemoveObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:261
Abstract base class for all UndoActions that handle objects.
Definition: svdundo.hxx:123
SdrLayerAdmin * pLayerAdmin
Definition: svdundo.hxx:467
bool mbHasFillBitmap
Definition: svdundo.hxx:560
SdrUndoCopyObj(SdrObject &rNewObj, bool bOrdNumDirect)
Definition: svdundo.hxx:360
virtual OUString GetComment() const
Inserting a NEW Object.
Definition: svdundo.hxx:311
SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:484
SdrUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
Definition: svdundo.hxx:625
sal_uInt32 nNewOrdNum
Definition: svdundo.hxx:369
std::optional< OutlinerParaObject > pOldText
Definition: svdundo.hxx:399
sal_uInt16 nOldPageNum
Definition: svdundo.hxx:621
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:683
Deleting a Page.
Definition: svdundo.hxx:554
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:94
void SetRepeatFunction(SdrRepeatFunc eFunc)
Definition: svdundo.hxx:116
SdrUndoNewPage(SdrPage &rNewPg)
Definition: svdundo.hxx:589
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
Definition: svdundo.hxx:153
Changing the object attributes.
Definition: svdundo.hxx:145
virtual void SdrRepeat(SdrView &rView) override
Definition: svdundo.cxx:1512
virtual bool CanRepeat(SfxRepeatTarget &) const
sal_uInt32 nOrdNum
Definition: svdundo.hxx:241
bool bStyleSheet
Definition: svdundo.hxx:154
std::vector< std::unique_ptr< SdrUndoAction > > maActions
Definition: svdundo.hxx:90
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:372
Copying a Page.
Definition: svdundo.hxx:602
virtual void Redo()
SdrUndoNewObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:314
sal_uInt16 nPageNum
Definition: svdundo.hxx:542
SdrRepeatFunc eFunction
Definition: svdundo.hxx:96
std::optional< SfxItemSet > moUndoSet
Definition: svdundo.hxx:148
const OUString msNewStr
Definition: svdundo.hxx:450
Inserting a new Layer.
Definition: svdundo.hxx:481
virtual OUString GetSdrRepeatComment() const override
Definition: svdundo.cxx:1507
Changing the MasterPageDescriptor (e.g.
Definition: svdundo.hxx:679
SdrObject * pNewObj
Definition: svdundo.hxx:336
Moving a Page within the List.
Definition: svdundo.hxx:619
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
Definition: svdundo.hxx:152
SdrUndoInsertObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:279
std::optional< OutlinerParaObject > pTextRedo
Definition: svdundo.hxx:161
virtual void Redo() override
Definition: svdundo.cxx:1528
SdrUndoMoveObj(SdrObject &rNewObj, const Size &rDist)
Definition: svdundo.hxx:189
SdrUndoAction * GetAction(sal_Int32 nNum) const
Definition: svdundo.hxx:103
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:558
virtual bool CanSdrRepeat(SdrView &rView) const override
Definition: svdundo.cxx:1517