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{
152protected:
153 std::optional<SfxItemSet> moUndoSet;
154 std::optional<SfxItemSet> moRedoSet;
155
156 // FIXME: Or should we better remember the StyleSheetNames?
161
162 // When assigning TextItems to a drawing object with text:
164 // #i8508#
165 // The text rescue mechanism needs also to be implemented for redo actions.
167
168 // If we have a group object:
169 std::unique_ptr<SdrUndoGroup> pUndoGroup;
170
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{
423protected:
430 sal_Int32 mnText;
431
432public:
433 SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
434 virtual ~SdrUndoObjSetText() override;
435
436 bool IsDifferent() const;
437 void AfterSetText();
438
439 virtual void Undo() override;
440 virtual void Redo() override;
441
442 virtual OUString GetComment() const override;
443 virtual OUString GetSdrRepeatComment() const override;
444
445 virtual void SdrRepeat(SdrView& rView) override;
446 virtual bool CanSdrRepeat(SdrView& rView) const override;
447};
448
453class SdrUndoObjStrAttr final : public SdrUndoObj
454{
455public:
456 enum class ObjStrAttrType
457 {
458 Name,
459 Title,
460 Description
461 };
462
464 const ObjStrAttrType eObjStrAttr,
465 OUString sOldStr,
466 OUString sNewStr);
467
468 virtual void Undo() override;
469 virtual void Redo() override;
470
471 virtual OUString GetComment() const override;
472
473private:
475 const OUString msOldStr;
476 const OUString msNewStr;
477
478};
479
480
481/*
482 * Layer
483 */
484
490{
491protected:
494 sal_uInt16 nNum;
496
497protected:
498 SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
499 virtual ~SdrUndoLayer() override;
500};
501
507class SdrUndoNewLayer final : public SdrUndoLayer
508{
509public:
510 SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
511 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) {}
512
513 virtual void Undo() override;
514 virtual void Redo() override;
515
516 virtual OUString GetComment() const override;
517};
518
524class SdrUndoDelLayer final : public SdrUndoLayer
525{
526public:
527 SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
528 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) { bItsMine=true; }
529
530 virtual void Undo() override;
531 virtual void Redo() override;
532
533 virtual OUString GetComment() const override;
534};
535
536/*
537 * Pages
538 */
539
545{
546protected:
548
549protected:
550 void ImpInsertPage(sal_uInt16 nNum);
551 void ImpRemovePage(sal_uInt16 nNum);
552 void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum);
553
554protected:
555 SdrUndoPage(SdrPage& rNewPg);
556 ~SdrUndoPage();
557
558 static OUString ImpGetDescriptionStr(TranslateId pStrCacheID);
559};
560
566{
567protected:
568 sal_uInt16 nPageNum;
569
570protected:
571 SdrUndoPageList(SdrPage& rNewPg);
572 virtual ~SdrUndoPageList() override;
573};
574
581{
582 // When deleting a MasterPage, we remember all relations of the
583 // Character Page with the MasterPage in this UndoGroup.
584 std::unique_ptr<SdrUndoGroup> pUndoGroup;
585 std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
587
588public:
589 SdrUndoDelPage(SdrPage& rNewPg);
590 virtual ~SdrUndoDelPage() override;
591
592 virtual void Undo() override;
593 virtual void Redo() override;
594
595 virtual OUString GetComment() const override;
596 virtual OUString GetSdrRepeatComment() const override;
597
598 virtual void SdrRepeat(SdrView& rView) override;
599 virtual bool CanSdrRepeat(SdrView& rView) const override;
600
601private:
602 void queryFillBitmap(const SfxItemSet &rItemSet);
603 void clearFillBitmap();
604 void restoreFillBitmap();
605};
606
613{
614public:
616
617 virtual void Undo() override;
618 virtual void Redo() override;
619
620 virtual OUString GetComment() const override;
621};
622
628class SdrUndoCopyPage final : public SdrUndoNewPage
629{
630public:
632
633 virtual OUString GetComment() const override;
634 virtual OUString GetSdrRepeatComment() const override;
635
636 virtual void SdrRepeat(SdrView& rView) override;
637 virtual bool CanSdrRepeat(SdrView& rView) const override;
638};
639
645class SdrUndoSetPageNum final : public SdrUndoPage
646{
647 sal_uInt16 nOldPageNum;
648 sal_uInt16 nNewPageNum;
649
650public:
651 SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
652 : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
653
654 virtual void Undo() override;
655 virtual void Redo() override;
656
657 virtual OUString GetComment() const override;
658};
659
660
661/*
662 * Masterpages
663 */
664
671{
672protected:
676
677protected:
678 SdrUndoPageMasterPage(SdrPage& rChangedPage);
679
680public:
682};
683
690{
691public:
693
694 virtual void Undo() override;
695 virtual void Redo() override;
696
697 virtual OUString GetComment() const override;
698};
699
706{
710
711public:
713
714 virtual void Undo() override;
715 virtual void Redo() override;
716
717 virtual OUString GetComment() const override;
718};
719
720
727{
728public:
729 // Shapes
730 virtual ~SdrUndoFactory();
731 virtual std::unique_ptr<SdrUndoAction> CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
732 virtual std::unique_ptr<SdrUndoAction> CreateUndoGeoObject( SdrObject& rObject );
733 virtual std::unique_ptr<SdrUndoAction> CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
734 virtual std::unique_ptr<SdrUndoAction> CreateUndoRemoveObject(SdrObject& rObject);
735 virtual std::unique_ptr<SdrUndoAction> CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
736 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
737 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
738 virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
739
740 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
741
742 virtual std::unique_ptr<SdrUndoAction> CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject );
743 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
744 virtual std::unique_ptr<SdrUndoAction> CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
745
746 // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
747 static std::unique_ptr<SdrUndoAction> CreateUndoObjectStrAttr( SdrObject& rObject,
748 SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
749 const OUString& sOldStr,
750 const OUString& sNewStr );
751
752 // Diagram ModelData changes
753 virtual std::unique_ptr<SdrUndoAction> CreateUndoDiagramModelData( SdrObject& rObject, std::shared_ptr< svx::diagram::DiagramDataState >& rStartState );
754
755 // Layer
756 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
757 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
758
759 // Page
760 virtual std::unique_ptr<SdrUndoAction> CreateUndoDeletePage(SdrPage& rPage);
761 virtual std::unique_ptr<SdrUndoAction> CreateUndoNewPage(SdrPage& rPage);
762 virtual std::unique_ptr<SdrUndoAction> CreateUndoCopyPage(SdrPage& rPage);
763 virtual std::unique_ptr<SdrUndoAction> CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
764 static std::unique_ptr<SdrUndoAction> CreateUndoSort(SdrPage& rPage, ::std::vector<sal_Int32> const& rSortOrder);
765
766 // Master page
767 virtual std::unique_ptr<SdrUndoAction> CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
768 virtual std::unique_ptr<SdrUndoAction> CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
769};
770
771/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
All geometrical data of an arbitrary object for use in undo/redo.
Definition: svdobj.hxx:171
Abstract DrawObject.
Definition: svdobj.hxx:257
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:377
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:169
bool bStyleSheet
Definition: svdundo.hxx:159
std::optional< SfxItemSet > moRedoSet
Definition: svdundo.hxx:154
std::optional< SfxItemSet > moUndoSet
Definition: svdundo.hxx:153
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
Definition: svdundo.hxx:157
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
Definition: svdundo.hxx:158
bool bHaveToTakeRedoSet
Definition: svdundo.hxx:160
std::optional< OutlinerParaObject > pTextRedo
Definition: svdundo.hxx:166
std::optional< OutlinerParaObject > pTextUndo
Definition: svdundo.hxx:163
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:629
virtual void SdrRepeat(SdrView &rView) override
Definition: svdundo.cxx:1524
SdrUndoCopyPage(SdrPage &rNewPg)
Definition: svdundo.hxx:631
virtual bool CanSdrRepeat(SdrView &rView) const override
Definition: svdundo.cxx:1529
virtual OUString GetComment() const override
Definition: svdundo.cxx:1514
virtual OUString GetSdrRepeatComment() const override
Definition: svdundo.cxx:1519
Deleting a Layer.
Definition: svdundo.hxx:525
virtual OUString GetComment() const override
Definition: svdundo.cxx:1275
SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:527
virtual void Redo() override
Definition: svdundo.cxx:1266
virtual void Undo() override
Definition: svdundo.cxx:1259
Deleting an Object.
Definition: svdundo.hxx:309
Deleting a Page.
Definition: svdundo.hxx:581
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
Definition: svdundo.hxx:585
bool mbHasFillBitmap
Definition: svdundo.hxx:586
std::unique_ptr< SdrUndoGroup > pUndoGroup
Definition: svdundo.hxx:584
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:727
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:490
bool bItsMine
Definition: svdundo.hxx:495
sal_uInt16 nNum
Definition: svdundo.hxx:494
SdrLayer * pLayer
Definition: svdundo.hxx:492
SdrLayerAdmin * pLayerAdmin
Definition: svdundo.hxx:493
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.cxx:1220
virtual ~SdrUndoLayer() override
Definition: svdundo.cxx:1229
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:508
SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
Definition: svdundo.hxx:510
virtual void Redo() override
Definition: svdundo.cxx:1246
virtual void Undo() override
Definition: svdundo.cxx:1237
virtual OUString GetComment() const override
Definition: svdundo.cxx:1253
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:613
SdrUndoNewPage(SdrPage &rNewPg)
Definition: svdundo.hxx:615
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:427
bool bNewTextAvailable
Definition: svdundo.hxx:428
sal_Int32 mnText
Definition: svdundo.hxx:430
std::optional< OutlinerParaObject > pOldText
Definition: svdundo.hxx:425
Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i7324...
Definition: svdundo.hxx:454
const OUString msOldStr
Definition: svdundo.hxx:475
const OUString msNewStr
Definition: svdundo.hxx:476
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:474
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:706
virtual void Undo() override
Definition: svdundo.cxx:1598
virtual void Redo() override
Definition: svdundo.cxx:1617
sal_uInt16 maNewMasterPageNumber
Definition: svdundo.hxx:709
virtual OUString GetComment() const override
Definition: svdundo.cxx:1628
SdrUndoPageChangeMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1591
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
Definition: svdundo.hxx:566
sal_uInt16 nPageNum
Definition: svdundo.hxx:568
ABC for all UndoActions that have something to do with MasterPage relationships.
Definition: svdundo.hxx:671
UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) virtual ~SdrUndoPageMasterPage() override
SdrUndoPageMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1550
SdrLayerIDSet maOldSet
Definition: svdundo.hxx:674
sal_uInt16 maOldMasterPageNumber
Definition: svdundo.hxx:675
Removal of a MasterPage from a Character Page.
Definition: svdundo.hxx:690
virtual void Redo() override
Definition: svdundo.cxx:1581
virtual void Undo() override
Definition: svdundo.cxx:1572
SdrUndoPageRemoveMasterPage(SdrPage &rChangedPage)
Definition: svdundo.cxx:1567
virtual OUString GetComment() const override
Definition: svdundo.cxx:1586
ABC for all UndoActions that have something to do with SdrPages.
Definition: svdundo.hxx:545
static OUString ImpGetDescriptionStr(TranslateId pStrCacheID)
Definition: svdundo.cxx:1339
SdrUndoPage(SdrPage &rNewPg)
Definition: svdundo.cxx:1281
void ImpInsertPage(sal_uInt16 nNum)
Definition: svdundo.cxx:1289
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
Definition: svdundo.cxx:1323
void ImpRemovePage(sal_uInt16 nNum)
Definition: svdundo.cxx:1305
rtl::Reference< SdrPage > mxPage
Definition: svdundo.hxx:547
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:646
SdrUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
Definition: svdundo.hxx:651
sal_uInt16 nOldPageNum
Definition: svdundo.hxx:647
virtual void Redo() override
Definition: svdundo.cxx:1540
virtual OUString GetComment() const override
Definition: svdundo.cxx:1545
sal_uInt16 nNewPageNum
Definition: svdundo.hxx:648
virtual void Undo() override
Definition: svdundo.cxx:1535
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