xref: /AOO41X/main/sw/inc/unotxdoc.hxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir #ifndef _UNOTXDOC_HXX
28*cdf0e10cSrcweir #define _UNOTXDOC_HXX
29*cdf0e10cSrcweir 
30*cdf0e10cSrcweir #include "swdllapi.h"
31*cdf0e10cSrcweir #include <svl/svarray.hxx>
32*cdf0e10cSrcweir #include <sfx2/sfxbasemodel.hxx>
33*cdf0e10cSrcweir 
34*cdf0e10cSrcweir #include <com/sun/star/beans/PropertyValues.hpp>
35*cdf0e10cSrcweir #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
36*cdf0e10cSrcweir #include <com/sun/star/style/XAutoStylesSupplier.hpp>
37*cdf0e10cSrcweir #include <com/sun/star/document/XLinkTargetSupplier.hpp>
38*cdf0e10cSrcweir #include <com/sun/star/document/XRedlinesSupplier.hpp>
39*cdf0e10cSrcweir #include <com/sun/star/text/XNumberingRulesSupplier.hpp>
40*cdf0e10cSrcweir #include <com/sun/star/text/XFootnotesSupplier.hpp>
41*cdf0e10cSrcweir #include <com/sun/star/text/XEndnotesSupplier.hpp>
42*cdf0e10cSrcweir #include <com/sun/star/text/XEndnotesSettingsSupplier.hpp>
43*cdf0e10cSrcweir #include <com/sun/star/text/XTextSectionsSupplier.hpp>
44*cdf0e10cSrcweir #include <com/sun/star/text/XLineNumberingProperties.hpp>
45*cdf0e10cSrcweir #include <com/sun/star/text/XChapterNumberingSupplier.hpp>
46*cdf0e10cSrcweir #include <com/sun/star/text/XPagePrintable.hpp>
47*cdf0e10cSrcweir #include <com/sun/star/text/XTextFieldsSupplier.hpp>
48*cdf0e10cSrcweir #include <com/sun/star/text/XTextGraphicObjectsSupplier.hpp>
49*cdf0e10cSrcweir #include <com/sun/star/text/XTextTablesSupplier.hpp>
50*cdf0e10cSrcweir #include <com/sun/star/text/XDocumentIndexesSupplier.hpp>
51*cdf0e10cSrcweir #include <com/sun/star/text/XBookmarksSupplier.hpp>
52*cdf0e10cSrcweir #include <com/sun/star/text/XTextDocument.hpp>
53*cdf0e10cSrcweir #include <com/sun/star/text/XTextEmbeddedObjectsSupplier.hpp>
54*cdf0e10cSrcweir #include <com/sun/star/text/XReferenceMarksSupplier.hpp>
55*cdf0e10cSrcweir #include <com/sun/star/text/XTextFramesSupplier.hpp>
56*cdf0e10cSrcweir #include <com/sun/star/drawing/XDrawPageSupplier.hpp>
57*cdf0e10cSrcweir #include <com/sun/star/util/XReplaceable.hpp>
58*cdf0e10cSrcweir #include <com/sun/star/util/XReplaceDescriptor.hpp>
59*cdf0e10cSrcweir #include <com/sun/star/util/XRefreshable.hpp>
60*cdf0e10cSrcweir #include <com/sun/star/util/XLinkUpdate.hpp>
61*cdf0e10cSrcweir #include <com/sun/star/view/XRenderable.hpp>
62*cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
63*cdf0e10cSrcweir #include <com/sun/star/frame/XController.hpp>
64*cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp>
65*cdf0e10cSrcweir #include <com/sun/star/beans/XPropertyState.hpp>
66*cdf0e10cSrcweir #include <com/sun/star/i18n/XForbiddenCharacters.hpp>
67*cdf0e10cSrcweir #include <com/sun/star/lang/Locale.hpp>
68*cdf0e10cSrcweir #include <com/sun/star/xforms/XFormsSupplier.hpp>
69*cdf0e10cSrcweir #include <com/sun/star/container/XNameContainer.hpp>
70*cdf0e10cSrcweir #include <com/sun/star/text/XFlatParagraphIteratorProvider.hpp>
71*cdf0e10cSrcweir #include <com/sun/star/document/XDocumentLanguages.hpp>
72*cdf0e10cSrcweir #include <com/sun/star/util/XCloneable.hpp>
73*cdf0e10cSrcweir #include <svl/itemprop.hxx>
74*cdf0e10cSrcweir #include <svx/fmdmod.hxx>
75*cdf0e10cSrcweir #include <editeng/UnoForbiddenCharsTable.hxx>
76*cdf0e10cSrcweir #include <cppuhelper/weak.hxx>
77*cdf0e10cSrcweir #include <cppuhelper/implbase2.hxx>	// helper for implementations
78*cdf0e10cSrcweir #include <cppuhelper/implbase4.hxx>	// helper for implementations
79*cdf0e10cSrcweir #include <RefreshListenerContainer.hxx>
80*cdf0e10cSrcweir 
81*cdf0e10cSrcweir #include <viewopt.hxx>
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir #define __IFC32 Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, Ifc13, Ifc14, Ifc15, Ifc16, \
84*cdf0e10cSrcweir Ifc17, Ifc18, Ifc19, Ifc20, Ifc21, Ifc22, Ifc23, Ifc24, Ifc25, Ifc26, Ifc27, Ifc28, Ifc29, Ifc30, Ifc31, Ifc32
85*cdf0e10cSrcweir 
86*cdf0e10cSrcweir #define __CLASS_IFC32 class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, \
87*cdf0e10cSrcweir class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12, class Ifc13, class Ifc14, class Ifc15, class Ifc16, \
88*cdf0e10cSrcweir class Ifc17, class Ifc18, class Ifc19, class Ifc20, class Ifc21, class Ifc22, class Ifc23, class Ifc24,\
89*cdf0e10cSrcweir class Ifc25, class Ifc26, class Ifc27, class Ifc28, class Ifc29, class Ifc30, class Ifc31 , class Ifc32
90*cdf0e10cSrcweir 
91*cdf0e10cSrcweir #define __PUBLIC_IFC32 public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12, \
92*cdf0e10cSrcweir public Ifc13, public Ifc14, public Ifc15, public Ifc16, public Ifc17, public Ifc18, \
93*cdf0e10cSrcweir public Ifc19, public Ifc20, public Ifc21, public Ifc22, public Ifc23, public Ifc24, \
94*cdf0e10cSrcweir public Ifc25, public Ifc26, public Ifc27, public Ifc28, public Ifc29, public Ifc30, \
95*cdf0e10cSrcweir public Ifc31, public Ifc32
96*cdf0e10cSrcweir #include <cppuhelper/implbase_ex.hxx>
97*cdf0e10cSrcweir #include <cppuhelper/implbase_ex_pre.hxx>
98*cdf0e10cSrcweir #define __IFC_EX_TYPE_INIT32( class_cast ) \
99*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 1 ), __IFC_EX_TYPE_INIT( class_cast, 2 ), \
100*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 3 ), __IFC_EX_TYPE_INIT( class_cast, 4 ), \
101*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 5 ), __IFC_EX_TYPE_INIT( class_cast, 6 ), \
102*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 7 ), __IFC_EX_TYPE_INIT( class_cast, 8 ), \
103*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 9 ), __IFC_EX_TYPE_INIT( class_cast, 10 ), \
104*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 11 ), __IFC_EX_TYPE_INIT( class_cast, 12 ), \
105*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 13 ), __IFC_EX_TYPE_INIT( class_cast, 14 ), \
106*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 15 ), __IFC_EX_TYPE_INIT( class_cast, 16 ), \
107*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 17 ), __IFC_EX_TYPE_INIT( class_cast, 18 ), \
108*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 19 ), __IFC_EX_TYPE_INIT( class_cast, 20 ), \
109*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 21 ), __IFC_EX_TYPE_INIT( class_cast, 22 ), \
110*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 23 ), __IFC_EX_TYPE_INIT( class_cast, 24 ), \
111*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 25 ), __IFC_EX_TYPE_INIT( class_cast, 26 ), \
112*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 27 ), __IFC_EX_TYPE_INIT( class_cast, 28 ), \
113*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 29 ), __IFC_EX_TYPE_INIT( class_cast, 30 ), \
114*cdf0e10cSrcweir     __IFC_EX_TYPE_INIT( class_cast, 31 ), __IFC_EX_TYPE_INIT( class_cast, 32)
115*cdf0e10cSrcweir #include <cppuhelper/implbase_ex_post.hxx>
116*cdf0e10cSrcweir 
117*cdf0e10cSrcweir __DEF_IMPLHELPER_EX( 32 )
118*cdf0e10cSrcweir 
119*cdf0e10cSrcweir namespace css = ::com::sun::star;
120*cdf0e10cSrcweir 
121*cdf0e10cSrcweir class SwDoc;
122*cdf0e10cSrcweir class SwDocShell;
123*cdf0e10cSrcweir class UnoActionContext;
124*cdf0e10cSrcweir class SwXBodyText;
125*cdf0e10cSrcweir class SwXDrawPage;
126*cdf0e10cSrcweir class SwUnoCrsr;
127*cdf0e10cSrcweir class SwXDocumentPropertyHelper;
128*cdf0e10cSrcweir class SfxViewFrame;
129*cdf0e10cSrcweir class SwPrintUIOptions;
130*cdf0e10cSrcweir class SwPrintData;
131*cdf0e10cSrcweir class SwRenderData;
132*cdf0e10cSrcweir class ViewShell;
133*cdf0e10cSrcweir 
134*cdf0e10cSrcweir typedef UnoActionContext* UnoActionContextPtr;
135*cdf0e10cSrcweir SV_DECL_PTRARR(ActionContextArr, UnoActionContextPtr, 4, 4)
136*cdf0e10cSrcweir 
137*cdf0e10cSrcweir 
138*cdf0e10cSrcweir /******************************************************************************
139*cdf0e10cSrcweir  *
140*cdf0e10cSrcweir  ******************************************************************************/
141*cdf0e10cSrcweir 
142*cdf0e10cSrcweir 
143*cdf0e10cSrcweir typedef cppu::WeakImplHelper32
144*cdf0e10cSrcweir <
145*cdf0e10cSrcweir 	css::text::XTextDocument,
146*cdf0e10cSrcweir 	css::text::XLineNumberingProperties,
147*cdf0e10cSrcweir 	css::text::XChapterNumberingSupplier,
148*cdf0e10cSrcweir     css::text::XNumberingRulesSupplier,
149*cdf0e10cSrcweir 	css::text::XFootnotesSupplier,
150*cdf0e10cSrcweir 	css::text::XEndnotesSupplier,
151*cdf0e10cSrcweir 	css::util::XReplaceable,
152*cdf0e10cSrcweir 	css::text::XPagePrintable,
153*cdf0e10cSrcweir 	css::text::XReferenceMarksSupplier,
154*cdf0e10cSrcweir 	css::text::XTextTablesSupplier,
155*cdf0e10cSrcweir 	css::text::XTextFramesSupplier,
156*cdf0e10cSrcweir 	css::text::XBookmarksSupplier,
157*cdf0e10cSrcweir 	css::text::XTextSectionsSupplier,
158*cdf0e10cSrcweir 	css::text::XTextGraphicObjectsSupplier,
159*cdf0e10cSrcweir 	css::text::XTextEmbeddedObjectsSupplier,
160*cdf0e10cSrcweir 	css::text::XTextFieldsSupplier,
161*cdf0e10cSrcweir 	css::style::XStyleFamiliesSupplier,
162*cdf0e10cSrcweir 	css::style::XAutoStylesSupplier,
163*cdf0e10cSrcweir 	css::lang::XServiceInfo,
164*cdf0e10cSrcweir 	css::drawing::XDrawPageSupplier,
165*cdf0e10cSrcweir 	css::text::XDocumentIndexesSupplier,
166*cdf0e10cSrcweir 	css::beans::XPropertySet,
167*cdf0e10cSrcweir 	css::beans::XPropertyState,
168*cdf0e10cSrcweir 	css::document::XLinkTargetSupplier,
169*cdf0e10cSrcweir 	css::document::XRedlinesSupplier,
170*cdf0e10cSrcweir 	css::util::XRefreshable,
171*cdf0e10cSrcweir 	css::util::XLinkUpdate,
172*cdf0e10cSrcweir     css::view::XRenderable,
173*cdf0e10cSrcweir     css::xforms::XFormsSupplier,
174*cdf0e10cSrcweir     css::text::XFlatParagraphIteratorProvider,
175*cdf0e10cSrcweir 	css::document::XDocumentLanguages,
176*cdf0e10cSrcweir     css::util::XCloneable
177*cdf0e10cSrcweir >
178*cdf0e10cSrcweir SwXTextDocumentBaseClass;
179*cdf0e10cSrcweir 
180*cdf0e10cSrcweir class SW_DLLPUBLIC SwXTextDocument : public SwXTextDocumentBaseClass,
181*cdf0e10cSrcweir 	public SvxFmMSFactory,
182*cdf0e10cSrcweir 	public SfxBaseModel
183*cdf0e10cSrcweir {
184*cdf0e10cSrcweir 	ActionContextArr		aActionArr;
185*cdf0e10cSrcweir 	SwRefreshListenerContainer	aRefreshCont;
186*cdf0e10cSrcweir 
187*cdf0e10cSrcweir     const SfxItemPropertySet* pPropSet;
188*cdf0e10cSrcweir 
189*cdf0e10cSrcweir 	SwDocShell* 			pDocShell;
190*cdf0e10cSrcweir 	sal_Bool					bObjectValid;
191*cdf0e10cSrcweir 
192*cdf0e10cSrcweir 	SwXDrawPage*			pDrawPage;
193*cdf0e10cSrcweir 	css::uno::Reference< css::drawing::XDrawPage > *			pxXDrawPage;
194*cdf0e10cSrcweir 
195*cdf0e10cSrcweir 	css::uno::Reference< css::text::XText > 				xBodyText;
196*cdf0e10cSrcweir 	SwXBodyText*			pBodyText;
197*cdf0e10cSrcweir 	css::uno::Reference< css::uno::XAggregation > 			xNumFmtAgg;
198*cdf0e10cSrcweir 
199*cdf0e10cSrcweir     css::uno::Reference< css::container::XIndexAccess > *     pxXNumberingRules;
200*cdf0e10cSrcweir     css::uno::Reference< css::container::XIndexAccess > *     pxXFootnotes;
201*cdf0e10cSrcweir 	css::uno::Reference< css::beans::XPropertySet > *        pxXFootnoteSettings;
202*cdf0e10cSrcweir 	css::uno::Reference< css::container::XIndexAccess > *		pxXEndnotes;
203*cdf0e10cSrcweir 	css::uno::Reference< css::beans::XPropertySet > *        pxXEndnoteSettings;
204*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXReferenceMarks;
205*cdf0e10cSrcweir 	css::uno::Reference< css::container::XEnumerationAccess > *	pxXTextFieldTypes;
206*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXTextFieldMasters;
207*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXTextSections;
208*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXBookmarks;
209*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXTextTables;
210*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXTextFrames;
211*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXGraphicObjects;
212*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXEmbeddedObjects;
213*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxXStyleFamilies;
214*cdf0e10cSrcweir     mutable css::uno::Reference< css::style::XAutoStyles > *  pxXAutoStyles;
215*cdf0e10cSrcweir     css::uno::Reference< css::container::XIndexReplace > *        pxXChapterNumbering;
216*cdf0e10cSrcweir 	css::uno::Reference< css::container::XIndexAccess > *		pxXDocumentIndexes;
217*cdf0e10cSrcweir 
218*cdf0e10cSrcweir 	css::uno::Reference< css::beans::XPropertySet > * 		pxXLineNumberingProperties;
219*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameAccess > *			pxLinkTargetSupplier;
220*cdf0e10cSrcweir 	css::uno::Reference< css::container::XEnumerationAccess >* 	pxXRedlines;
221*cdf0e10cSrcweir 	css::uno::Reference< css::container::XNameContainer> 		xXFormsContainer;
222*cdf0e10cSrcweir 
223*cdf0e10cSrcweir     //temporary frame to enable PDF export if no valid view is available
224*cdf0e10cSrcweir     SfxViewFrame*                                   m_pHiddenViewFrame;
225*cdf0e10cSrcweir     css::uno::Reference< css::uno::XInterface>      xPropertyHelper;
226*cdf0e10cSrcweir     SwXDocumentPropertyHelper*                      pPropertyHelper;
227*cdf0e10cSrcweir 
228*cdf0e10cSrcweir     SwPrintUIOptions *                              m_pPrintUIOptions;
229*cdf0e10cSrcweir     SwRenderData *                               m_pRenderData;
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir 	void					GetBodyText();
232*cdf0e10cSrcweir 	void					GetNumberFormatter();
233*cdf0e10cSrcweir 
234*cdf0e10cSrcweir     // used for XRenderable implementation
235*cdf0e10cSrcweir     SfxViewShell *  GuessViewShell( /* out */ bool &rbIsSwSrcView, const css::uno::Reference< css::frame::XController > xController = css::uno::Reference< css::frame::XController >() );
236*cdf0e10cSrcweir     SwDoc *         GetRenderDoc( SfxViewShell *&rpView, const css::uno::Any& rSelection, bool bIsPDFExport );
237*cdf0e10cSrcweir     SfxViewShell *  GetRenderView( bool &rbIsSwSrcView, const css::uno::Sequence< css::beans::PropertyValue >& rxOptions, bool bIsPDFExport );
238*cdf0e10cSrcweir 
239*cdf0e10cSrcweir 	rtl::OUString			maBuildId;
240*cdf0e10cSrcweir 
241*cdf0e10cSrcweir     using SfxBaseModel::addEventListener;
242*cdf0e10cSrcweir     using SfxBaseModel::removeEventListener;
243*cdf0e10cSrcweir 
244*cdf0e10cSrcweir protected:
245*cdf0e10cSrcweir 	virtual ~SwXTextDocument();
246*cdf0e10cSrcweir public:
247*cdf0e10cSrcweir 	SwXTextDocument(SwDocShell* pShell);
248*cdf0e10cSrcweir 
249*cdf0e10cSrcweir 	inline void notifyRefreshListeners() { aRefreshCont.Refreshed(); }
250*cdf0e10cSrcweir     virtual 	css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) throw(css::uno::RuntimeException);
251*cdf0e10cSrcweir     virtual void SAL_CALL acquire(  ) throw();
252*cdf0e10cSrcweir     virtual void SAL_CALL release(  ) throw();
253*cdf0e10cSrcweir 
254*cdf0e10cSrcweir 	//XWeak
255*cdf0e10cSrcweir     virtual css::uno::Reference< css::uno::XAdapter > SAL_CALL queryAdapter(  ) throw(css::uno::RuntimeException);
256*cdf0e10cSrcweir 
257*cdf0e10cSrcweir 	virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes(  ) throw(css::uno::RuntimeException);
258*cdf0e10cSrcweir 
259*cdf0e10cSrcweir 	static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
260*cdf0e10cSrcweir 
261*cdf0e10cSrcweir 	//XUnoTunnel
262*cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) throw(css::uno::RuntimeException);
263*cdf0e10cSrcweir 
264*cdf0e10cSrcweir 	//XTextDocument
265*cdf0e10cSrcweir 	virtual css::uno::Reference< css::text::XText >  SAL_CALL getText(void) throw( css::uno::RuntimeException );
266*cdf0e10cSrcweir 	virtual void SAL_CALL reformat(void) throw( css::uno::RuntimeException );
267*cdf0e10cSrcweir 
268*cdf0e10cSrcweir 	//XModel
269*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL attachResource( const ::rtl::OUString& aURL, const css::uno::Sequence< css::beans::PropertyValue >& aArgs ) throw(css::uno::RuntimeException);
270*cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getURL(  ) throw(css::uno::RuntimeException);
271*cdf0e10cSrcweir     virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs(  ) throw(css::uno::RuntimeException);
272*cdf0e10cSrcweir     virtual void SAL_CALL connectController( const css::uno::Reference< css::frame::XController >& xController ) throw(css::uno::RuntimeException);
273*cdf0e10cSrcweir     virtual void SAL_CALL disconnectController( const css::uno::Reference< css::frame::XController >& xController ) throw(css::uno::RuntimeException);
274*cdf0e10cSrcweir     virtual void SAL_CALL lockControllers(  ) throw(css::uno::RuntimeException);
275*cdf0e10cSrcweir     virtual void SAL_CALL unlockControllers(  ) throw(css::uno::RuntimeException);
276*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasControllersLocked(  ) throw(css::uno::RuntimeException);
277*cdf0e10cSrcweir     virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController(  ) throw(css::uno::RuntimeException);
278*cdf0e10cSrcweir     virtual void SAL_CALL setCurrentController( const css::uno::Reference< css::frame::XController >& xController ) throw(css::container::NoSuchElementException, css::uno::RuntimeException);
279*cdf0e10cSrcweir     virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection(  ) throw(css::uno::RuntimeException);
280*cdf0e10cSrcweir 
281*cdf0e10cSrcweir 	//XComponent
282*cdf0e10cSrcweir 	virtual void SAL_CALL dispose(void) throw( css::uno::RuntimeException );
283*cdf0e10cSrcweir 	virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > & aListener) throw( css::uno::RuntimeException );
284*cdf0e10cSrcweir 	virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > & aListener) throw( css::uno::RuntimeException );
285*cdf0e10cSrcweir 
286*cdf0e10cSrcweir     //XCloseable
287*cdf0e10cSrcweir     virtual void SAL_CALL close( sal_Bool bDeliverOwnership ) throw (css::util::CloseVetoException, css::uno::RuntimeException);
288*cdf0e10cSrcweir 
289*cdf0e10cSrcweir     //XLineNumberingProperties
290*cdf0e10cSrcweir 	virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getLineNumberingProperties(void) throw( css::uno::RuntimeException );
291*cdf0e10cSrcweir 
292*cdf0e10cSrcweir 	//XChapterNumberingSupplier
293*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XIndexReplace >  SAL_CALL getChapterNumberingRules(void) throw( css::uno::RuntimeException );
294*cdf0e10cSrcweir 
295*cdf0e10cSrcweir     //XNumberingRulesSupplier
296*cdf0e10cSrcweir     virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL getNumberingRules() throw (css::uno::RuntimeException);
297*cdf0e10cSrcweir 
298*cdf0e10cSrcweir 	//XFootnotesSupplier
299*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XIndexAccess >  SAL_CALL getFootnotes(void) throw( css::uno::RuntimeException );
300*cdf0e10cSrcweir 	virtual css::uno::Reference< css::beans::XPropertySet >  SAL_CALL getFootnoteSettings(void) throw( css::uno::RuntimeException );
301*cdf0e10cSrcweir 
302*cdf0e10cSrcweir 	//XEndnotesSupplier
303*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XIndexAccess >  SAL_CALL getEndnotes(void) throw( css::uno::RuntimeException );
304*cdf0e10cSrcweir 	virtual css::uno::Reference< css::beans::XPropertySet >  SAL_CALL getEndnoteSettings(void) throw( css::uno::RuntimeException );
305*cdf0e10cSrcweir 
306*cdf0e10cSrcweir 	//XReplaceable
307*cdf0e10cSrcweir 	virtual css::uno::Reference< css::util::XReplaceDescriptor >  SAL_CALL createReplaceDescriptor(void) throw( css::uno::RuntimeException );
308*cdf0e10cSrcweir 	virtual sal_Int32 SAL_CALL replaceAll(const css::uno::Reference< css::util::XSearchDescriptor > & xDesc) throw( css::uno::RuntimeException );
309*cdf0e10cSrcweir 
310*cdf0e10cSrcweir 	//XSearchable
311*cdf0e10cSrcweir 	virtual css::uno::Reference< css::util::XSearchDescriptor >  SAL_CALL createSearchDescriptor(void) throw( css::uno::RuntimeException );
312*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XIndexAccess >  SAL_CALL findAll(const css::uno::Reference< css::util::XSearchDescriptor > & xDesc) throw( css::uno::RuntimeException );
313*cdf0e10cSrcweir 	virtual css::uno::Reference< css::uno::XInterface >  SAL_CALL findFirst(const css::uno::Reference< css::util::XSearchDescriptor > & xDesc) throw( css::uno::RuntimeException );
314*cdf0e10cSrcweir 	virtual css::uno::Reference< css::uno::XInterface >  SAL_CALL findNext(const css::uno::Reference< css::uno::XInterface > & xStartAt, const css::uno::Reference< css::util::XSearchDescriptor > & xDesc) throw( css::uno::RuntimeException );
315*cdf0e10cSrcweir 
316*cdf0e10cSrcweir 	//XPagePrintable
317*cdf0e10cSrcweir 	virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getPagePrintSettings(void) throw( css::uno::RuntimeException );
318*cdf0e10cSrcweir 	virtual void SAL_CALL setPagePrintSettings(const css::uno::Sequence< css::beans::PropertyValue >& aSettings) throw( css::uno::RuntimeException );
319*cdf0e10cSrcweir 	virtual void SAL_CALL printPages(const css::uno::Sequence< css::beans::PropertyValue >& xOptions) throw( css::lang::IllegalArgumentException, css::uno::RuntimeException );
320*cdf0e10cSrcweir 
321*cdf0e10cSrcweir 	//XReferenceMarksSupplier
322*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getReferenceMarks(void) throw( css::uno::RuntimeException );
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 	// css::text::XTextFieldsSupplier
325*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XEnumerationAccess >  SAL_CALL getTextFields(void) throw( css::uno::RuntimeException );
326*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getTextFieldMasters(void) throw( css::uno::RuntimeException );
327*cdf0e10cSrcweir 
328*cdf0e10cSrcweir 	// css::text::XTextEmbeddedObjectsSupplier
329*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getEmbeddedObjects(void) throw( css::uno::RuntimeException );
330*cdf0e10cSrcweir 
331*cdf0e10cSrcweir //	// css::text::XTextShapesSupplier
332*cdf0e10cSrcweir //    virtual css::uno::Reference< css::container::XIndexAccess >  getShapes(void) throw( css::uno::RuntimeException );
333*cdf0e10cSrcweir 
334*cdf0e10cSrcweir 	// css::text::XBookmarksSupplier
335*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getBookmarks(void) throw( css::uno::RuntimeException );
336*cdf0e10cSrcweir 
337*cdf0e10cSrcweir 	// css::text::XTextSectionsSupplier
338*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getTextSections(void) throw( css::uno::RuntimeException );
339*cdf0e10cSrcweir 
340*cdf0e10cSrcweir 	// css::text::XTextTablesSupplier
341*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getTextTables(void) throw( css::uno::RuntimeException );
342*cdf0e10cSrcweir 
343*cdf0e10cSrcweir 	// css::text::XTextGraphicObjectsSupplier
344*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getGraphicObjects(void) throw( css::uno::RuntimeException );
345*cdf0e10cSrcweir 
346*cdf0e10cSrcweir 	// css::text::XTextFramesSupplier
347*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getTextFrames(void) throw( css::uno::RuntimeException );
348*cdf0e10cSrcweir 
349*cdf0e10cSrcweir 	//XStyleFamiliesSupplier
350*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getStyleFamilies(void) throw( css::uno::RuntimeException );
351*cdf0e10cSrcweir 
352*cdf0e10cSrcweir     //XAutoStylesSupplier
353*cdf0e10cSrcweir     virtual css::uno::Reference< css::style::XAutoStyles > SAL_CALL getAutoStyles(  ) throw (css::uno::RuntimeException);
354*cdf0e10cSrcweir 
355*cdf0e10cSrcweir     //XMultiServiceFactory
356*cdf0e10cSrcweir 	virtual css::uno::Reference< css::uno::XInterface >  SAL_CALL createInstance(const rtl::OUString& ServiceSpecifier)
357*cdf0e10cSrcweir 				throw( css::uno::Exception, css::uno::RuntimeException );
358*cdf0e10cSrcweir 	virtual css::uno::Reference< css::uno::XInterface >  SAL_CALL createInstanceWithArguments(const rtl::OUString& ServiceSpecifier,
359*cdf0e10cSrcweir 				const css::uno::Sequence< css::uno::Any >& Arguments)
360*cdf0e10cSrcweir 				throw( css::uno::Exception, css::uno::RuntimeException );
361*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getAvailableServiceNames(void)
362*cdf0e10cSrcweir 				throw( css::uno::RuntimeException );
363*cdf0e10cSrcweir 
364*cdf0e10cSrcweir 	//XServiceInfo
365*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( css::uno::RuntimeException );
366*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( css::uno::RuntimeException );
367*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( css::uno::RuntimeException );
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir 	// css::drawing::XDrawPageSupplier
370*cdf0e10cSrcweir 	virtual css::uno::Reference< css::drawing::XDrawPage >  SAL_CALL getDrawPage(void) throw( css::uno::RuntimeException );
371*cdf0e10cSrcweir 
372*cdf0e10cSrcweir 	// css::text::XDocumentIndexesSupplier
373*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XIndexAccess >  SAL_CALL getDocumentIndexes(void) throw( css::uno::RuntimeException );
374*cdf0e10cSrcweir 
375*cdf0e10cSrcweir 	//XPropertySet
376*cdf0e10cSrcweir     virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(css::uno::RuntimeException);
377*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const css::uno::Any& aValue ) throw(css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException, css::uno::RuntimeException);
378*cdf0e10cSrcweir     virtual css::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
379*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
380*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
381*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
382*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
383*cdf0e10cSrcweir 
384*cdf0e10cSrcweir 	//XPropertyState
385*cdf0e10cSrcweir 	virtual css::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& rPropertyName ) throw (css::beans::UnknownPropertyException, css::uno::RuntimeException);
386*cdf0e10cSrcweir     virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates( const css::uno::Sequence< ::rtl::OUString >& rPropertyNames ) throw (css::beans::UnknownPropertyException, css::uno::RuntimeException);
387*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& rPropertyName ) throw (css::beans::UnknownPropertyException, css::uno::RuntimeException);
388*cdf0e10cSrcweir     virtual css::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& rPropertyName ) throw (css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
389*cdf0e10cSrcweir 
390*cdf0e10cSrcweir 	//XLinkTargetSupplier
391*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getLinks(void) throw( css::uno::RuntimeException );
392*cdf0e10cSrcweir 
393*cdf0e10cSrcweir 	//XRedlinesSupplier
394*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XEnumerationAccess > SAL_CALL getRedlines(  ) throw(css::uno::RuntimeException);
395*cdf0e10cSrcweir 
396*cdf0e10cSrcweir 	// css::util::XRefreshable
397*cdf0e10cSrcweir 	virtual void SAL_CALL refresh(void) throw( css::uno::RuntimeException );
398*cdf0e10cSrcweir 	virtual void SAL_CALL addRefreshListener(const css::uno::Reference< css::util::XRefreshListener > & l) throw( css::uno::RuntimeException );
399*cdf0e10cSrcweir 	virtual void SAL_CALL removeRefreshListener(const css::uno::Reference< css::util::XRefreshListener > & l) throw( css::uno::RuntimeException );
400*cdf0e10cSrcweir 
401*cdf0e10cSrcweir 	// css::util::XLinkUpdate,
402*cdf0e10cSrcweir     virtual void SAL_CALL updateLinks(  ) throw(css::uno::RuntimeException);
403*cdf0e10cSrcweir 
404*cdf0e10cSrcweir     // css::view::XRenderable
405*cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getRendererCount( const css::uno::Any& aSelection, const css::uno::Sequence< css::beans::PropertyValue >& xOptions ) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException);
406*cdf0e10cSrcweir     virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRenderer( sal_Int32 nRenderer, const css::uno::Any& aSelection, const css::uno::Sequence< css::beans::PropertyValue >& xOptions ) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException);
407*cdf0e10cSrcweir     virtual void SAL_CALL render( sal_Int32 nRenderer, const css::uno::Any& aSelection, const css::uno::Sequence< css::beans::PropertyValue >& xOptions ) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException);
408*cdf0e10cSrcweir 
409*cdf0e10cSrcweir     // css::xforms::XFormsSupplier
410*cdf0e10cSrcweir     virtual css::uno::Reference< css::container::XNameContainer > SAL_CALL getXForms(  ) throw (css::uno::RuntimeException);
411*cdf0e10cSrcweir 
412*cdf0e10cSrcweir     // css::document::XDocumentLanguages
413*cdf0e10cSrcweir     virtual css::uno::Sequence< css::lang::Locale > SAL_CALL getDocumentLanguages( ::sal_Int16 nScriptTypes, ::sal_Int16 nCount ) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException);
414*cdf0e10cSrcweir 
415*cdf0e10cSrcweir     // css::text::XFlatParagraphIteratorProvider:
416*cdf0e10cSrcweir     virtual css::uno::Reference< css::text::XFlatParagraphIterator > SAL_CALL getFlatParagraphIterator(::sal_Int32 nTextMarkupType, sal_Bool bAutomatic ) throw (css::uno::RuntimeException);
417*cdf0e10cSrcweir 
418*cdf0e10cSrcweir     // ::com::sun::star::util::XCloneable
419*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone(  ) throw (::com::sun::star::uno::RuntimeException);
420*cdf0e10cSrcweir 
421*cdf0e10cSrcweir 
422*cdf0e10cSrcweir     //
423*cdf0e10cSrcweir 	void						Invalidate();
424*cdf0e10cSrcweir 	void						Reactivate(SwDocShell* pNewDocShell);
425*cdf0e10cSrcweir 	SwXDocumentPropertyHelper * GetPropertyHelper ();
426*cdf0e10cSrcweir 	sal_Bool 			  		IsValid() const {return bObjectValid;}
427*cdf0e10cSrcweir 
428*cdf0e10cSrcweir 	void						InitNewDoc();
429*cdf0e10cSrcweir 
430*cdf0e10cSrcweir 	SwUnoCrsr* 					CreateCursorForSearch(css::uno::Reference< css::text::XTextCursor > & xCrsr);
431*cdf0e10cSrcweir 	SwUnoCrsr* 					FindAny(const css::uno::Reference< css::util::XSearchDescriptor > & xDesc,
432*cdf0e10cSrcweir 											css::uno::Reference< css::text::XTextCursor > & xCrsr, sal_Bool bAll,
433*cdf0e10cSrcweir 											sal_Int32& nResult,
434*cdf0e10cSrcweir 											css::uno::Reference< css::uno::XInterface >  xLastResult);
435*cdf0e10cSrcweir 
436*cdf0e10cSrcweir 	SwXDrawPage*				GetDrawPage();
437*cdf0e10cSrcweir 	SwDocShell* 				GetDocShell() {return pDocShell;}
438*cdf0e10cSrcweir 
439*cdf0e10cSrcweir 
440*cdf0e10cSrcweir     void * SAL_CALL operator new( size_t ) throw();
441*cdf0e10cSrcweir 	void SAL_CALL operator delete( void * ) throw();
442*cdf0e10cSrcweir 
443*cdf0e10cSrcweir };
444*cdf0e10cSrcweir /* -----------------25.10.99 11:02-------------------
445*cdf0e10cSrcweir 
446*cdf0e10cSrcweir  --------------------------------------------------*/
447*cdf0e10cSrcweir class SwXLinkTargetSupplier : public cppu::WeakImplHelper2
448*cdf0e10cSrcweir <
449*cdf0e10cSrcweir 	css::container::XNameAccess,
450*cdf0e10cSrcweir 	css::lang::XServiceInfo
451*cdf0e10cSrcweir >
452*cdf0e10cSrcweir {
453*cdf0e10cSrcweir 	SwXTextDocument* pxDoc;
454*cdf0e10cSrcweir 	String sTables;
455*cdf0e10cSrcweir 	String sFrames;
456*cdf0e10cSrcweir 	String sGraphics;
457*cdf0e10cSrcweir 	String sOLEs;
458*cdf0e10cSrcweir 	String sSections;
459*cdf0e10cSrcweir 	String sOutlines;
460*cdf0e10cSrcweir 	String sBookmarks;
461*cdf0e10cSrcweir 
462*cdf0e10cSrcweir public:
463*cdf0e10cSrcweir 	SwXLinkTargetSupplier(SwXTextDocument& rxDoc);
464*cdf0e10cSrcweir 	~SwXLinkTargetSupplier();
465*cdf0e10cSrcweir 
466*cdf0e10cSrcweir 	//XNameAccess
467*cdf0e10cSrcweir 	virtual css::uno::Any SAL_CALL getByName(const rtl::OUString& Name)  throw( css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException );
468*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( css::uno::RuntimeException );
469*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( css::uno::RuntimeException );
470*cdf0e10cSrcweir 
471*cdf0e10cSrcweir 	//XElementAccess
472*cdf0e10cSrcweir     virtual css::uno::Type SAL_CALL getElementType(  ) throw(css::uno::RuntimeException);
473*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements(  ) throw(css::uno::RuntimeException);
474*cdf0e10cSrcweir 
475*cdf0e10cSrcweir 	//XServiceInfo
476*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( css::uno::RuntimeException );
477*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( css::uno::RuntimeException );
478*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( css::uno::RuntimeException );
479*cdf0e10cSrcweir 
480*cdf0e10cSrcweir 	//
481*cdf0e10cSrcweir 	void	Invalidate() {pxDoc = 0;}
482*cdf0e10cSrcweir };
483*cdf0e10cSrcweir /* -----------------26.10.99 09:05-------------------
484*cdf0e10cSrcweir 
485*cdf0e10cSrcweir  --------------------------------------------------*/
486*cdf0e10cSrcweir class SwXLinkNameAccessWrapper : public cppu::WeakImplHelper4
487*cdf0e10cSrcweir <
488*cdf0e10cSrcweir 	css::beans::XPropertySet,
489*cdf0e10cSrcweir 	css::container::XNameAccess,
490*cdf0e10cSrcweir 	css::lang::XServiceInfo,
491*cdf0e10cSrcweir 	css::document::XLinkTargetSupplier
492*cdf0e10cSrcweir >
493*cdf0e10cSrcweir {
494*cdf0e10cSrcweir     css::uno::Reference< css::container::XNameAccess >    xRealAccess;
495*cdf0e10cSrcweir     const SfxItemPropertySet*                                                       pPropSet;
496*cdf0e10cSrcweir     const String                                                                    sLinkSuffix;
497*cdf0e10cSrcweir     const String                                                                    sLinkDisplayName;
498*cdf0e10cSrcweir 	css::uno::Reference< css::text::XTextDocument >  		xDoc;
499*cdf0e10cSrcweir     SwXTextDocument*                                                                pxDoc;
500*cdf0e10cSrcweir 
501*cdf0e10cSrcweir 
502*cdf0e10cSrcweir public:
503*cdf0e10cSrcweir 	SwXLinkNameAccessWrapper(css::uno::Reference< css::container::XNameAccess >  xAccess,
504*cdf0e10cSrcweir 			const String& rLinkDisplayName, String sSuffix);
505*cdf0e10cSrcweir 	SwXLinkNameAccessWrapper(SwXTextDocument& rxDoc,
506*cdf0e10cSrcweir 			const String& rLinkDisplayName, String sSuffix);
507*cdf0e10cSrcweir 	~SwXLinkNameAccessWrapper();
508*cdf0e10cSrcweir 
509*cdf0e10cSrcweir 	//XNameAccess
510*cdf0e10cSrcweir 	virtual css::uno::Any SAL_CALL getByName(const rtl::OUString& Name)  throw( css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException );
511*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getElementNames(void) throw( css::uno::RuntimeException );
512*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL hasByName(const rtl::OUString& Name) throw( css::uno::RuntimeException );
513*cdf0e10cSrcweir 
514*cdf0e10cSrcweir 	//XElementAccess
515*cdf0e10cSrcweir     virtual css::uno::Type SAL_CALL getElementType(  ) throw(css::uno::RuntimeException);
516*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements(  ) throw(css::uno::RuntimeException);
517*cdf0e10cSrcweir 
518*cdf0e10cSrcweir 	//XPropertySet
519*cdf0e10cSrcweir     virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(css::uno::RuntimeException);
520*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const css::uno::Any& aValue ) throw(css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException, css::uno::RuntimeException);
521*cdf0e10cSrcweir     virtual css::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
522*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
523*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
524*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
525*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
526*cdf0e10cSrcweir 
527*cdf0e10cSrcweir 	//XLinkTargetSupplier
528*cdf0e10cSrcweir 	virtual css::uno::Reference< css::container::XNameAccess >  SAL_CALL getLinks(void) throw( css::uno::RuntimeException );
529*cdf0e10cSrcweir 
530*cdf0e10cSrcweir 	//XServiceInfo
531*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( css::uno::RuntimeException );
532*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( css::uno::RuntimeException );
533*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( css::uno::RuntimeException );
534*cdf0e10cSrcweir 
535*cdf0e10cSrcweir };
536*cdf0e10cSrcweir /* -----------------26.10.99 15:46-------------------
537*cdf0e10cSrcweir 
538*cdf0e10cSrcweir  --------------------------------------------------*/
539*cdf0e10cSrcweir class SwXOutlineTarget : public cppu::WeakImplHelper2
540*cdf0e10cSrcweir <
541*cdf0e10cSrcweir 	css::beans::XPropertySet,
542*cdf0e10cSrcweir 	css::lang::XServiceInfo
543*cdf0e10cSrcweir >
544*cdf0e10cSrcweir {
545*cdf0e10cSrcweir     const SfxItemPropertySet*   pPropSet;
546*cdf0e10cSrcweir     String                      sOutlineText;
547*cdf0e10cSrcweir 
548*cdf0e10cSrcweir public:
549*cdf0e10cSrcweir 	SwXOutlineTarget(const String& rOutlineText);
550*cdf0e10cSrcweir 	~SwXOutlineTarget();
551*cdf0e10cSrcweir 
552*cdf0e10cSrcweir 	//XPropertySet
553*cdf0e10cSrcweir     virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(css::uno::RuntimeException);
554*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const css::uno::Any& aValue ) throw(css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException, css::uno::RuntimeException);
555*cdf0e10cSrcweir     virtual css::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
556*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
557*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
558*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
559*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) throw(css::beans::UnknownPropertyException, css::lang::WrappedTargetException, css::uno::RuntimeException);
560*cdf0e10cSrcweir 
561*cdf0e10cSrcweir 	//XServiceInfo
562*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( css::uno::RuntimeException );
563*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( css::uno::RuntimeException );
564*cdf0e10cSrcweir 	virtual css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( css::uno::RuntimeException );
565*cdf0e10cSrcweir };
566*cdf0e10cSrcweir #endif
567*cdf0e10cSrcweir 
568*cdf0e10cSrcweir class SwXDocumentPropertyHelper : public SvxUnoForbiddenCharsTable
569*cdf0e10cSrcweir {
570*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xDashTable;
571*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xGradientTable;
572*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xHatchTable;
573*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xBitmapTable;
574*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xTransGradientTable;
575*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xMarkerTable;
576*cdf0e10cSrcweir 	css::uno::Reference < css::uno::XInterface > xDrawDefaults;
577*cdf0e10cSrcweir 
578*cdf0e10cSrcweir     SwDoc*  m_pDoc;
579*cdf0e10cSrcweir public:
580*cdf0e10cSrcweir 	SwXDocumentPropertyHelper(SwDoc& rDoc);
581*cdf0e10cSrcweir 	~SwXDocumentPropertyHelper();
582*cdf0e10cSrcweir 	css::uno::Reference<css::uno::XInterface> GetDrawTable(short nWhich);
583*cdf0e10cSrcweir 	void Invalidate();
584*cdf0e10cSrcweir 
585*cdf0e10cSrcweir     virtual void onChange();
586*cdf0e10cSrcweir };
587*cdf0e10cSrcweir 
588*cdf0e10cSrcweir 
589*cdf0e10cSrcweir /*-- 06.01.2004 15:08:34---------------------------------------------------
590*cdf0e10cSrcweir     The class SwViewOptionAdjust_Impl is used to adjust the SwViewOption of
591*cdf0e10cSrcweir     the current ViewShell so that fields are not printed as commands and
592*cdf0e10cSrcweir     hidden characters are always invisible. Hidden text and place holders
593*cdf0e10cSrcweir     should be printed according to the current print options.
594*cdf0e10cSrcweir     After printing the view options are restored
595*cdf0e10cSrcweir   -----------------------------------------------------------------------*/
596*cdf0e10cSrcweir class SwViewOptionAdjust_Impl
597*cdf0e10cSrcweir {
598*cdf0e10cSrcweir     ViewShell &    m_rShell;
599*cdf0e10cSrcweir     SwViewOption    m_aOldViewOptions;
600*cdf0e10cSrcweir //    SwViewOption    m_aRenderViewOptions;   // view options to use when rendering for PDF export or printing
601*cdf0e10cSrcweir //    bool            m_bRestoreViewOptions;
602*cdf0e10cSrcweir 
603*cdf0e10cSrcweir public:
604*cdf0e10cSrcweir     SwViewOptionAdjust_Impl( ViewShell& rSh, const SwViewOption &rViewOptions );
605*cdf0e10cSrcweir     ~SwViewOptionAdjust_Impl();
606*cdf0e10cSrcweir     void AdjustViewOptions( SwPrintData const* const pPrtOptions );
607*cdf0e10cSrcweir     bool checkShell( const ViewShell& rCompare ) const
608*cdf0e10cSrcweir     { return &rCompare == &m_rShell; }
609*cdf0e10cSrcweir };
610*cdf0e10cSrcweir 
611*cdf0e10cSrcweir 
612