xref: /aoo41x/main/svx/inc/svx/fmpage.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 _SVX_FMPAGE_HXX
29 #define _SVX_FMPAGE_HXX
30 
31 #include <svx/svdpage.hxx>
32 #include <comphelper/uno3.hxx>
33 #include "svx/svxdllapi.h"
34 
35 class StarBASIC;
36 class FmFormModel;
37 class FmFormPageImpl;	// haelt die Liste aller Forms
38 
39 FORWARD_DECLARE_INTERFACE(container,XNameContainer)
40 
41 class SdrView;
42 class SfxJSArray;
43 class HelpEvent;
44 
45 class SVX_DLLPUBLIC FmFormPage : public SdrPage
46 {
47 	friend class FmFormObj;
48 	FmFormPageImpl*     m_pImpl;
49 	String				m_sPageName;
50 	StarBASIC* 			m_pBasic;
51 
52 public:
53 	TYPEINFO();
54 
55 	FmFormPage(FmFormModel& rModel,StarBASIC*, FASTBOOL bMasterPage=sal_False);
56 	FmFormPage(const FmFormPage& rPage);
57 	~FmFormPage();
58 
59 	virtual void  	SetModel(SdrModel* pNewModel);
60 
61 	virtual SdrPage* Clone() const;
62     using SdrPage::Clone;
63 
64 	virtual void	InsertObject(SdrObject* pObj, sal_uLong nPos = CONTAINER_APPEND,
65 									const SdrInsertReason* pReason=NULL);
66 
67 	virtual SdrObject* RemoveObject(sal_uLong nObjNum);
68 
69 	// Zugriff auf alle Formulare
70 	const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& GetForms( bool _bForceCreate = true ) const;
71 
72 #ifndef SVX_LIGHT
73 	FmFormPageImpl& GetImpl() const { return *m_pImpl; }
74 #endif // SVX_LIGHT
75 
76 public:
77 	const String& 		GetName() const { return m_sPageName; }
78 	void 				SetName( const String& rName ) { m_sPageName = rName; }
79 	StarBASIC*      	GetBasic() const { return m_pBasic; }
80 	sal_Bool			RequestHelp(
81 							Window* pWin,
82 							SdrView* pView,
83 							const HelpEvent& rEvt );
84 };
85 
86 #endif          // _SVX_FMPAGE_HXX
87 
88