xref: /aoo41x/main/editeng/inc/editeng/editund2.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _EDITUND2_HXX
29 #define _EDITUND2_HXX
30 
31 #include "editeng/editengdllapi.h"
32 #include <svl/undo.hxx>
33 
34 class ImpEditEngine;
35 
36 class EDITENG_DLLPRIVATE EditUndoManager : public SfxUndoManager
37 {
38 	using SfxUndoManager::Undo;
39 	using SfxUndoManager::Redo;
40 
41 private:
42 	ImpEditEngine*	pImpEE;
43 public:
44 					EditUndoManager( ImpEditEngine* pImpEE );
45 
46 	virtual sal_Bool Undo();
47 	virtual sal_Bool Redo();
48 };
49 
50 // -----------------------------------------------------------------------
51 // EditUndo
52 // ------------------------------------------------------------------------
53 class EDITENG_DLLPUBLIC EditUndo : public SfxUndoAction
54 {
55 private:
56 	sal_uInt16 			nId;
57 	ImpEditEngine*	pImpEE;
58 
59 public:
60 					TYPEINFO();
61 					EditUndo( sal_uInt16 nI, ImpEditEngine* pImpEE );
62 	virtual 		~EditUndo();
63 
64 	ImpEditEngine*	GetImpEditEngine() const	{ return pImpEE; }
65 
66 	virtual void	Undo() 		= 0;
67 	virtual void	Redo()		= 0;
68 
69 	virtual sal_Bool	CanRepeat(SfxRepeatTarget&) const;
70 	virtual String	GetComment() const;
71 	virtual sal_uInt16	GetId() const;
72 };
73 
74 #endif	// _EDITUND2_HXX
75 
76 
77