Branch data 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 : 1967 : virtual void SAL_CALL acquire() throw() { OWeakObject::acquire(); }
88 : 1967 : 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: */
|