Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef SW_UNOFOOTNOTE_HXX
21 : #define SW_UNOFOOTNOTE_HXX
22 :
23 : #include <com/sun/star/lang/XUnoTunnel.hpp>
24 : #include <com/sun/star/lang/XServiceInfo.hpp>
25 : #include <com/sun/star/beans/XPropertySet.hpp>
26 : #include <com/sun/star/container/XEnumerationAccess.hpp>
27 : #include <com/sun/star/text/XTextContent.hpp>
28 : #include <com/sun/star/text/XFootnote.hpp>
29 :
30 : #include <cppuhelper/implbase5.hxx>
31 :
32 : #include <unotext.hxx>
33 :
34 :
35 : class SwDoc;
36 : class SwModify;
37 : class SwFmtFtn;
38 :
39 : typedef ::cppu::WeakImplHelper5
40 : < ::com::sun::star::lang::XUnoTunnel
41 : , ::com::sun::star::lang::XServiceInfo
42 : , ::com::sun::star::beans::XPropertySet
43 : , ::com::sun::star::container::XEnumerationAccess
44 : , ::com::sun::star::text::XFootnote
45 : > SwXFootnote_Base;
46 :
47 : class SwXFootnote
48 : : public SwXFootnote_Base
49 : , public SwXText
50 : {
51 :
52 : private:
53 :
54 : friend class SwXFootnotes;
55 :
56 : class Impl;
57 : ::sw::UnoImplPtr<Impl> m_pImpl;
58 :
59 :
60 : protected:
61 :
62 : virtual const SwStartNode *GetStartNode() const;
63 :
64 : virtual ::com::sun::star::uno::Reference<
65 : ::com::sun::star::text::XTextCursor >
66 : CreateCursor()
67 : throw (::com::sun::star::uno::RuntimeException);
68 :
69 : virtual ~SwXFootnote();
70 :
71 : SwXFootnote(SwDoc & rDoc, const SwFmtFtn & rFmt);
72 :
73 : public:
74 :
75 : SwXFootnote(const bool bEndnote);
76 :
77 : static SwXFootnote *
78 : CreateXFootnote(SwDoc & rDoc, SwFmtFtn const& rFootnoteFmt);
79 : /// may return 0
80 : static SwXFootnote *
81 : GetXFootnote(SwModify const& rUnoCB, SwFmtFtn const& rFootnoteFmt);
82 :
83 : // XInterface
84 : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
85 : const ::com::sun::star::uno::Type& rType)
86 : throw (::com::sun::star::uno::RuntimeException);
87 217 : virtual void SAL_CALL acquire() throw() { OWeakObject::acquire(); }
88 217 : virtual void SAL_CALL release() throw() { OWeakObject::release(); }
89 :
90 : // XTypeProvider
91 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >
92 : SAL_CALL getTypes()
93 : throw (::com::sun::star::uno::RuntimeException);
94 : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
95 : getImplementationId()
96 : throw (::com::sun::star::uno::RuntimeException);
97 :
98 : static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
99 :
100 : // XUnoTunnel
101 : virtual sal_Int64 SAL_CALL getSomething(
102 : const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier)
103 : throw (::com::sun::star::uno::RuntimeException);
104 :
105 : // XServiceInfo
106 : virtual ::rtl::OUString SAL_CALL getImplementationName()
107 : throw (::com::sun::star::uno::RuntimeException);
108 : virtual sal_Bool SAL_CALL supportsService(
109 : const ::rtl::OUString& rServiceName)
110 : throw (::com::sun::star::uno::RuntimeException);
111 : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
112 : getSupportedServiceNames()
113 : throw (::com::sun::star::uno::RuntimeException);
114 :
115 : // XComponent
116 : virtual void SAL_CALL dispose()
117 : throw (::com::sun::star::uno::RuntimeException);
118 : virtual void SAL_CALL addEventListener(
119 : const ::com::sun::star::uno::Reference<
120 : ::com::sun::star::lang::XEventListener > & xListener)
121 : throw (::com::sun::star::uno::RuntimeException);
122 : virtual void SAL_CALL removeEventListener(
123 : const ::com::sun::star::uno::Reference<
124 : ::com::sun::star::lang::XEventListener > & xListener)
125 : throw (::com::sun::star::uno::RuntimeException);
126 :
127 : // XPropertySet
128 : virtual ::com::sun::star::uno::Reference<
129 : ::com::sun::star::beans::XPropertySetInfo > SAL_CALL
130 : getPropertySetInfo()
131 : throw (::com::sun::star::uno::RuntimeException);
132 : virtual void SAL_CALL setPropertyValue(
133 : const ::rtl::OUString& rPropertyName,
134 : const ::com::sun::star::uno::Any& rValue)
135 : throw (::com::sun::star::beans::UnknownPropertyException,
136 : ::com::sun::star::beans::PropertyVetoException,
137 : ::com::sun::star::lang::IllegalArgumentException,
138 : ::com::sun::star::lang::WrappedTargetException,
139 : ::com::sun::star::uno::RuntimeException);
140 : virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
141 : const ::rtl::OUString& rPropertyName)
142 : throw (::com::sun::star::beans::UnknownPropertyException,
143 : ::com::sun::star::lang::WrappedTargetException,
144 : ::com::sun::star::uno::RuntimeException);
145 : virtual void SAL_CALL addPropertyChangeListener(
146 : const ::rtl::OUString& rPropertyName,
147 : const ::com::sun::star::uno::Reference<
148 : ::com::sun::star::beans::XPropertyChangeListener >& xListener)
149 : throw (::com::sun::star::beans::UnknownPropertyException,
150 : ::com::sun::star::lang::WrappedTargetException,
151 : ::com::sun::star::uno::RuntimeException);
152 : virtual void SAL_CALL removePropertyChangeListener(
153 : const ::rtl::OUString& rPropertyName,
154 : const ::com::sun::star::uno::Reference<
155 : ::com::sun::star::beans::XPropertyChangeListener >& xListener)
156 : throw (::com::sun::star::beans::UnknownPropertyException,
157 : ::com::sun::star::lang::WrappedTargetException,
158 : ::com::sun::star::uno::RuntimeException);
159 : virtual void SAL_CALL addVetoableChangeListener(
160 : const ::rtl::OUString& rPropertyName,
161 : const ::com::sun::star::uno::Reference<
162 : ::com::sun::star::beans::XVetoableChangeListener >& xListener)
163 : throw (::com::sun::star::beans::UnknownPropertyException,
164 : ::com::sun::star::lang::WrappedTargetException,
165 : ::com::sun::star::uno::RuntimeException);
166 : virtual void SAL_CALL removeVetoableChangeListener(
167 : const ::rtl::OUString& rPropertyName,
168 : const ::com::sun::star::uno::Reference<
169 : ::com::sun::star::beans::XVetoableChangeListener >& xListener)
170 : throw (::com::sun::star::beans::UnknownPropertyException,
171 : ::com::sun::star::lang::WrappedTargetException,
172 : ::com::sun::star::uno::RuntimeException);
173 :
174 : // XElementAccess
175 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
176 : throw (::com::sun::star::uno::RuntimeException);
177 : virtual sal_Bool SAL_CALL hasElements()
178 : throw (::com::sun::star::uno::RuntimeException);
179 :
180 : // XEnumerationAccess
181 : virtual ::com::sun::star::uno::Reference<
182 : ::com::sun::star::container::XEnumeration > SAL_CALL
183 : createEnumeration()
184 : throw (::com::sun::star::uno::RuntimeException);
185 :
186 : // XTextContent
187 : virtual void SAL_CALL attach(
188 : const ::com::sun::star::uno::Reference<
189 : ::com::sun::star::text::XTextRange > & xTextRange)
190 : throw (::com::sun::star::lang::IllegalArgumentException,
191 : ::com::sun::star::uno::RuntimeException);
192 : virtual ::com::sun::star::uno::Reference<
193 : ::com::sun::star::text::XTextRange > SAL_CALL getAnchor()
194 : throw (::com::sun::star::uno::RuntimeException);
195 :
196 : // XFootnote
197 : virtual ::rtl::OUString SAL_CALL getLabel()
198 : throw (::com::sun::star::uno::RuntimeException);
199 : virtual void SAL_CALL setLabel(const ::rtl::OUString& rLabel)
200 : throw (::com::sun::star::uno::RuntimeException);
201 :
202 : // XSimpleText
203 : virtual ::com::sun::star::uno::Reference<
204 : ::com::sun::star::text::XTextCursor > SAL_CALL
205 : createTextCursor()
206 : throw (::com::sun::star::uno::RuntimeException);
207 : virtual ::com::sun::star::uno::Reference<
208 : ::com::sun::star::text::XTextCursor > SAL_CALL
209 : createTextCursorByRange(
210 : const ::com::sun::star::uno::Reference<
211 : ::com::sun::star::text::XTextRange > & xTextPosition)
212 : throw (::com::sun::star::uno::RuntimeException);
213 :
214 : };
215 :
216 : #endif // SW_UNOFOOTNOTE_HXX
217 :
218 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|