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
38class SfxItemSet;
39class SfxPoolItem;
40class SfxStyleSheet;
41class SdrView;
42class SdrPageView;
43class SdrModel;
44class SdrObject;
45class SdrPage;
46class SdrObjList;
47class SdrLayer;
48class SdrLayerAdmin;
49class SdrObjGeoData;
51
52namespace svx { namespace diagram {
53 class DiagramDataState;
54}}
55
61{
62protected:
65
66protected:
67 SdrUndoAction(SdrModel& rNewMod);
68
69public:
70 virtual ~SdrUndoAction() override;
71
72 virtual bool CanRepeat(SfxRepeatTarget& rView) const override;
73 virtual void Repeat(SfxRepeatTarget& rView) override;
74
75 virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const override;
76 virtual OUString GetSdrRepeatComment() const;
77
78 virtual bool CanSdrRepeat(SdrView& rView) const;
79 virtual void SdrRepeat(SdrView& rView);
80
82 ViewShellId GetViewShellId() const override;
83};
84
93{
94 std::vector<std::unique_ptr<SdrUndoAction>> maActions;
95
96 // No expanded description of the Action (contains %O)
97 OUString aComment;
99
101
102public:
103 SdrUndoGroup(SdrModel& rNewMod);
104 virtual ~SdrUndoGroup() override;
105
106 sal_Int32 GetActionCount() const { return maActions.size(); }
107 SdrUndoAction* GetAction(sal_Int32 nNum) const { return maActions[nNum].get(); }
108 void AddAction(std::unique_ptr<SdrUndoAction> pAct);
109
110 void SetComment(const OUString& rStr) { aComment=rStr; }
111 void SetObjDescription(const OUString& rStr) { aObjDescription=rStr; }
112 virtual OUString GetComment() const override;
113 virtual OUString GetSdrRepeatComment() const override;
114
115 virtual void Undo() override;
116 virtual void Redo() override;
117
118 virtual bool CanSdrRepeat(SdrView& rView) const override;
119 virtual void SdrRepeat(SdrView& rView) override;
120 void SetRepeatFunction(SdrRepeatFunc eFunc) { eFunction=eFunc; }
121};
122
128{
129protected:
131
132protected:
133 SdrUndoObj(SdrObject& rNewObj);
134 virtual ~SdrUndoObj() override;
135
136 OUString ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat = false) const;
137
138 [[nodiscard]] static OUString GetDescriptionStringForObject( const SdrObject& _rForObject, TranslateId pStrCacheID, bool bRepeat = false );
139
140 // #94278# new method for evtl. PageChange at UNDO/REDO
141 void ImpShowPageOfThisObject();
142};
143
151{
152 std::optional<SfxItemSet> moUndoSet;
153 std::optional<SfxItemSet> moRedoSet;
154
155 // FIXME: Or should we better remember the StyleSheetNames?
160
161 // When assigning TextItems to a drawing object with text:
163 // #i8508#
164 // The text rescue mechanism needs also to be implemented for redo actions.
166
167 // If we have a group object:
168 std::unique_ptr<SdrUndoGroup> pUndoGroup;
169
170protected:
171 // Helper to ensure StyleSheet is in pool (provided by SdrModel from SdrObject)
172 static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool& rStyleSheetPool, SfxStyleSheet& rSheet);
173
174public:
175 SdrUndoAttrObj(SdrObject& rNewObj, bool bStyleSheet1 = false, bool bSaveText = false);
176 virtual ~SdrUndoAttrObj() override;
177 virtual void Undo() override;
178 virtual void Redo() override;
179
180 virtual OUString GetComment() const override;
181 virtual OUString GetSdrRepeatComment() const override;
182};
183
190{
191 Size aDistance; // Distance by which we move
192
193public:
194 SdrUndoMoveObj(SdrObject& rNewObj, const Size& rDist): SdrUndoObj(rNewObj),aDistance(rDist) {}
195 virtual ~SdrUndoMoveObj() override;
196
197 virtual void Undo() override;
198 virtual void Redo() override;
199
200 virtual OUString GetComment() const override;
201 virtual OUString GetSdrRepeatComment() const override;
202
203 virtual void SdrRepeat(SdrView& rView) override;
204 virtual bool CanSdrRepeat(SdrView& rView) const override;
205};
206
213{
214 std::unique_ptr<SdrObjGeoData> pUndoGeo;
215 std::unique_ptr<SdrObjGeoData> pRedoGeo;
216 // If we have a group object:
217 std::unique_ptr<SdrUndoGroup> pUndoGroup;
220
221public:
222 SdrUndoGeoObj(SdrObject& rNewObj);
223 virtual ~SdrUndoGeoObj() override;
224
225 virtual void Undo() override;
226 virtual void Redo() override;
227
228 virtual OUString GetComment() const override;
229 void SetSkipChangeLayout(bool bOn) { mbSkipChangeLayout=bOn; }
230};
231
232// Diagram ModelData changes
234{
235 std::shared_ptr< svx::diagram::DiagramDataState > m_aStartState;
236 std::shared_ptr< svx::diagram::DiagramDataState > m_aEndState;
237
238 void implUndoRedo(bool bUndo);
239
240public:
241 SdrUndoDiagramModelData(SdrObject& rNewObj, std::shared_ptr< svx::diagram::DiagramDataState >& rStartState);
242 virtual ~SdrUndoDiagramModelData() override;
243
244 virtual void Undo() override;
245 virtual void Redo() override;
246
247 virtual OUString GetComment() const override;
248};
249
256 class ObjListListener;
257 friend class ObjListListener;
258
259protected:
261 sal_uInt32 nOrdNum;
262
263protected:
264 SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect);
265 virtual ~SdrUndoObjList() override;
266};
267
276{
277public:
278 SdrUndoRemoveObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
279 : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
280
281 virtual void Undo() override;
282 virtual void Redo() override;
283
284 virtual ~SdrUndoRemoveObj() override;
285};
286
294{
295public:
296 SdrUndoInsertObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
297 : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
298
299 virtual void Undo() override;
300 virtual void Redo() override;
301};
302
309{
310public:
311 SdrUndoDelObj(SdrObject& rNewObj, bool bOrdNumDirect = false);
312
313 virtual void Undo() override;
314 virtual void Redo() override;
315
316 virtual OUString GetComment() const override;
317 virtual OUString GetSdrRepeatComment() const override;
318
319 virtual void SdrRepeat(SdrView& rView) override;
320 virtual bool CanSdrRepeat(SdrView& rView) const override;
321};
322
329{
330public:
331 SdrUndoNewObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
332 : SdrUndoInsertObj(rNewObj,bOrdNumDirect) {}
333
334 virtual void Undo() override;
335 virtual void Redo() override;
336
337 virtual OUString GetComment() const override;
338
339 static OUString GetComment(const SdrObject& _rForObject);
340};
341
348{
351
352public:
353 SdrUndoReplaceObj(SdrObject& rOldObj1, SdrObject& rNewObj1);
354 virtual ~SdrUndoReplaceObj() override;
355
356 virtual void Undo() override;
357 virtual void Redo() override;
358};
359
365class SdrUndoCopyObj final : public SdrUndoNewObj
366{
367public:
368 SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect)
369 : SdrUndoNewObj(rNewObj,bOrdNumDirect) {}
370
371 virtual OUString GetComment() const override;
372};
373
374class SdrUndoObjOrdNum final : public SdrUndoObj
375{
376 sal_uInt32 nOldOrdNum;
377 sal_uInt32 nNewOrdNum;
378
379public:
380 SdrUndoObjOrdNum(SdrObject& rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
381
382 virtual void Undo() override;
383 virtual void Redo() override;
384
385 virtual OUString GetComment() const override;
386};
387
388class SdrUndoSort final : public SdrUndoAction
389{
390private:
391 ::std::vector<sal_Int32> m_OldSortOrder;
392 ::std::vector<sal_Int32> m_NewSortOrder;
393 sal_uInt16 const m_nPage;
394
395 void Do(::std::vector<sal_Int32> & rSortOrder);
396
397public:
398 SdrUndoSort(const SdrPage & rPage,
399 ::std::vector<sal_Int32> const& rSortOrder);
400
401 virtual void Undo() override;
402 virtual void Redo() override;
403
404 virtual OUString GetComment() const override;
405};
406
407// #i11702#
408
410{
413
414public:
415 SdrUndoObjectLayerChange(SdrObject& rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer);
416
417 virtual void Undo() override;
418 virtual void Redo() override;
419};
420
422{
429 sal_Int32 mnText;
430
431public:
432 SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
433 virtual ~SdrUndoObjSetText() override;
434
435 bool IsDifferent() const;
436 void AfterSetText();
437
438 virtual void Undo() override;
439 virtual void Redo() override;
440
441 virtual OUString GetComment() const override;
442 virtual OUString GetSdrRepeatComment() const override;
443
444 virtual void SdrRepeat(SdrView& rView) override;
445 virtual bool CanSdrRepeat(SdrView& rView) const override;
446};
447
452class SdrUndoObjStrAttr final : public SdrUndoObj
453{
454public:
455 enum class ObjStrAttrType
456 {
457 Name,
458 Title,
459 Description
460 };
461
463 const ObjStrAttrType eObjStrAttr,
464 OUString sOldStr,
465 OUString sNewStr);
466
467 virtual void Undo() override;
468 virtual void Redo() override;
469
470 virtual OUString GetComment() const override;
471
472private:
474 const OUString msOldStr;
475 const OUString msNewStr;
476
477};
478
480{
481private:
482 bool const m_WasDecorative;
483
484public:
485 SdrUndoObjDecorative(SdrObject & rObj, bool const WasDecorative);
486
487 virtual void Undo() override;
488 virtual void Redo() override;
489
490 virtual OUString GetComment() const override;
491};
492
493
494/*
495 * Layer
496 */
497
503{
504protected:
507 sal_uInt16 nNum;
509
510protected:
511 SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
512 virtual ~SdrUndoLayer() override;
513};
514
520class SdrUndoNewLayer final : public SdrUndoLayer
521{
522public:
523 SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
524 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) {}
525
526 virtual void Undo() override;
527 virtual void Redo() override;
528
529 virtual OUString GetComment() const override;
530};
531
537class SdrUndoDelLayer final : public SdrUndoLayer
538{
539public:
540 SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
541 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) { bItsMine=true; }
542
543 virtual void Undo() override;
544 virtual void Redo() override;
545
546 virtual OUString GetComment() const override;
547};
548
549/*
550 * Pages
551 */
552
558{
559protected:
561
562protected:
563 void ImpInsertPage(sal_uInt16 nNum);
564 void ImpRemovePage(sal_uInt16 nNum);
565 void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum);
566
567protected:
568 SdrUndoPage(SdrPage& rNewPg);
569 ~SdrUndoPage();
570
571 static OUString ImpGetDescriptionStr(TranslateId pStrCacheID);
572};
573
579{
580protected:
581 sal_uInt16 nPageNum;
582
583protected:
584 SdrUndoPageList(SdrPage& rNewPg);
585 virtual ~SdrUndoPageList() override;
586};
587
594{
595 // When deleting a MasterPage, we remember all relations of the
596 // Character Page with the MasterPage in this UndoGroup.
597 std::unique_ptr<SdrUndoGroup> pUndoGroup;
598 std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
600
601public:
602 SdrUndoDelPage(SdrPage& rNewPg);
603 virtual ~SdrUndoDelPage() override;
604
605 virtual void Undo() override;
606 virtual void Redo() override;
607
608 virtual OUString GetComment() const override;
609 virtual OUString GetSdrRepeatComment() const override;
610
611 virtual void SdrRepeat(SdrView& rView) override;
612 virtual bool CanSdrRepeat(SdrView& rView) const override;
613
614private:
615 void queryFillBitmap(const SfxItemSet &rItemSet);
616 void clearFillBitmap();
617 void restoreFillBitmap();
618};
619
626{
627public:
629
630 virtual void Undo() override;
631 virtual void Redo() override;
632
633 virtual OUString GetComment() const override;
634};
635
641class SdrUndoCopyPage final : public SdrUndoNewPage
642{
643public:
645
646 virtual OUString GetComment() const override;
647 virtual OUString GetSdrRepeatComment() const override;
648
649 virtual void SdrRepeat(SdrView& rView) override;
650 virtual bool CanSdrRepeat(SdrView& rView) const override;
651};
652
658class SdrUndoSetPageNum final : public SdrUndoPage
659{
660 sal_uInt16 nOldPageNum;
661 sal_uInt16 nNewPageNum;
662
663public:
664 SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
665 : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
666
667 virtual void Undo() override;
668 virtual void Redo() override;
669
670 virtual OUString GetComment() const override;
671};
672
673
674/*
675 * Masterpages
676 */
677
684{
685protected:
689
690protected:
691 SdrUndoPageMasterPage(SdrPage& rChangedPage);
692
693public:
695};
696
703{
704public:
706
707 virtual void Undo() override;
708 virtual void Redo() override;
709
710 virtual OUString GetComment() const override;
711};
712
719{
723
724public:
726
727 virtual void Undo() override;
728 virtual void Redo() override;
729
730 virtual OUString GetComment() const override;
731};
732
733
740{
741public:
742 // Shapes
743 virtual ~SdrUndoFactory();
744 virtual std::unique_ptr<SdrUndoAction> CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
745 virtual std::unique_ptr<SdrUndoAction> CreateUndoGeoObject( SdrObject& rObject );
746 virtual std::unique_ptr<SdrUndoAction> CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
747 virtual std::unique_ptr<SdrUndoAction> CreateUndoRemoveObject(SdrObject& rObject);
748 virtual std::unique_ptr<SdrUndoAction> CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
749 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
750 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
751 virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
752
753 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
754
755 virtual std::unique_ptr<SdrUndoAction> CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject );
756 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
757 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
758
759 // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
760 static std::unique_ptr<SdrUndoAction> CreateUndoObjectStrAttr( SdrObject& rObject,
761 SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
762 const OUString& sOldStr,
763 const OUString& sNewStr );
764 static std::unique_ptr<SdrUndoAction> CreateUndoObjectDecorative(SdrObject& rObject,
765 bool const WasDecorative);
766
767 // Diagram ModelData changes
768 virtual std::unique_ptr<SdrUndoAction> CreateUndoDiagramModelData( SdrObject& rObject, std::shared_ptr< svx::diagram::DiagramDataState >& rStartState );
769
770 // Layer
771 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
772 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
773
774 // Page
775 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeletePage(SdrPage& rPage);
776 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewPage(SdrPage& rPage);
777 virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyPage(SdrPage& rPage);
778 virtual std::unique_ptr<SdrUndoAction> CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
779 static std::unique_ptr<SdrUndoAction> CreateUndoSort(SdrPage& rPage, ::std::vector<sal_Int32> const& rSortOrder);
780
781 // Master page
782 virtual std::unique_ptr<SdrUndoAction> CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
783 virtual std::unique_ptr<SdrUndoAction> CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
784};
785
786/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
All geometrical data of an arbitrary object for use in undo/redo.
Definition: svdobj.hxx:174
Abstract DrawObject.
Definition: svdobj.hxx:260
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:379
Abstract base class (ABC) for all UndoActions of DrawingEngine.
Definition: svdundo.hxx:61
SdrModel & rMod
Definition: svdundo.hxx:63
ViewShellId m_nViewShellId
Definition: svdundo.hxx:64
Changing the object attributes.
Definition: svdundo.hxx:151
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:168
bool bStyleSheet
Definition: svdundo.hxx:158
std::optional< SfxItemSet > moRedoSet
Definition: svdundo.hxx:153
std::optional< SfxItemSet > moUndoSet
Definition: svdundo.hxx:152
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
Definition: svdundo.hxx:156
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
Definition: svdundo.hxx:157
bool bHaveToTakeRedoSet
Definition: svdundo.hxx:159
std::optional< OutlinerParaObject > pTextRedo
Definition: svdundo.hxx:165
std::optional< OutlinerParaObject > pTextUndo
Definition: svdundo.hxx:162
Copying an Object.
Definition: svdundo.hxx:366
SdrUndoCopyObj(SdrObject &rNewObj, bool bOrdNumDirect)
Definition: svdundo.hxx:368
virtual OUString GetComment() const override
Definition: svdundo.cxx:875
Copying a Page.
Definition: svdundo.hxx:642
virtual void SdrRepeat(SdrView &rView) override
Definition: svdundo.cxx:1549
SdrUndoCopyPage(SdrPage &rNewPg)
Definition: svdundo.hxx:644
virtual bool CanSdrRepeat(SdrView &rView) const override
Definition: svdundo.cxx:1554
virtual OUString GetComment() const override
Definition: svdundo.cxx:1539
virtual OUString GetSdrRepeatComment() const override
Definition: svdundo.cxx:1544
Deleting a Layer.
Definition: svdundo.hxx:538
virtual OUString GetComment() const override
Definition: svdundo.cxx:1300
SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:540
virtual void Redo() override
Definition: svdundo.cxx:1291
virtual void Undo() override
Definition: svdundo.cxx:1284
Deleting an Object.
Definition: svdundo.hxx:309
Deleting a Page.
Definition: svdundo.hxx:594
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
Definition: svdundo.hxx:598
bool mbHasFillBitmap
Definition: svdundo.hxx:599
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:597
std::shared_ptr< svx::diagram::DiagramDataState > m_aStartState
Definition: svdundo.hxx:235
std::shared_ptr< svx::diagram::DiagramDataState > m_aEndState
Definition: svdundo.hxx:236
The SdrUndoFactory can be set and retrieved from the SdrModel.
Definition: svdundo.hxx:740
Changing the geometry of an object.
Definition: svdundo.hxx:213
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:217
std::unique_ptr< SdrObjGeoData > pUndoGeo
Definition: svdundo.hxx:214
void SetSkipChangeLayout(bool bOn)
Definition: svdundo.hxx:229
std::unique_ptr< SdrObjGeoData > pRedoGeo
Definition: svdundo.hxx:215
bool mbSkipChangeLayout
If we have a table object, should its layout change?
Definition: svdundo.hxx:219
Aggregation of arbitrarily many UndoActions to a single UndoAction.
Definition: svdundo.hxx:93
SdrUndoAction * GetAction(sal_Int32 nNum) const
Definition: svdundo.hxx:107
OUString aObjDescription
Definition: svdundo.hxx:98
OUString aComment
Definition: svdundo.hxx:97
void SetRepeatFunction(SdrRepeatFunc eFunc)
Definition: svdundo.hxx:120
sal_Int32 GetActionCount() const
Definition: svdundo.hxx:106
void SetComment(const OUString &rStr)
Definition: svdundo.hxx:110
void SetObjDescription(const OUString &rStr)
Definition: svdundo.hxx:111
std::vector< std::unique_ptr< SdrUndoAction > > maActions
Definition: svdundo.hxx:94
SdrRepeatFunc eFunction
Definition: svdundo.hxx:100
Inserting Objects into an ObjectList.
Definition: svdundo.hxx:294
SdrUndoInsertObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:296
Abstract base class for all UndoActions that have something to do with SdrLayer.
Definition: svdundo.hxx:503
bool bItsMine
Definition: svdundo.hxx:508
sal_uInt16 nNum
Definition: svdundo.hxx:507
SdrLayer * pLayer
Definition: svdundo.hxx:505
SdrLayerAdmin * pLayerAdmin
Definition: svdundo.hxx:506
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.cxx:1245
virtual ~SdrUndoLayer() override
Definition: svdundo.cxx:1254
Only moving of an object.
Definition: svdundo.hxx:190
SdrUndoMoveObj(SdrObject &rNewObj, const Size &rDist)
Definition: svdundo.hxx:194
Inserting a new Layer.
Definition: svdundo.hxx:521
SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:523
virtual void Redo() override
Definition: svdundo.cxx:1271
virtual void Undo() override
Definition: svdundo.cxx:1262
virtual OUString GetComment() const override
Definition: svdundo.cxx:1278
Inserting a NEW Object.
Definition: svdundo.hxx:329
SdrUndoNewObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:331
Inserting a new Page.
Definition: svdundo.hxx:626
SdrUndoNewPage(SdrPage &rNewPg)
Definition: svdundo.hxx:628
SdrUndoObjDecorative(SdrObject &rObj, bool const WasDecorative)
Definition: svdundo.cxx:1219
bool const m_WasDecorative
Definition: svdundo.hxx:482
virtual void Redo() override
Definition: svdundo.cxx:1232
virtual void Undo() override
Definition: svdundo.cxx:1225
virtual OUString GetComment() const override
Definition: svdundo.cxx:1239
Manipulation of an ObjList: New Object, DeleteObj, SetObjZLevel, Grouping, ... Abstract base class.
Definition: svdundo.hxx:255
sal_uInt32 nOrdNum
Definition: svdundo.hxx:261
SdrObjList * pObjList
Definition: svdundo.hxx:260
sal_uInt32 nNewOrdNum
Definition: svdundo.hxx:377
virtual OUString GetComment() const override
Definition: svdundo.cxx:938
virtual void Redo() override
Definition: svdundo.cxx:924
virtual void Undo() override
Definition: svdundo.cxx:910
sal_uInt32 nOldOrdNum
Definition: svdundo.hxx:376
SdrUndoObjOrdNum(SdrObject &rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
Definition: svdundo.cxx:903
std::optional< OutlinerParaObject > pNewText
Definition: svdundo.hxx:426
bool bNewTextAvailable
Definition: svdundo.hxx:427
sal_Int32 mnText
Definition: svdundo.hxx:429
std::optional< OutlinerParaObject > pOldText
Definition: svdundo.hxx:424
Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i7324...
Definition: svdundo.hxx:453
const OUString msOldStr
Definition: svdundo.hxx:474
const OUString msNewStr
Definition: svdundo.hxx:475
virtual void Undo() override
Definition: svdundo.cxx:1163
virtual OUString GetComment() const override
Definition: svdundo.cxx:1199
SdrUndoObjStrAttr(SdrObject &rNewObj, const ObjStrAttrType eObjStrAttr, OUString sOldStr, OUString sNewStr)
Definition: svdundo.cxx:1152
const ObjStrAttrType meObjStrAttr
Definition: svdundo.hxx:473
virtual void Redo() override
Definition: svdundo.cxx:1181
Abstract base class for all UndoActions that handle objects.
Definition: svdundo.hxx:128
rtl::Reference< SdrObject > mxObj
Definition: svdundo.hxx:130
Changing the MasterPageDescriptor (e.g.
Definition: svdundo.hxx:719
virtual void Undo() override
Definition: svdundo.cxx:1623
virtual void Redo() override
Definition: svdundo.cxx:1642
sal_uInt16 maNewMasterPageNumber
Definition: svdundo.hxx:722
virtual OUString GetComment() const override
Definition: svdundo.cxx:1653
SdrUndoPageChangeMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1616
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
Definition: svdundo.hxx:579
sal_uInt16 nPageNum
Definition: svdundo.hxx:581
ABC for all UndoActions that have something to do with MasterPage relationships.
Definition: svdundo.hxx:684
UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) virtual ~SdrUndoPageMasterPage() override
SdrUndoPageMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1575
SdrLayerIDSet maOldSet
Definition: svdundo.hxx:687
sal_uInt16 maOldMasterPageNumber
Definition: svdundo.hxx:688
Removal of a MasterPage from a Character Page.
Definition: svdundo.hxx:703
virtual void Redo() override
Definition: svdundo.cxx:1606
virtual void Undo() override
Definition: svdundo.cxx:1597
SdrUndoPageRemoveMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1592
virtual OUString GetComment() const override
Definition: svdundo.cxx:1611
ABC for all UndoActions that have something to do with SdrPages.
Definition: svdundo.hxx:558
static OUString ImpGetDescriptionStr(TranslateId pStrCacheID)
Definition: svdundo.cxx:1364
SdrUndoPage(SdrPage &rNewPg)
Definition: svdundo.cxx:1306
void ImpInsertPage(sal_uInt16 nNum)
Definition: svdundo.cxx:1314
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
Definition: svdundo.cxx:1348
void ImpRemovePage(sal_uInt16 nNum)
Definition: svdundo.cxx:1330
rtl::Reference< SdrPage > mxPage
Definition: svdundo.hxx:560
Removing an Object from an ObjectList.
Definition: svdundo.hxx:276
SdrUndoRemoveObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
Definition: svdundo.hxx:278
Replacing an Object.
Definition: svdundo.hxx:348
SdrObjList * pObjList
Definition: svdundo.hxx:349
rtl::Reference< SdrObject > mxNewObj
Definition: svdundo.hxx:350
Moving a Page within the List.
Definition: svdundo.hxx:659
SdrUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
Definition: svdundo.hxx:664
sal_uInt16 nOldPageNum
Definition: svdundo.hxx:660
virtual void Redo() override
Definition: svdundo.cxx:1565
virtual OUString GetComment() const override
Definition: svdundo.cxx:1570
sal_uInt16 nNewPageNum
Definition: svdundo.hxx:661
virtual void Undo() override
Definition: svdundo.cxx:1560
virtual void Redo() override
Definition: svdundo.cxx:976
void Do(::std::vector< sal_Int32 > &rSortOrder)
Definition: svdundo.cxx:957
::std::vector< sal_Int32 > m_NewSortOrder
Definition: svdundo.hxx:392
SdrUndoSort(const SdrPage &rPage, ::std::vector< sal_Int32 > const &rSortOrder)
Definition: svdundo.cxx:943
sal_uInt16 const m_nPage
Definition: svdundo.hxx:393
virtual OUString GetComment() const override
Definition: svdundo.cxx:981
virtual void Undo() override
Definition: svdundo.cxx:971
::std::vector< sal_Int32 > m_OldSortOrder
Definition: svdundo.hxx:391
virtual void Repeat(SfxRepeatTarget &)
virtual OUString GetRepeatComment(SfxRepeatTarget &) const
virtual ViewShellId GetViewShellId() const
virtual void Redo()
virtual void Undo()
virtual OUString GetComment() const
virtual bool CanRepeat(SfxRepeatTarget &) const
Title
SdrRepeatFunc
Definition: svdtypes.hxx:66
#define SVXCORE_DLLPUBLIC
Definition: svxdllapi.h:35
o3tl::enumarray< SvxBoxItemLine, sal_uInt16 > aDistance
OUString Name