1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ReportUndoFactory.hxx,v $
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>
35 #include "ModuleHelper.hxx"
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
&);
48 virtual ~OReportUndoFactory();
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
);
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
);
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
);
79 virtual SdrUndoAction
* CreateUndoPageRemoveMasterPage(SdrPage
& rChangedPage
);
80 virtual SdrUndoAction
* CreateUndoPageChangeMasterPage(SdrPage
& rChangedPage
);
83 //==============================================================================
85 //==============================================================================
87 #endif // REPORT_UNDOFACTORY_HXX_INCLUDED