| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef SW_UNOFOOTNOTE_HXX |
| #define SW_UNOFOOTNOTE_HXX |
| |
| #include <com/sun/star/lang/XUnoTunnel.hpp> |
| #include <com/sun/star/lang/XServiceInfo.hpp> |
| #include <com/sun/star/beans/XPropertySet.hpp> |
| #include <com/sun/star/container/XEnumerationAccess.hpp> |
| #include <com/sun/star/text/XTextContent.hpp> |
| #include <com/sun/star/text/XFootnote.hpp> |
| |
| #include <cppuhelper/implbase5.hxx> |
| |
| #include <unotext.hxx> |
| |
| |
| class SwDoc; |
| class SwModify; |
| class SwFmtFtn; |
| |
| |
| /*-----------------12.02.98 08:01------------------- |
| |
| --------------------------------------------------*/ |
| typedef ::cppu::WeakImplHelper5 |
| < ::com::sun::star::lang::XUnoTunnel |
| , ::com::sun::star::lang::XServiceInfo |
| , ::com::sun::star::beans::XPropertySet |
| , ::com::sun::star::container::XEnumerationAccess |
| , ::com::sun::star::text::XFootnote |
| > SwXFootnote_Base; |
| |
| class SwXFootnote |
| : public SwXFootnote_Base |
| , public SwXText |
| { |
| |
| private: |
| |
| friend class SwXFootnotes; |
| |
| class Impl; |
| ::sw::UnoImplPtr<Impl> m_pImpl; |
| |
| |
| protected: |
| |
| virtual const SwStartNode *GetStartNode() const; |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor > |
| CreateCursor() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| virtual ~SwXFootnote(); |
| |
| SwXFootnote(SwDoc & rDoc, const SwFmtFtn & rFmt); |
| |
| public: |
| |
| SwXFootnote(const bool bEndnote); |
| |
| static SwXFootnote * |
| CreateXFootnote(SwDoc & rDoc, SwFmtFtn const& rFootnoteFmt); |
| /// may return 0 |
| static SwXFootnote * |
| GetXFootnote(SwModify const& rUnoCB, SwFmtFtn const& rFootnoteFmt); |
| |
| // XInterface |
| virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( |
| const ::com::sun::star::uno::Type& rType) |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL acquire() throw() { OWeakObject::acquire(); } |
| virtual void SAL_CALL release() throw() { OWeakObject::release(); } |
| |
| // XTypeProvider |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > |
| SAL_CALL getTypes() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL |
| getImplementationId() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId(); |
| |
| // XUnoTunnel |
| virtual sal_Int64 SAL_CALL getSomething( |
| const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XServiceInfo |
| virtual ::rtl::OUString SAL_CALL getImplementationName() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL supportsService( |
| const ::rtl::OUString& rServiceName) |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL |
| getSupportedServiceNames() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XComponent |
| virtual void SAL_CALL dispose() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL addEventListener( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::lang::XEventListener > & xListener) |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL removeEventListener( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::lang::XEventListener > & xListener) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XPropertySet |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySetInfo > SAL_CALL |
| getPropertySetInfo() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL setPropertyValue( |
| const ::rtl::OUString& rPropertyName, |
| const ::com::sun::star::uno::Any& rValue) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::beans::PropertyVetoException, |
| ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( |
| const ::rtl::OUString& rPropertyName) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL addPropertyChangeListener( |
| const ::rtl::OUString& rPropertyName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertyChangeListener >& xListener) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL removePropertyChangeListener( |
| const ::rtl::OUString& rPropertyName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertyChangeListener >& xListener) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL addVetoableChangeListener( |
| const ::rtl::OUString& rPropertyName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XVetoableChangeListener >& xListener) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL removeVetoableChangeListener( |
| const ::rtl::OUString& rPropertyName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XVetoableChangeListener >& xListener) |
| throw (::com::sun::star::beans::UnknownPropertyException, |
| ::com::sun::star::lang::WrappedTargetException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XElementAccess |
| virtual ::com::sun::star::uno::Type SAL_CALL getElementType() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL hasElements() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XEnumerationAccess |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XEnumeration > SAL_CALL |
| createEnumeration() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XTextContent |
| virtual void SAL_CALL attach( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xTextRange) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL getAnchor() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XFootnote |
| virtual ::rtl::OUString SAL_CALL getLabel() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL setLabel(const ::rtl::OUString& rLabel) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XSimpleText |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor > SAL_CALL |
| createTextCursor() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor > SAL_CALL |
| createTextCursorByRange( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xTextPosition) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| }; |
| |
| #endif // SW_UNOFOOTNOTE_HXX |
| |