LibreOffice Module sw (master) 1
unofootnote.hxx
Go to the documentation of this file.
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 INCLUDED_SW_SOURCE_CORE_INC_UNOFOOTNOTE_HXX
21#define INCLUDED_SW_SOURCE_CORE_INC_UNOFOOTNOTE_HXX
22
23#include <com/sun/star/lang/XServiceInfo.hpp>
24#include <com/sun/star/beans/XPropertySet.hpp>
25#include <com/sun/star/container/XEnumerationAccess.hpp>
26#include <com/sun/star/text/XFootnote.hpp>
27
29
30#include <unotext.hxx>
31
32class SwDoc;
34
35typedef ::cppu::WeakImplHelper
36< css::lang::XServiceInfo
37, css::beans::XPropertySet
38, css::container::XEnumerationAccess
39, css::text::XFootnote
41
42class SwXFootnote final
43 : public SwXFootnote_Base
44 , public SwXText
45{
46 friend class SwXFootnotes;
47
48 class Impl;
50
51 virtual const SwStartNode *GetStartNode() const override;
52
53 virtual ~SwXFootnote() override;
54
55 SwXFootnote(SwDoc & rDoc, SwFormatFootnote & rFormat);
56 SwXFootnote(const bool bEndnote);
57
58public:
59
61 CreateXFootnote(SwDoc & rDoc, SwFormatFootnote * pFootnoteFormat,
62 bool isEndnote = false);
63
64 // XInterface
65 virtual css::uno::Any SAL_CALL queryInterface(
66 const css::uno::Type& rType) override;
67 virtual void SAL_CALL acquire() noexcept override { OWeakObject::acquire(); }
68 virtual void SAL_CALL release() noexcept override { OWeakObject::release(); }
69
70 // XTypeProvider
71 virtual css::uno::Sequence< css::uno::Type >
72 SAL_CALL getTypes() override;
73 virtual css::uno::Sequence< sal_Int8 > SAL_CALL
74 getImplementationId() override;
75
76 // XServiceInfo
77 virtual OUString SAL_CALL getImplementationName() override;
78 virtual sal_Bool SAL_CALL supportsService(
79 const OUString& rServiceName) override;
80 virtual css::uno::Sequence< OUString > SAL_CALL
81 getSupportedServiceNames() override;
82
83 // XComponent
84 virtual void SAL_CALL dispose() override;
85 virtual void SAL_CALL addEventListener(
86 const css::uno::Reference< css::lang::XEventListener > & xListener) override;
87 virtual void SAL_CALL removeEventListener(
88 const css::uno::Reference< css::lang::XEventListener > & xListener) override;
89
90 // XPropertySet
91 virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL
92 getPropertySetInfo() override;
93 virtual void SAL_CALL setPropertyValue(
94 const OUString& rPropertyName,
95 const css::uno::Any& rValue) override;
96 virtual css::uno::Any SAL_CALL getPropertyValue(
97 const OUString& rPropertyName) override;
98 virtual void SAL_CALL addPropertyChangeListener(
99 const OUString& rPropertyName,
100 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener) override;
101 virtual void SAL_CALL removePropertyChangeListener(
102 const OUString& rPropertyName,
103 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener) override;
104 virtual void SAL_CALL addVetoableChangeListener(
105 const OUString& rPropertyName,
106 const css::uno::Reference< css::beans::XVetoableChangeListener >& xListener) override;
107 virtual void SAL_CALL removeVetoableChangeListener(
108 const OUString& rPropertyName,
109 const css::uno::Reference< css::beans::XVetoableChangeListener >& xListener) override;
110
111 // XElementAccess
112 virtual css::uno::Type SAL_CALL getElementType() override;
113 virtual sal_Bool SAL_CALL hasElements() override;
114
115 // XEnumerationAccess
116 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
117 createEnumeration() override;
118
119 // XTextContent
120 virtual void SAL_CALL attach(
121 const css::uno::Reference< css::text::XTextRange > & xTextRange) override;
122 virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getAnchor() override;
123
124 // XFootnote
125 virtual OUString SAL_CALL getLabel() override;
126 virtual void SAL_CALL setLabel(const OUString& rLabel) override;
127
128 // XSimpleText
131 const ::css::uno::Reference< ::css::text::XTextRange >& aTextPosition ) override;
132};
133
134#endif // INCLUDED_SW_SOURCE_CORE_INC_UNOFOOTNOTE_HXX
135
136/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: doc.hxx:197
SfxPoolItem subclass for footnotes and endnotes, stored in the anchor text node.
Definition: fmtftn.hxx:47
Starts a section of nodes in the document model.
Definition: node.hxx:348
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getAnchor() override
Definition: unoftn.cxx:337
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
Definition: unoftn.cxx:184
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: unoftn.cxx:199
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &rPropertyName) override
Definition: unoftn.cxx:472
virtual void SAL_CALL removeVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
Definition: unoftn.cxx:533
::sw::UnoImplPtr< Impl > m_pImpl
Definition: unofootnote.hxx:48
virtual ~SwXFootnote() override
Definition: unoftn.cxx:137
virtual void SAL_CALL setLabel(const OUString &rLabel) override
Definition: unoftn.cxx:243
virtual void SAL_CALL release() noexcept override
Definition: unofootnote.hxx:68
SwXFootnote(SwDoc &rDoc, SwFormatFootnote &rFormat)
Definition: unoftn.cxx:131
virtual void SAL_CALL addPropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unoftn.cxx:509
virtual OUString SAL_CALL getImplementationName() override
Definition: unoftn.cxx:167
virtual void SAL_CALL addVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
Definition: unoftn.cxx:525
virtual rtl::Reference< SwXTextCursor > createXTextCursor() override
Definition: unoftn.cxx:390
virtual void SAL_CALL setPropertyValue(const OUString &rPropertyName, const css::uno::Any &rValue) override
Definition: unoftn.cxx:465
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
Definition: unoftn.cxx:207
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: unoftn.cxx:358
virtual void SAL_CALL removePropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unoftn.cxx:517
virtual rtl::Reference< SwXTextCursor > createXTextCursorByRange(const ::css::uno::Reference< ::css::text::XTextRange > &aTextPosition) override
Definition: unoftn.cxx:404
virtual sal_Bool SAL_CALL hasElements() override
Definition: unoftn.cxx:449
virtual void SAL_CALL acquire() noexcept override
Definition: unofootnote.hxx:67
virtual OUString SAL_CALL getLabel() override
Definition: unoftn.cxx:221
virtual void SAL_CALL dispose() override
Definition: unoftn.cxx:343
virtual css::uno::Type SAL_CALL getElementType() override
Definition: unoftn.cxx:444
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unoftn.cxx:455
static rtl::Reference< SwXFootnote > CreateXFootnote(SwDoc &rDoc, SwFormatFootnote *pFootnoteFormat, bool isEndnote=false)
Definition: unoftn.cxx:142
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unoftn.cxx:190
virtual const SwStartNode * GetStartNode() const override
Definition: unoftn.cxx:375
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: unoftn.cxx:367
virtual void SAL_CALL attach(const css::uno::Reference< css::text::XTextRange > &xTextRange) override
Definition: unoftn.cxx:273
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
Definition: unoftn.cxx:213
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
Definition: unoftn.cxx:431
std::unique_ptr< T, UnoImplPtrDeleter< T > > UnoImplPtr
Smart pointer class ensuring that the pointed object is deleted with a locked SolarMutex.
unsigned char sal_Bool
::cppu::WeakImplHelper< css::lang::XServiceInfo, css::beans::XPropertySet, css::container::XEnumerationAccess, css::text::XFootnote > SwXFootnote_Base
Definition: unofootnote.hxx:33