sync master with lastest vba changes
[ooovba.git] / reportdesign / source / core / inc / ReportUndoFactory.hxx
blobf81d6ed40ffb60b739dca0a6812d0b403baa0e82
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ReportUndoFactory.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef REPORT_UNDOFACTORY_HXX_INCLUDED
31 #define REPORT_UNDOFACTORY_HXX_INCLUDED
33 #include <svx/svdundo.hxx>
34 #include <memory>
35 #include "ModuleHelper.hxx"
37 namespace rptui
39 class OReportUndoFactory : public SdrUndoFactory
41 OModuleClient m_aModuleClient;
42 ::std::auto_ptr<SdrUndoFactory> m_pUndoFactory;
44 OReportUndoFactory(const OReportUndoFactory&);
45 OReportUndoFactory& operator=(const OReportUndoFactory&);
46 public:
47 OReportUndoFactory();
48 virtual ~OReportUndoFactory();
50 // shapes
51 virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject );
52 virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
53 virtual SdrUndoAction* CreateUndoGeoObject( SdrObject& rObject );
54 virtual SdrUndoAction* CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
55 virtual SdrUndoAction* CreateUndoRemoveObject( SdrObject& rObject, bool bOrdNumDirect = false);
56 virtual SdrUndoAction* CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
57 virtual SdrUndoAction* CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
58 virtual SdrUndoAction* CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
59 virtual SdrUndoAction* CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
61 virtual SdrUndoAction* CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
63 virtual SdrUndoAction* CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject, bool bOrdNumDirect = false );
64 virtual SdrUndoAction* CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
65 virtual SdrUndoAction* CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
67 // layer
68 virtual SdrUndoAction* CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
69 virtual SdrUndoAction* CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
70 virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1);
72 // page
73 virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage);
74 virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage);
75 virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage);
76 virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
78 // master page
79 virtual SdrUndoAction* CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
80 virtual SdrUndoAction* CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
83 //==============================================================================
84 } // rptui
85 //==============================================================================
87 #endif // REPORT_UNDOFACTORY_HXX_INCLUDED