xref: /aoo4110/main/sw/inc/unotextrange.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef SW_UNOTEXTRANGE_HXX
25*b1cdbd2cSJim Jagielski #define SW_UNOTEXTRANGE_HXX
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XUnoTunnel.hpp>
28*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp>
29*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
30*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertyState.hpp>
31*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XIndexAccess.hpp>
32*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XEnumerationAccess.hpp>
33*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XContentEnumerationAccess.hpp>
34*b1cdbd2cSJim Jagielski #include <com/sun/star/text/XTextRange.hpp>
35*b1cdbd2cSJim Jagielski #include <com/sun/star/text/XRedline.hpp>
36*b1cdbd2cSJim Jagielski 
37*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase3.hxx>
38*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase8.hxx>
39*b1cdbd2cSJim Jagielski 
40*b1cdbd2cSJim Jagielski #include <pam.hxx>
41*b1cdbd2cSJim Jagielski #include <unobaseclass.hxx>
42*b1cdbd2cSJim Jagielski 
43*b1cdbd2cSJim Jagielski 
44*b1cdbd2cSJim Jagielski class SwDoc;
45*b1cdbd2cSJim Jagielski struct SwPosition;
46*b1cdbd2cSJim Jagielski class SwPaM;
47*b1cdbd2cSJim Jagielski class SwUnoCrsr;
48*b1cdbd2cSJim Jagielski class SwFrmFmt;
49*b1cdbd2cSJim Jagielski 
50*b1cdbd2cSJim Jagielski /* -----------------29.04.98 07:35-------------------
51*b1cdbd2cSJim Jagielski  *
52*b1cdbd2cSJim Jagielski  * --------------------------------------------------*/
53*b1cdbd2cSJim Jagielski class SwUnoInternalPaM
54*b1cdbd2cSJim Jagielski     : public SwPaM
55*b1cdbd2cSJim Jagielski {
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski private:
58*b1cdbd2cSJim Jagielski     SwUnoInternalPaM(const SwUnoInternalPaM&);
59*b1cdbd2cSJim Jagielski 
60*b1cdbd2cSJim Jagielski public:
61*b1cdbd2cSJim Jagielski     SwUnoInternalPaM(SwDoc& rDoc);
62*b1cdbd2cSJim Jagielski     virtual ~SwUnoInternalPaM();
63*b1cdbd2cSJim Jagielski 
64*b1cdbd2cSJim Jagielski     SwUnoInternalPaM& operator=(const SwPaM& rPaM);
65*b1cdbd2cSJim Jagielski };
66*b1cdbd2cSJim Jagielski 
67*b1cdbd2cSJim Jagielski 
68*b1cdbd2cSJim Jagielski namespace sw {
69*b1cdbd2cSJim Jagielski 
70*b1cdbd2cSJim Jagielski     void DeepCopyPaM(SwPaM const & rSource, SwPaM & rTarget);
71*b1cdbd2cSJim Jagielski 
72*b1cdbd2cSJim Jagielski     bool XTextRangeToSwPaM(SwUnoInternalPaM& rToFill,
73*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
74*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xTextRange);
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
77*b1cdbd2cSJim Jagielski         CreateParentXText(SwDoc & rDoc, const SwPosition& rPos);
78*b1cdbd2cSJim Jagielski 
79*b1cdbd2cSJim Jagielski     bool GetDefaultTextContentValue(::com::sun::star::uno::Any& rAny,
80*b1cdbd2cSJim Jagielski         const ::rtl::OUString& rPropertyName, sal_uInt16 nWID = 0);
81*b1cdbd2cSJim Jagielski 
82*b1cdbd2cSJim Jagielski } // namespace sw
83*b1cdbd2cSJim Jagielski 
84*b1cdbd2cSJim Jagielski 
85*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper8
86*b1cdbd2cSJim Jagielski <   ::com::sun::star::lang::XUnoTunnel
87*b1cdbd2cSJim Jagielski ,   ::com::sun::star::lang::XServiceInfo
88*b1cdbd2cSJim Jagielski ,   ::com::sun::star::beans::XPropertySet
89*b1cdbd2cSJim Jagielski ,   ::com::sun::star::beans::XPropertyState
90*b1cdbd2cSJim Jagielski ,   ::com::sun::star::container::XEnumerationAccess
91*b1cdbd2cSJim Jagielski ,   ::com::sun::star::container::XContentEnumerationAccess
92*b1cdbd2cSJim Jagielski ,   ::com::sun::star::text::XTextRange
93*b1cdbd2cSJim Jagielski ,   ::com::sun::star::text::XRedline
94*b1cdbd2cSJim Jagielski > SwXTextRange_Base;
95*b1cdbd2cSJim Jagielski 
96*b1cdbd2cSJim Jagielski class SW_DLLPUBLIC SwXTextRange
97*b1cdbd2cSJim Jagielski     : public SwXTextRange_Base
98*b1cdbd2cSJim Jagielski {
99*b1cdbd2cSJim Jagielski 
100*b1cdbd2cSJim Jagielski private:
101*b1cdbd2cSJim Jagielski 
102*b1cdbd2cSJim Jagielski     friend class SwXText;
103*b1cdbd2cSJim Jagielski 
104*b1cdbd2cSJim Jagielski     class Impl;
105*b1cdbd2cSJim Jagielski     ::sw::UnoImplPtr<Impl> m_pImpl;
106*b1cdbd2cSJim Jagielski 
107*b1cdbd2cSJim Jagielski     enum RangePosition
108*b1cdbd2cSJim Jagielski     {
109*b1cdbd2cSJim Jagielski         RANGE_IN_TEXT,  // "ordinary" ::com::sun::star::text::TextRange
110*b1cdbd2cSJim Jagielski         RANGE_IN_CELL,  // position created with a cell that has no uno object
111*b1cdbd2cSJim Jagielski         RANGE_IS_TABLE, // anchor of a table
112*b1cdbd2cSJim Jagielski     };
113*b1cdbd2cSJim Jagielski 
114*b1cdbd2cSJim Jagielski     void    SetPositions(SwPaM const& rPam);
115*b1cdbd2cSJim Jagielski     //TODO: new exception type for protected content
116*b1cdbd2cSJim Jagielski     void    DeleteAndInsert(
117*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& rText, const bool bForceExpandHints)
118*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
119*b1cdbd2cSJim Jagielski     void    Invalidate();
120*b1cdbd2cSJim Jagielski 
121*b1cdbd2cSJim Jagielski     virtual ~SwXTextRange();
122*b1cdbd2cSJim Jagielski 
123*b1cdbd2cSJim Jagielski public:
124*b1cdbd2cSJim Jagielski 
125*b1cdbd2cSJim Jagielski     SwXTextRange(SwPaM& rPam,
126*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
127*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XText > & xParent,
128*b1cdbd2cSJim Jagielski             const enum RangePosition eRange = RANGE_IN_TEXT);
129*b1cdbd2cSJim Jagielski     // only for RANGE_IS_TABLE
130*b1cdbd2cSJim Jagielski     SwXTextRange(SwFrmFmt& rTblFmt);
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski     const SwDoc* GetDoc() const;
133*b1cdbd2cSJim Jagielski           SwDoc* GetDoc();
134*b1cdbd2cSJim Jagielski     bool GetPositions(SwPaM & rToFill) const;
135*b1cdbd2cSJim Jagielski 
136*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference<
137*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > CreateXTextRange(
138*b1cdbd2cSJim Jagielski             SwDoc & rDoc,
139*b1cdbd2cSJim Jagielski             const SwPosition& rPos, const SwPosition *const pMark);
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski     static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
142*b1cdbd2cSJim Jagielski 
143*b1cdbd2cSJim Jagielski     // XUnoTunnel
144*b1cdbd2cSJim Jagielski     virtual sal_Int64 SAL_CALL getSomething(
145*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier)
146*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
147*b1cdbd2cSJim Jagielski 
148*b1cdbd2cSJim Jagielski     // XServiceInfo
149*b1cdbd2cSJim Jagielski     virtual ::rtl::OUString SAL_CALL getImplementationName()
150*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
151*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL supportsService(
152*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rServiceName)
153*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
154*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
155*b1cdbd2cSJim Jagielski         getSupportedServiceNames()
156*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
157*b1cdbd2cSJim Jagielski 
158*b1cdbd2cSJim Jagielski     // XPropertySet
159*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
160*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertySetInfo > SAL_CALL
161*b1cdbd2cSJim Jagielski         getPropertySetInfo()
162*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
163*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setPropertyValue(
164*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
165*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Any& rValue)
166*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
167*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::PropertyVetoException,
168*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::IllegalArgumentException,
169*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
170*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
171*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
172*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName)
173*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
174*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
175*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
176*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addPropertyChangeListener(
177*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
178*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
179*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertyChangeListener >& xListener)
180*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
181*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
182*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
183*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removePropertyChangeListener(
184*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
185*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
186*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertyChangeListener >& xListener)
187*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
188*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
189*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
190*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addVetoableChangeListener(
191*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
192*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
193*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XVetoableChangeListener >& xListener)
194*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
195*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
196*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
197*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removeVetoableChangeListener(
198*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
199*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
200*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XVetoableChangeListener >& xListener)
201*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
202*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
203*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
204*b1cdbd2cSJim Jagielski 
205*b1cdbd2cSJim Jagielski     // XPropertyState
206*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::beans::PropertyState SAL_CALL
207*b1cdbd2cSJim Jagielski         getPropertyState(const ::rtl::OUString& rPropertyName)
208*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
209*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
210*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence<
211*b1cdbd2cSJim Jagielski             ::com::sun::star::beans::PropertyState > SAL_CALL
212*b1cdbd2cSJim Jagielski         getPropertyStates(
213*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Sequence<
214*b1cdbd2cSJim Jagielski                 ::rtl::OUString >& rPropertyNames)
215*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
216*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
217*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setPropertyToDefault(
218*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName)
219*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
220*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
221*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault(
222*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName)
223*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
224*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
225*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
226*b1cdbd2cSJim Jagielski 
227*b1cdbd2cSJim Jagielski     // XElementAccess
228*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
229*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
230*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL hasElements()
231*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
232*b1cdbd2cSJim Jagielski 
233*b1cdbd2cSJim Jagielski     // XEnumerationAccess
234*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
235*b1cdbd2cSJim Jagielski             ::com::sun::star::container::XEnumeration >  SAL_CALL
236*b1cdbd2cSJim Jagielski         createEnumeration()
237*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
238*b1cdbd2cSJim Jagielski 
239*b1cdbd2cSJim Jagielski     // XContentEnumerationAccess
240*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
241*b1cdbd2cSJim Jagielski                 ::com::sun::star::container::XEnumeration > SAL_CALL
242*b1cdbd2cSJim Jagielski         createContentEnumeration(const ::rtl::OUString& rServiceName)
243*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
244*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
245*b1cdbd2cSJim Jagielski         getAvailableServiceNames()
246*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
247*b1cdbd2cSJim Jagielski 
248*b1cdbd2cSJim Jagielski     // XTextRange
249*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
250*b1cdbd2cSJim Jagielski         SAL_CALL getText()
251*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
252*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
253*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > SAL_CALL getStart()
254*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
255*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
256*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > SAL_CALL getEnd()
257*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
258*b1cdbd2cSJim Jagielski     virtual ::rtl::OUString SAL_CALL getString()
259*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
260*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setString(const ::rtl::OUString& rString)
261*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
262*b1cdbd2cSJim Jagielski 
263*b1cdbd2cSJim Jagielski     // XRedline
264*b1cdbd2cSJim Jagielski     virtual void SAL_CALL makeRedline(
265*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rRedlineType,
266*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Sequence<
267*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::PropertyValue >& RedlineProperties)
268*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
269*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
270*b1cdbd2cSJim Jagielski 
271*b1cdbd2cSJim Jagielski };
272*b1cdbd2cSJim Jagielski 
273*b1cdbd2cSJim Jagielski /* -----------------15.05.98 08:29-------------------
274*b1cdbd2cSJim Jagielski  *
275*b1cdbd2cSJim Jagielski  * --------------------------------------------------*/
276*b1cdbd2cSJim Jagielski 
277*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper3
278*b1cdbd2cSJim Jagielski <   ::com::sun::star::lang::XUnoTunnel
279*b1cdbd2cSJim Jagielski ,   ::com::sun::star::lang::XServiceInfo
280*b1cdbd2cSJim Jagielski ,   ::com::sun::star::container::XIndexAccess
281*b1cdbd2cSJim Jagielski > SwXTextRanges_Base;
282*b1cdbd2cSJim Jagielski 
283*b1cdbd2cSJim Jagielski class SwXTextRanges
284*b1cdbd2cSJim Jagielski     : public SwXTextRanges_Base
285*b1cdbd2cSJim Jagielski {
286*b1cdbd2cSJim Jagielski 
287*b1cdbd2cSJim Jagielski private:
288*b1cdbd2cSJim Jagielski 
289*b1cdbd2cSJim Jagielski     class Impl;
290*b1cdbd2cSJim Jagielski     ::sw::UnoImplPtr<Impl> m_pImpl;
291*b1cdbd2cSJim Jagielski 
292*b1cdbd2cSJim Jagielski     virtual ~SwXTextRanges();
293*b1cdbd2cSJim Jagielski 
294*b1cdbd2cSJim Jagielski public:
295*b1cdbd2cSJim Jagielski 
296*b1cdbd2cSJim Jagielski     SwXTextRanges(SwPaM *const pCrsr);
297*b1cdbd2cSJim Jagielski 
298*b1cdbd2cSJim Jagielski     const SwUnoCrsr* GetCursor() const;
299*b1cdbd2cSJim Jagielski 
300*b1cdbd2cSJim Jagielski     static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
301*b1cdbd2cSJim Jagielski 
302*b1cdbd2cSJim Jagielski     // XUnoTunnel
303*b1cdbd2cSJim Jagielski     virtual sal_Int64 SAL_CALL getSomething(
304*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier)
305*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
306*b1cdbd2cSJim Jagielski 
307*b1cdbd2cSJim Jagielski     // XServiceInfo
308*b1cdbd2cSJim Jagielski     virtual ::rtl::OUString SAL_CALL getImplementationName()
309*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
310*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL supportsService(
311*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rServiceName)
312*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
313*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
314*b1cdbd2cSJim Jagielski         getSupportedServiceNames()
315*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
316*b1cdbd2cSJim Jagielski 
317*b1cdbd2cSJim Jagielski     // XElementAccess
318*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
319*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
320*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL hasElements()
321*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
322*b1cdbd2cSJim Jagielski 
323*b1cdbd2cSJim Jagielski     // XIndexAccess
324*b1cdbd2cSJim Jagielski     virtual sal_Int32 SAL_CALL getCount()
325*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
326*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex)
327*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IndexOutOfBoundsException,
328*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::WrappedTargetException,
329*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
330*b1cdbd2cSJim Jagielski 
331*b1cdbd2cSJim Jagielski };
332*b1cdbd2cSJim Jagielski 
333*b1cdbd2cSJim Jagielski #endif // SW_UNOTEXTRANGE_HXX
334*b1cdbd2cSJim Jagielski 
335