xref: /aoo4110/main/sw/source/core/inc/unometa.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_UNOMETA_HXX
25*b1cdbd2cSJim Jagielski #define SW_UNOMETA_HXX
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #include <deque>
28*b1cdbd2cSJim Jagielski 
29*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp>
30*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XUnoTunnel.hpp>
31*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
32*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XChild.hpp>
33*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XEnumerationAccess.hpp>
34*b1cdbd2cSJim Jagielski #include <com/sun/star/text/XTextContent.hpp>
35*b1cdbd2cSJim Jagielski #include <com/sun/star/text/XTextField.hpp>
36*b1cdbd2cSJim Jagielski 
37*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase2.hxx>
38*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase6.hxx>
39*b1cdbd2cSJim Jagielski 
40*b1cdbd2cSJim Jagielski #include <sfx2/Metadatable.hxx>
41*b1cdbd2cSJim Jagielski 
42*b1cdbd2cSJim Jagielski #include <unobaseclass.hxx>
43*b1cdbd2cSJim Jagielski 
44*b1cdbd2cSJim Jagielski 
45*b1cdbd2cSJim Jagielski typedef ::std::deque<
46*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > >
47*b1cdbd2cSJim Jagielski     TextRangeList_t;
48*b1cdbd2cSJim Jagielski 
49*b1cdbd2cSJim Jagielski class SwPaM;
50*b1cdbd2cSJim Jagielski class SwTxtNode;
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski namespace sw {
53*b1cdbd2cSJim Jagielski     class Meta;
54*b1cdbd2cSJim Jagielski     class MetaField;
55*b1cdbd2cSJim Jagielski }
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski typedef ::cppu::ImplInheritanceHelper6
58*b1cdbd2cSJim Jagielski <   ::sfx2::MetadatableMixin
59*b1cdbd2cSJim Jagielski ,   ::com::sun::star::lang::XUnoTunnel
60*b1cdbd2cSJim Jagielski ,   ::com::sun::star::lang::XServiceInfo
61*b1cdbd2cSJim Jagielski ,   ::com::sun::star::container::XChild
62*b1cdbd2cSJim Jagielski ,   ::com::sun::star::container::XEnumerationAccess
63*b1cdbd2cSJim Jagielski ,   ::com::sun::star::text::XTextContent
64*b1cdbd2cSJim Jagielski ,   ::com::sun::star::text::XText
65*b1cdbd2cSJim Jagielski > SwXMeta_Base;
66*b1cdbd2cSJim Jagielski 
67*b1cdbd2cSJim Jagielski class SwXMeta
68*b1cdbd2cSJim Jagielski     : public SwXMeta_Base
69*b1cdbd2cSJim Jagielski     , private ::boost::noncopyable
70*b1cdbd2cSJim Jagielski {
71*b1cdbd2cSJim Jagielski 
72*b1cdbd2cSJim Jagielski public:
73*b1cdbd2cSJim Jagielski 
74*b1cdbd2cSJim Jagielski     class Impl;
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski protected:
77*b1cdbd2cSJim Jagielski 
78*b1cdbd2cSJim Jagielski     ::sw::UnoImplPtr<Impl> m_pImpl;
79*b1cdbd2cSJim Jagielski 
80*b1cdbd2cSJim Jagielski     virtual void SAL_CALL AttachImpl(
81*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
82*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xTextRange,
83*b1cdbd2cSJim Jagielski             const sal_uInt16 nWhich)
84*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
85*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::RuntimeException);
86*b1cdbd2cSJim Jagielski 
87*b1cdbd2cSJim Jagielski     virtual ~SwXMeta();
88*b1cdbd2cSJim Jagielski 
89*b1cdbd2cSJim Jagielski     /// @param pDoc and pMeta != 0, but not & because of ImplInheritanceHelper
90*b1cdbd2cSJim Jagielski     SwXMeta(SwDoc *const pDoc, ::sw::Meta *const pMeta,
91*b1cdbd2cSJim Jagielski         ::com::sun::star::uno::Reference< ::com::sun::star::text::XText> const&
92*b1cdbd2cSJim Jagielski             xParentText,
93*b1cdbd2cSJim Jagielski         TextRangeList_t const*const pPortions);
94*b1cdbd2cSJim Jagielski 
95*b1cdbd2cSJim Jagielski public:
96*b1cdbd2cSJim Jagielski 
97*b1cdbd2cSJim Jagielski     SwXMeta(SwDoc *const pDoc);
98*b1cdbd2cSJim Jagielski 
99*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference<
100*b1cdbd2cSJim Jagielski             ::com::sun::star::rdf::XMetadatable >
101*b1cdbd2cSJim Jagielski         CreateXMeta(
102*b1cdbd2cSJim Jagielski             ::sw::Meta & rMeta,
103*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::Reference< ::com::sun::star::text::XText>
104*b1cdbd2cSJim Jagielski                 const& xParentText = 0,
105*b1cdbd2cSJim Jagielski             ::std::auto_ptr<TextRangeList_t const> pPortions =
106*b1cdbd2cSJim Jagielski                 ::std::auto_ptr<TextRangeList_t const>(0));
107*b1cdbd2cSJim Jagielski 
108*b1cdbd2cSJim Jagielski     /// init params with position of the attribute content (w/out CH_TXTATR)
109*b1cdbd2cSJim Jagielski     bool SetContentRange(
110*b1cdbd2cSJim Jagielski             SwTxtNode *& rpNode, xub_StrLen & rStart, xub_StrLen & rEnd) const;
111*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
112*b1cdbd2cSJim Jagielski         GetParentText() const;
113*b1cdbd2cSJim Jagielski 
114*b1cdbd2cSJim Jagielski     bool CheckForOwnMemberMeta(const SwPaM & rPam, const bool bAbsorb)
115*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
116*b1cdbd2cSJim Jagielski                ::com::sun::star::uno::RuntimeException);
117*b1cdbd2cSJim Jagielski 
118*b1cdbd2cSJim Jagielski     // MetadatableMixin
119*b1cdbd2cSJim Jagielski     virtual ::sfx2::Metadatable * GetCoreObject();
120*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
121*b1cdbd2cSJim Jagielski         GetModel();
122*b1cdbd2cSJim Jagielski 
123*b1cdbd2cSJim Jagielski     static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
124*b1cdbd2cSJim Jagielski 
125*b1cdbd2cSJim Jagielski     // XUnoTunnel
126*b1cdbd2cSJim Jagielski     virtual sal_Int64 SAL_CALL getSomething(
127*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Sequence< sal_Int8 >& Identifier )
128*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
129*b1cdbd2cSJim Jagielski 
130*b1cdbd2cSJim Jagielski     // XServiceInfo
131*b1cdbd2cSJim Jagielski     virtual ::rtl::OUString SAL_CALL getImplementationName()
132*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
133*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL supportsService(
134*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rServiceName)
135*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
136*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
137*b1cdbd2cSJim Jagielski         getSupportedServiceNames()
138*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
139*b1cdbd2cSJim Jagielski 
140*b1cdbd2cSJim Jagielski     // XComponent
141*b1cdbd2cSJim Jagielski     virtual void SAL_CALL dispose()
142*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
143*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addEventListener(
144*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
145*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::XEventListener > & xListener)
146*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
147*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removeEventListener(
148*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
149*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::XEventListener > & xListener)
150*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
151*b1cdbd2cSJim Jagielski 
152*b1cdbd2cSJim Jagielski     // XChild
153*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
154*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::XInterface > SAL_CALL
155*b1cdbd2cSJim Jagielski         getParent()
156*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
157*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setParent(
158*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::Reference<
159*b1cdbd2cSJim Jagielski                 ::com::sun::star::uno::XInterface> const& xParent)
160*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException,
161*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::NoSupportException);
162*b1cdbd2cSJim Jagielski 
163*b1cdbd2cSJim Jagielski     // XElementAccess
164*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
165*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
166*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL hasElements()
167*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
168*b1cdbd2cSJim Jagielski 
169*b1cdbd2cSJim Jagielski     // XEnumerationAccess
170*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
171*b1cdbd2cSJim Jagielski             ::com::sun::star::container::XEnumeration >  SAL_CALL
172*b1cdbd2cSJim Jagielski         createEnumeration()
173*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
174*b1cdbd2cSJim Jagielski 
175*b1cdbd2cSJim Jagielski     // XTextContent
176*b1cdbd2cSJim Jagielski     virtual void SAL_CALL attach(
177*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
178*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xTextRange)
179*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
180*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
181*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
182*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > SAL_CALL getAnchor()
183*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
184*b1cdbd2cSJim Jagielski 
185*b1cdbd2cSJim Jagielski     // XTextRange
186*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >
187*b1cdbd2cSJim Jagielski         SAL_CALL getText() throw (::com::sun::star::uno::RuntimeException);
188*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
189*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > SAL_CALL getStart()
190*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
191*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
192*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > SAL_CALL getEnd()
193*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
194*b1cdbd2cSJim Jagielski     virtual rtl::OUString SAL_CALL getString()
195*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
196*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setString(const rtl::OUString& rString)
197*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
198*b1cdbd2cSJim Jagielski 
199*b1cdbd2cSJim Jagielski     // XSimpleText
200*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
201*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextCursor >  SAL_CALL
202*b1cdbd2cSJim Jagielski         createTextCursor()
203*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
204*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
205*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextCursor >  SAL_CALL
206*b1cdbd2cSJim Jagielski         createTextCursorByRange(
207*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
208*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xTextPosition)
209*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
210*b1cdbd2cSJim Jagielski     virtual void SAL_CALL insertString(
211*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
212*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xRange,
213*b1cdbd2cSJim Jagielski             const rtl::OUString& aString, sal_Bool bAbsorb)
214*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
215*b1cdbd2cSJim Jagielski     virtual void SAL_CALL insertControlCharacter(
216*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
217*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xRange,
218*b1cdbd2cSJim Jagielski             sal_Int16 nControlCharacter, sal_Bool bAbsorb)
219*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
220*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
221*b1cdbd2cSJim Jagielski 
222*b1cdbd2cSJim Jagielski     // XText
223*b1cdbd2cSJim Jagielski     virtual void SAL_CALL insertTextContent(
224*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
225*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xRange,
226*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
227*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextContent > & xContent,
228*b1cdbd2cSJim Jagielski             sal_Bool bAbsorb)
229*b1cdbd2cSJim Jagielski         throw (::com::sun::star::lang::IllegalArgumentException,
230*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
231*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removeTextContent(
232*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
233*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextContent > & xContent)
234*b1cdbd2cSJim Jagielski         throw (::com::sun::star::container::NoSuchElementException,
235*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
236*b1cdbd2cSJim Jagielski 
237*b1cdbd2cSJim Jagielski };
238*b1cdbd2cSJim Jagielski 
239*b1cdbd2cSJim Jagielski 
240*b1cdbd2cSJim Jagielski typedef ::cppu::ImplInheritanceHelper2
241*b1cdbd2cSJim Jagielski <   SwXMeta
242*b1cdbd2cSJim Jagielski ,   ::com::sun::star::beans::XPropertySet
243*b1cdbd2cSJim Jagielski ,   ::com::sun::star::text::XTextField
244*b1cdbd2cSJim Jagielski > SwXMetaField_Base;
245*b1cdbd2cSJim Jagielski 
246*b1cdbd2cSJim Jagielski class SwXMetaField
247*b1cdbd2cSJim Jagielski     : public SwXMetaField_Base
248*b1cdbd2cSJim Jagielski {
249*b1cdbd2cSJim Jagielski 
250*b1cdbd2cSJim Jagielski private:
251*b1cdbd2cSJim Jagielski 
252*b1cdbd2cSJim Jagielski     virtual ~SwXMetaField();
253*b1cdbd2cSJim Jagielski 
254*b1cdbd2cSJim Jagielski     friend ::com::sun::star::uno::Reference<
255*b1cdbd2cSJim Jagielski             ::com::sun::star::rdf::XMetadatable >
256*b1cdbd2cSJim Jagielski         SwXMeta::CreateXMeta(::sw::Meta &,
257*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::Reference< ::com::sun::star::text::XText>
258*b1cdbd2cSJim Jagielski                 const&,
259*b1cdbd2cSJim Jagielski             ::std::auto_ptr<TextRangeList_t const> pPortions);
260*b1cdbd2cSJim Jagielski 
261*b1cdbd2cSJim Jagielski     SwXMetaField(SwDoc *const pDoc, ::sw::Meta *const pMeta,
262*b1cdbd2cSJim Jagielski         ::com::sun::star::uno::Reference< ::com::sun::star::text::XText> const&
263*b1cdbd2cSJim Jagielski             xParentText,
264*b1cdbd2cSJim Jagielski         TextRangeList_t const*const pPortions);
265*b1cdbd2cSJim Jagielski 
266*b1cdbd2cSJim Jagielski public:
267*b1cdbd2cSJim Jagielski 
268*b1cdbd2cSJim Jagielski     SwXMetaField(SwDoc *const pDoc);
269*b1cdbd2cSJim Jagielski 
270*b1cdbd2cSJim Jagielski     // XServiceInfo
271*b1cdbd2cSJim Jagielski     virtual ::rtl::OUString SAL_CALL getImplementationName()
272*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
273*b1cdbd2cSJim Jagielski     virtual sal_Bool SAL_CALL supportsService(
274*b1cdbd2cSJim Jagielski             const ::rtl::OUString& ServiceName)
275*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
276*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
277*b1cdbd2cSJim Jagielski         getSupportedServiceNames( )
278*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
279*b1cdbd2cSJim Jagielski 
280*b1cdbd2cSJim Jagielski     // XComponent
281*b1cdbd2cSJim Jagielski     virtual void SAL_CALL dispose()
282*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
283*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addEventListener(
284*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
285*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::XEventListener > & xListener)
286*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
287*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removeEventListener(
288*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
289*b1cdbd2cSJim Jagielski                 ::com::sun::star::lang::XEventListener > & xListener)
290*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
291*b1cdbd2cSJim Jagielski 
292*b1cdbd2cSJim Jagielski     // XPropertySet
293*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
294*b1cdbd2cSJim Jagielski             ::com::sun::star::beans::XPropertySetInfo > SAL_CALL
295*b1cdbd2cSJim Jagielski         getPropertySetInfo()
296*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
297*b1cdbd2cSJim Jagielski     virtual void SAL_CALL setPropertyValue(
298*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
299*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Any& rValue)
300*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
301*b1cdbd2cSJim Jagielski             ::com::sun::star::beans::PropertyVetoException,
302*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::IllegalArgumentException,
303*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
304*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
305*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Any SAL_CALL
306*b1cdbd2cSJim Jagielski         getPropertyValue(const ::rtl::OUString& rPropertyName)
307*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
308*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
309*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
310*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addPropertyChangeListener(
311*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
312*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
313*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertyChangeListener >& xListener)
314*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
315*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
316*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
317*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removePropertyChangeListener(
318*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
319*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
320*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertyChangeListener >& xListener)
321*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
322*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
323*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
324*b1cdbd2cSJim Jagielski     virtual void SAL_CALL addVetoableChangeListener(
325*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
326*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
327*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XVetoableChangeListener >& xListener)
328*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
329*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
330*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
331*b1cdbd2cSJim Jagielski     virtual void SAL_CALL removeVetoableChangeListener(
332*b1cdbd2cSJim Jagielski             const ::rtl::OUString& rPropertyName,
333*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
334*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XVetoableChangeListener >& xListener)
335*b1cdbd2cSJim Jagielski         throw (::com::sun::star::beans::UnknownPropertyException,
336*b1cdbd2cSJim Jagielski             ::com::sun::star::lang::WrappedTargetException,
337*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException);
338*b1cdbd2cSJim Jagielski 
339*b1cdbd2cSJim Jagielski     // XTextContent
340*b1cdbd2cSJim Jagielski     virtual void SAL_CALL attach(
341*b1cdbd2cSJim Jagielski             const ::com::sun::star::uno::Reference<
342*b1cdbd2cSJim Jagielski                 ::com::sun::star::text::XTextRange > & xTextRange)
343*b1cdbd2cSJim Jagielski         throw ( ::com::sun::star::lang::IllegalArgumentException,
344*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::RuntimeException );
345*b1cdbd2cSJim Jagielski     virtual ::com::sun::star::uno::Reference<
346*b1cdbd2cSJim Jagielski             ::com::sun::star::text::XTextRange > SAL_CALL getAnchor()
347*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
348*b1cdbd2cSJim Jagielski 
349*b1cdbd2cSJim Jagielski     // XTextField
350*b1cdbd2cSJim Jagielski     virtual rtl::OUString SAL_CALL getPresentation(sal_Bool bShowCommand)
351*b1cdbd2cSJim Jagielski         throw (::com::sun::star::uno::RuntimeException);
352*b1cdbd2cSJim Jagielski 
353*b1cdbd2cSJim Jagielski };
354*b1cdbd2cSJim Jagielski 
355*b1cdbd2cSJim Jagielski /// get prefix/suffix from the RDF repository. @throws RuntimeException
356*b1cdbd2cSJim Jagielski void getPrefixAndSuffix(
357*b1cdbd2cSJim Jagielski         const ::com::sun::star::uno::Reference<
358*b1cdbd2cSJim Jagielski             ::com::sun::star::frame::XModel>& xModel,
359*b1cdbd2cSJim Jagielski         const ::com::sun::star::uno::Reference<
360*b1cdbd2cSJim Jagielski             ::com::sun::star::rdf::XMetadatable>& xMetaField,
361*b1cdbd2cSJim Jagielski         ::rtl::OUString *const o_pPrefix, ::rtl::OUString *const o_pSuffix);
362*b1cdbd2cSJim Jagielski 
363*b1cdbd2cSJim Jagielski #endif // SW_UNOMETA_HXX
364*b1cdbd2cSJim Jagielski 
365