LibreOffice Module sd (master) 1
undoobjects.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 <memory>
23#include <svx/svdundo.hxx>
24#include <pres.hxx>
25#include <tools/weakbase.hxx>
26#include <unotools/weakref.hxx>
27
28class SdrObjUserCall;
29class SdPage;
30
31namespace sd
32{
34{
35protected:
38
39 virtual void Undo();
40 virtual void Redo();
41
42private:
43 std::unique_ptr<SfxUndoAction> mpUndoUsercall;
44 std::unique_ptr<SfxUndoAction> mpUndoAnimation;
45 std::unique_ptr<SfxUndoAction> mpUndoPresObj;
46};
47
49{
50public:
52
53 virtual void Undo() override;
54 virtual void Redo() override;
55
56private:
58};
59
61{
62public:
63 UndoDeleteObject(SdrObject& rObject, bool bOrdNumDirect);
64
65 virtual void Undo() override;
66 virtual void Redo() override;
67
68private:
70};
71
73{
74public:
75 UndoReplaceObject(SdrObject& rOldObject, SdrObject& rNewObject);
76
77 virtual void Undo() override;
78 virtual void Redo() override;
79
80private:
82};
83
85{
86public:
87 UndoObjectSetText(SdrObject& rNewObj, sal_Int32 nText);
88 virtual ~UndoObjectSetText() override;
89
90 virtual void Undo() override;
91 virtual void Redo() override;
92
93private:
94 std::unique_ptr<SfxUndoAction> mpUndoAnimation;
97};
98
99// Undo for SdrObject::SetUserCall()
100
101class UndoObjectUserCall final : public SdrUndoObj
102{
103public:
105
106 virtual void Undo() override;
107 virtual void Redo() override;
108
109private:
113};
114
115// Undo for SdPage::InsertPresObj() and SdPage::RemovePresObj()
116
118{
119public:
121
122 virtual void Undo() override;
123 virtual void Redo() override;
124
125private:
130};
131
132// Restores correct position and size for presentation shapes with user call
133// on undo
134
136{
137public:
139
140 virtual void Undo() override;
141 virtual void Redo() override;
142
143private:
145};
146
147class UndoGeoObject final : public SdrUndoGeoObj
148{
149public:
150 UndoGeoObject(SdrObject& rNewObj);
151
152 virtual void Undo() override;
153 virtual void Redo() override;
154
155private:
158};
159
160class UndoAttrObject final : public SdrUndoAttrObj
161{
162public:
163 UndoAttrObject(SdrObject& rObject, bool bStyleSheet1, bool bSaveText);
164
165 virtual void Undo() override;
166 virtual void Redo() override;
167
168private:
171};
172
173} // namespace sd
174
175/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
::unotools::WeakReference< SdPage > mxPage
virtual void Undo() override
UndoAttrObject(SdrObject &rObject, bool bStyleSheet1, bool bSaveText)
virtual void Redo() override
::unotools::WeakReference< SdrObject > mxSdrObject
virtual void Redo() override
::unotools::WeakReference< SdPage > mxPage
virtual void Undo() override
UndoAutoLayoutPosAndSize(SdPage &rPage)
virtual void Redo() override
UndoDeleteObject(SdrObject &rObject, bool bOrdNumDirect)
::unotools::WeakReference< SdrObject > mxSdrObject
Definition: undoobjects.hxx:69
virtual void Undo() override
::unotools::WeakReference< SdPage > mxPage
::unotools::WeakReference< SdrObject > mxSdrObject
virtual void Undo() override
UndoGeoObject(SdrObject &rNewObj)
virtual void Redo() override
UndoObjectPresentationKind(SdrObject &rObject)
virtual void Undo() override
::unotools::WeakReference< SdPage > mxPage
virtual void Redo() override
::unotools::WeakReference< SdrObject > mxSdrObject
std::unique_ptr< SfxUndoAction > mpUndoAnimation
Definition: undoobjects.hxx:94
virtual void Undo() override
virtual void Redo() override
::unotools::WeakReference< SdrObject > mxSdrObject
Definition: undoobjects.hxx:96
UndoObjectSetText(SdrObject &rNewObj, sal_Int32 nText)
virtual ~UndoObjectSetText() override
UndoObjectUserCall(SdrObject &rNewObj)
virtual void Undo() override
SdrObjUserCall * mpOldUserCall
SdrObjUserCall * mpNewUserCall
virtual void Redo() override
::unotools::WeakReference< SdrObject > mxSdrObject
UndoRemoveObject(SdrObject &rObject)
Definition: undoobjects.cxx:95
virtual void Undo() override
::unotools::WeakReference< SdrObject > mxSdrObject
Definition: undoobjects.hxx:57
virtual void Redo() override
std::unique_ptr< SfxUndoAction > mpUndoUsercall
Definition: undoobjects.hxx:43
UndoRemovePresObjectImpl(SdrObject &rObject)
Definition: undoobjects.cxx:47
std::unique_ptr< SfxUndoAction > mpUndoAnimation
Definition: undoobjects.hxx:44
std::unique_ptr< SfxUndoAction > mpUndoPresObj
Definition: undoobjects.hxx:45
::unotools::WeakReference< SdrObject > mxSdrObject
Definition: undoobjects.hxx:81
virtual void Redo() override
UndoReplaceObject(SdrObject &rOldObject, SdrObject &rNewObject)
virtual void Undo() override
PresObjKind
Definition: pres.hxx:22