Version 5.4.3.2, tag libreoffice-5.4.3.2
[LibreOffice.git] / include / svx / svdundo.hxx
blob3e434f8e64bd7021fa5d04ad737cf5033a78ce9e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SVX_SVDUNDO_HXX
21 #define INCLUDED_SVX_SVDUNDO_HXX
23 #include <sal/config.h>
25 #include <memory>
26 #include <vector>
28 #include <svl/solar.hrc>
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>
36 class SfxItemSet;
37 class SfxPoolItem;
38 class SfxStyleSheet;
39 class SdrView;
40 class SdrPageView;
41 class SdrModel;
42 class SdrObject;
43 class SdrPage;
44 class SdrObjList;
45 class SdrLayer;
46 class SdrLayerAdmin;
47 class SdrObjGeoData;
48 class OutlinerParaObject;
50 /**
51 * Abstract base class (ABC) for all UndoActions of DrawingEngine
54 class SVX_DLLPUBLIC SdrUndoAction : public SfxUndoAction
56 protected:
57 SdrModel& rMod;
58 ViewShellId m_nViewShellId;
60 protected:
61 SdrUndoAction(SdrModel& rNewMod);
63 public:
64 virtual ~SdrUndoAction() override;
66 virtual bool CanRepeat(SfxRepeatTarget& rView) const override;
67 virtual void Repeat(SfxRepeatTarget& rView) override;
69 virtual OUString GetRepeatComment(SfxRepeatTarget& rView) const override;
70 virtual OUString GetSdrRepeatComment(SdrView& rView) const;
72 virtual bool CanSdrRepeat(SdrView& rView) const;
73 virtual void SdrRepeat(SdrView& rView);
75 /// See SfxUndoAction::GetViewShellId().
76 ViewShellId GetViewShellId() const override;
79 /**
80 * Aggregation of arbitrarily many UndoActions to a single UndoAction.
81 * Undo() executes the single UndoActions backwards (LIFO, first the last
82 * ones attached), Redo() executes the UndoActions in the order they were
83 * added (FIFO).
86 class SVX_DLLPUBLIC SdrUndoGroup : public SdrUndoAction
88 protected:
89 std::vector<SdrUndoAction*> aBuf;
91 // No expanded description of the Action (contains %O)
92 OUString aComment;
93 OUString aObjDescription;
95 SdrRepeatFunc eFunction;
97 public:
98 SdrUndoGroup(SdrModel& rNewMod);
99 virtual ~SdrUndoGroup() override;
101 void Clear();
102 sal_uIntPtr GetActionCount() const { return aBuf.size(); }
103 SdrUndoAction* GetAction(sal_uIntPtr nNum) const { return aBuf[nNum]; }
104 void AddAction(SdrUndoAction* pAct);
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(SdrView& rView) const override;
111 virtual void Undo() override;
112 virtual void Redo() override;
114 virtual bool CanSdrRepeat(SdrView& rView) const override;
115 virtual void SdrRepeat(SdrView& rView) override;
116 void SetRepeatFunction(SdrRepeatFunc eFunc) { eFunction=eFunc; }
120 * Abstract base class for all UndoActions that handle objects.
123 class SVX_DLLPUBLIC SdrUndoObj : public SdrUndoAction
125 protected:
126 SdrObject* pObj;
128 protected:
129 SdrUndoObj(SdrObject& rNewObj);
131 void ImpTakeDescriptionStr(sal_uInt16 nStrCacheID, OUString& rStr, bool bRepeat = false) const;
133 static SAL_WARN_UNUSED_RESULT OUString GetDescriptionStringForObject( const SdrObject& _rForObject, sal_uInt16 nStrCacheID, bool bRepeat = false );
135 // #94278# new method for evtl. PageChange at UNDO/REDO
136 void ImpShowPageOfThisObject();
140 * Changing the object attributes.
141 * Create Action right before setting the new attributes.
142 * Also for StyleSheets.
145 class SVX_DLLPUBLIC SdrUndoAttrObj : public SdrUndoObj
147 protected:
148 SfxItemSet* pUndoSet;
149 SfxItemSet* pRedoSet;
150 SfxItemSet* pRepeatSet;
152 // FIXME: Or should we better remember the StyleSheetNames?
153 rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet;
154 rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet;
155 bool bStyleSheet;
156 bool bHaveToTakeRedoSet;
158 // When assigning TextItems to a drawing object with text:
159 OutlinerParaObject* pTextUndo;
160 // #i8508#
161 // The text rescue mechanism needs also to be implemented for redo actions.
162 OutlinerParaObject* pTextRedo;
164 // If we have a group object:
165 SdrUndoGroup* pUndoGroup;
167 // Helper to ensure StyleSheet is in pool (provided by SdrModel from SdrObject)
168 static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool& rStyleSheetPool, SfxStyleSheet& rSheet);
170 public:
171 SdrUndoAttrObj(SdrObject& rNewObj, bool bStyleSheet1 = false, bool bSaveText = false);
172 virtual ~SdrUndoAttrObj() override;
173 virtual void Undo() override;
174 virtual void Redo() override;
176 virtual OUString GetComment() const override;
177 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
179 virtual void SdrRepeat(SdrView& rView) override;
180 virtual bool CanSdrRepeat(SdrView& rView) const override;
184 * Only moving of an object.
185 * Create Action right before moving.
188 class SVX_DLLPUBLIC SdrUndoMoveObj : public SdrUndoObj
190 protected:
191 Size aDistance; // Distance by which we move
193 public:
194 SdrUndoMoveObj(SdrObject& rNewObj): SdrUndoObj(rNewObj) {}
195 SdrUndoMoveObj(SdrObject& rNewObj, const Size& rDist): SdrUndoObj(rNewObj),aDistance(rDist) {}
196 virtual ~SdrUndoMoveObj() override;
198 virtual void Undo() override;
199 virtual void Redo() override;
201 virtual OUString GetComment() const override;
202 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
204 virtual void SdrRepeat(SdrView& rView) override;
205 virtual bool CanSdrRepeat(SdrView& rView) const override;
209 * Changing the geometry of an object.
210 * Create Action right before the geometric transformation.
213 class SVX_DLLPUBLIC SdrUndoGeoObj : public SdrUndoObj
215 protected:
216 SdrObjGeoData* pUndoGeo;
217 SdrObjGeoData* pRedoGeo;
218 // If we have a group object:
219 SdrUndoGroup* pUndoGroup;
220 /// If we have a table object, should its layout change?
221 bool mbSkipChangeLayout;
223 public:
224 SdrUndoGeoObj(SdrObject& rNewObj);
225 virtual ~SdrUndoGeoObj() override;
227 virtual void Undo() override;
228 virtual void Redo() override;
230 virtual OUString GetComment() const override;
231 void SetSkipChangeLayout(bool bOn) { mbSkipChangeLayout=bOn; }
235 * Manipulation of an ObjList: New Object, DeleteObj, SetObjZLevel, Grouping, ...
236 * Abstract base class.
239 class SVX_DLLPUBLIC SdrUndoObjList : public SdrUndoObj {
240 class ObjListListener;
241 friend class ObjListListener;
243 private:
244 bool bOwner;
246 protected:
247 SdrObjList* pObjList;
248 sal_uInt32 nOrdNum;
250 protected:
251 SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect);
252 virtual ~SdrUndoObjList() override;
254 bool IsOwner() { return bOwner; }
255 void SetOwner(bool bNew);
259 * Removing an Object from an ObjectList.
260 * To be used with corresponding Inserts within a UndoGroup.
262 * Create Action before removing from the ObjList.
265 class SVX_DLLPUBLIC SdrUndoRemoveObj : public SdrUndoObjList
267 public:
268 SdrUndoRemoveObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
269 : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
271 virtual void Undo() override;
272 virtual void Redo() override;
274 virtual ~SdrUndoRemoveObj() override;
278 * Inserting Objects into a ObjectList.
279 * Use with corresponding Removes within an UndoGroup.
280 * Create Action before removal from ObjList.
283 class SVX_DLLPUBLIC SdrUndoInsertObj : public SdrUndoObjList
285 public:
286 SdrUndoInsertObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
287 : SdrUndoObjList(rNewObj,bOrdNumDirect) {}
289 virtual void Undo() override;
290 virtual void Redo() override;
294 * Deleting an Object.
295 * Create Action before removing from ObjList.
298 class SVX_DLLPUBLIC SdrUndoDelObj : public SdrUndoRemoveObj
300 public:
301 SdrUndoDelObj(SdrObject& rNewObj, bool bOrdNumDirect = false);
303 virtual void Undo() override;
304 virtual void Redo() override;
306 virtual OUString GetComment() const override;
307 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
309 virtual void SdrRepeat(SdrView& rView) override;
310 virtual bool CanSdrRepeat(SdrView& rView) const override;
314 * Inserting a NEW Object.
315 * Create Action after insertion into the ObjList.
318 class SVX_DLLPUBLIC SdrUndoNewObj : public SdrUndoInsertObj
320 public:
321 SdrUndoNewObj(SdrObject& rNewObj, bool bOrdNumDirect = false)
322 : SdrUndoInsertObj(rNewObj,bOrdNumDirect) {}
324 virtual void Undo() override;
325 virtual void Redo() override;
327 virtual OUString GetComment() const override;
329 static OUString GetComment(const SdrObject& _rForObject);
333 * Replacing an Object.
334 * Create Action before Replace in ObjList.
337 class SVX_DLLPUBLIC SdrUndoReplaceObj : public SdrUndoObj
339 bool bOldOwner;
340 bool bNewOwner;
342 protected:
343 SdrObjList* pObjList;
344 sal_uInt32 nOrdNum;
345 SdrObject* pNewObj;
347 public:
348 SdrUndoReplaceObj(SdrObject& rOldObj1, SdrObject& rNewObj1, bool bOrdNumDirect);
349 virtual ~SdrUndoReplaceObj() override;
351 virtual void Undo() override;
352 virtual void Redo() override;
354 bool IsNewOwner() { return bNewOwner; }
355 void SetNewOwner(bool bNew);
357 bool IsOldOwner() { return bOldOwner; }
358 void SetOldOwner(bool bNew);
362 * Copying an Object.
363 * Create Action before inserting into the ObjList.
366 class SdrUndoCopyObj : public SdrUndoNewObj
368 public:
369 SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect)
370 : SdrUndoNewObj(rNewObj,bOrdNumDirect) {}
372 virtual OUString GetComment() const override;
375 class SdrUndoObjOrdNum : public SdrUndoObj
377 protected:
378 sal_uInt32 nOldOrdNum;
379 sal_uInt32 nNewOrdNum;
381 public:
382 SdrUndoObjOrdNum(SdrObject& rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
384 virtual void Undo() override;
385 virtual void Redo() override;
387 virtual OUString GetComment() const override;
391 // #i11702#
393 class SVX_DLLPUBLIC SdrUndoObjectLayerChange : public SdrUndoObj
395 protected:
396 SdrLayerID maOldLayer;
397 SdrLayerID maNewLayer;
399 public:
400 SdrUndoObjectLayerChange(SdrObject& rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer);
402 virtual void Undo() override;
403 virtual void Redo() override;
406 class SVX_DLLPUBLIC SdrUndoObjSetText : public SdrUndoObj
408 protected:
409 OutlinerParaObject* pOldText;
410 OutlinerParaObject* pNewText;
411 bool bNewTextAvailable;
412 bool bEmptyPresObj;
413 sal_Int32 mnText;
415 public:
416 SdrUndoObjSetText(SdrObject& rNewObj, sal_Int32 nText );
417 virtual ~SdrUndoObjSetText() override;
419 bool IsDifferent() const { return pOldText!=pNewText; }
420 void AfterSetText();
422 virtual void Undo() override;
423 virtual void Redo() override;
425 virtual OUString GetComment() const override;
426 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
428 virtual void SdrRepeat(SdrView& rView) override;
429 virtual bool CanSdrRepeat(SdrView& rView) const override;
433 * Implement Title/Description Elements UI for Writer
434 * text frames, graphics and embedded objects (#i73249#)
436 class SdrUndoObjStrAttr : public SdrUndoObj
438 public:
439 enum class ObjStrAttrType
441 Name,
442 Title,
443 Description
446 protected:
447 const ObjStrAttrType meObjStrAttr;
448 const OUString msOldStr;
449 const OUString msNewStr;
451 public:
452 SdrUndoObjStrAttr( SdrObject& rNewObj,
453 const ObjStrAttrType eObjStrAttr,
454 const OUString& sOldStr,
455 const OUString& sNewStr);
457 virtual void Undo() override;
458 virtual void Redo() override;
460 virtual OUString GetComment() const override;
465 * Layer
469 * Abstract base class for all UndoActions that have something to do with SdrLayer.
472 class SdrUndoLayer : public SdrUndoAction
474 protected:
475 SdrLayer* pLayer;
476 SdrLayerAdmin* pLayerAdmin;
477 sal_uInt16 nNum;
478 bool bItsMine;
480 protected:
481 SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
482 virtual ~SdrUndoLayer() override;
486 * Inserting a new Layer.
487 * Create Action after Insertion.
490 class SdrUndoNewLayer : public SdrUndoLayer
492 public:
493 SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
494 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) {}
496 virtual void Undo() override;
497 virtual void Redo() override;
499 virtual OUString GetComment() const override;
503 * Deleting a Layer.
504 * Create Action before the Remove.
507 class SdrUndoDelLayer : public SdrUndoLayer
509 public:
510 SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
511 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel) { bItsMine=true; }
513 virtual void Undo() override;
514 virtual void Redo() override;
516 virtual OUString GetComment() const override;
520 * Moving a Layer.
521 * Create Action before the Move.
524 class SdrUndoMoveLayer : public SdrUndoLayer
526 sal_uInt16 nNeuPos;
528 public:
529 SdrUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1)
530 : SdrUndoLayer(nLayerNum,rNewLayerAdmin,rNewModel), nNeuPos(nNeuPos1) {}
532 virtual void Undo() override;
533 virtual void Redo() override;
535 virtual OUString GetComment() const override;
540 * Pages
544 * ABC for all UndoActions that have something to do with SdrPages.
547 class SVX_DLLPUBLIC SdrUndoPage : public SdrUndoAction
549 protected:
550 SdrPage& mrPage;
552 protected:
553 void ImpInsertPage(sal_uInt16 nNum);
554 void ImpRemovePage(sal_uInt16 nNum);
555 void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum);
557 protected:
558 SdrUndoPage(SdrPage& rNewPg);
560 static void ImpTakeDescriptionStr(sal_uInt16 nStrCacheID, OUString& rStr);
564 * ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
567 class SVX_DLLPUBLIC SdrUndoPageList : public SdrUndoPage
569 protected:
570 sal_uInt16 nPageNum;
572 // It's possible that the object is re-assigned during a Undo/Redo.
573 // The Page is deleted in the dtor, if bItsMine==TRUE
574 bool bItsMine;
576 protected:
577 SdrUndoPageList(SdrPage& rNewPg);
578 virtual ~SdrUndoPageList() override;
582 * Deleting a Page.
583 * Create Action before removing from the List.
586 class SVX_DLLPUBLIC SdrUndoDelPage : public SdrUndoPageList
588 // When deleting a MasterPage, we remember all relations of the
589 // Character Page with the MasterPage in this UndoGroup.
590 std::unique_ptr<SdrUndoGroup> pUndoGroup;
591 std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
592 bool mbHasFillBitmap;
594 public:
595 SdrUndoDelPage(SdrPage& rNewPg);
596 virtual ~SdrUndoDelPage() override;
598 virtual void Undo() override;
599 virtual void Redo() override;
601 virtual OUString GetComment() const override;
602 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
604 virtual void SdrRepeat(SdrView& rView) override;
605 virtual bool CanSdrRepeat(SdrView& rView) const override;
607 private:
608 void queryFillBitmap(const SfxItemSet &rItemSet);
609 void clearFillBitmap();
610 void restoreFillBitmap();
614 * Inserting a new Page.
615 * Create Action after inserting into the List.
618 class SVX_DLLPUBLIC SdrUndoNewPage : public SdrUndoPageList
620 public:
621 SdrUndoNewPage(SdrPage& rNewPg): SdrUndoPageList(rNewPg) {}
623 virtual void Undo() override;
624 virtual void Redo() override;
626 virtual OUString GetComment() const override;
630 * Copying a Page.
631 * Create Action after inserting into the List.
634 class SdrUndoCopyPage : public SdrUndoNewPage
636 public:
637 SdrUndoCopyPage(SdrPage& rNewPg): SdrUndoNewPage(rNewPg) {}
639 virtual OUString GetComment() const override;
640 virtual OUString GetSdrRepeatComment(SdrView& rView) const override;
642 virtual void SdrRepeat(SdrView& rView) override;
643 virtual bool CanSdrRepeat(SdrView& rView) const override;
647 * Moving a Page within the List.
648 * Create Action before moving the Page.
651 class SVX_DLLPUBLIC SdrUndoSetPageNum : public SdrUndoPage
653 protected:
654 sal_uInt16 nOldPageNum;
655 sal_uInt16 nNewPageNum;
657 public:
658 SdrUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
659 : SdrUndoPage(rNewPg),nOldPageNum(nOldPageNum1),nNewPageNum(nNewPageNum1) {}
661 virtual void Undo() override;
662 virtual void Redo() override;
664 virtual OUString GetComment() const override;
669 * Masterpages
673 * ABC for all UndoActions that have something to do with
674 * MasterPage relationships.
677 class SdrUndoPageMasterPage : public SdrUndoPage
679 protected:
680 bool mbOldHadMasterPage;
681 SdrLayerIDSet maOldSet;
682 sal_uInt16 maOldMasterPageNumber;
684 protected:
685 SdrUndoPageMasterPage(SdrPage& rChangedPage);
687 public:
688 SVX_DLLPUBLIC virtual ~SdrUndoPageMasterPage() override;
692 * Removal of a MasterPage from a Character Page.
693 * Create Action before removing the MasterPageDescriptor.
696 class SdrUndoPageRemoveMasterPage : public SdrUndoPageMasterPage
698 public:
699 SdrUndoPageRemoveMasterPage(SdrPage& rChangedPage);
701 virtual void Undo() override;
702 virtual void Redo() override;
704 virtual OUString GetComment() const override;
708 * Changing the MasterPageDescriptor (e.g. change of the VisibleLayer).
709 * Create Action before changing the MasterPageDescriptors.
712 class SVX_DLLPUBLIC SdrUndoPageChangeMasterPage : public SdrUndoPageMasterPage
714 protected:
715 bool mbNewHadMasterPage;
716 SdrLayerIDSet maNewSet;
717 sal_uInt16 maNewMasterPageNumber;
719 public:
720 SdrUndoPageChangeMasterPage(SdrPage& rChangedPage);
722 virtual void Undo() override;
723 virtual void Redo() override;
725 virtual OUString GetComment() const override;
730 * The SdrUndoFactory can be set and retrieved from the SdrModel.
731 * It is used by the drawing layer implementations to create undo actions.
732 * It can be used by applications to create application specific undo actions.
734 class SVX_DLLPUBLIC SdrUndoFactory
736 public:
737 // Shapes
738 virtual ~SdrUndoFactory();
739 virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject );
740 virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
741 virtual SdrUndoAction* CreateUndoGeoObject( SdrObject& rObject );
742 virtual SdrUndoAction* CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
743 virtual SdrUndoAction* CreateUndoRemoveObject( SdrObject& rObject, bool bOrdNumDirect = false);
744 virtual SdrUndoAction* CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
745 virtual SdrUndoAction* CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
746 virtual SdrUndoAction* CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
747 virtual SdrUndoAction* CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
749 virtual SdrUndoAction* CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
751 virtual SdrUndoAction* CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject, bool bOrdNumDirect = false );
752 virtual SdrUndoAction* CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
753 virtual SdrUndoAction* CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
755 // Implement Title/Description Elements UI for Writer text frames, graphics and embedded objects (#i73249#)
756 static SdrUndoAction* CreateUndoObjectStrAttr( SdrObject& rObject,
757 SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
758 const OUString& sOldStr,
759 const OUString& sNewStr );
761 // Layer
762 virtual SdrUndoAction* CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
763 virtual SdrUndoAction* CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
764 virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1);
766 // Page
767 virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage);
768 virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage);
769 virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage);
770 virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
772 // Master page
773 virtual SdrUndoAction* CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
774 virtual SdrUndoAction* CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
777 #endif // INCLUDED_SVX_SVDUNDO_HXX
779 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */