| /************************************************************** |
| * |
| * 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_UNOTEXT_HXX |
| #define SW_UNOTEXT_HXX |
| |
| #include <com/sun/star/lang/XUnoTunnel.hpp> |
| #include <com/sun/star/beans/XPropertySet.hpp> |
| #include <com/sun/star/text/XText.hpp> |
| #include <com/sun/star/text/XTextCopy.hpp> |
| #include <com/sun/star/text/XTextRangeCompare.hpp> |
| #include <com/sun/star/text/XRelativeTextContentInsert.hpp> |
| #include <com/sun/star/text/XRelativeTextContentRemove.hpp> |
| #include <com/sun/star/text/XTextAppendAndConvert.hpp> |
| |
| #include <unobaseclass.hxx> |
| |
| |
| namespace com { namespace sun { namespace star { |
| namespace text { |
| class XTextContent; |
| } |
| } } } |
| |
| class SfxItemPropertySet; |
| class SwDoc; |
| class SwStartNode; |
| class SwPaM; |
| class OTextCursorHelper; |
| class SwXTextRange; |
| |
| |
| /* -----------------03.12.98 12:22------------------- |
| * |
| * --------------------------------------------------*/ |
| |
| class SwXText |
| : public ::com::sun::star::lang::XTypeProvider |
| , public ::com::sun::star::lang::XUnoTunnel |
| , public ::com::sun::star::beans::XPropertySet |
| , public ::com::sun::star::text::XTextAppendAndConvert |
| , public ::com::sun::star::text::XTextCopy |
| , public ::com::sun::star::text::XTextRangeCompare |
| , public ::com::sun::star::text::XRelativeTextContentInsert |
| , public ::com::sun::star::text::XRelativeTextContentRemove |
| { |
| |
| private: |
| |
| class Impl; |
| ::sw::UnoImplPtr<Impl> m_pImpl; |
| |
| virtual void PrepareForAttach( |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xRange, |
| SwPaM const & rPam); |
| virtual bool CheckForOwnMemberMeta( |
| const SwPaM & rPam, const bool bAbsorb) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| protected: |
| |
| bool IsValid() const; |
| void Invalidate(); |
| void SetDoc(SwDoc *const pDoc); |
| |
| virtual ~SwXText(); |
| |
| public: /*not protected because C++ is retarded*/ |
| virtual const SwStartNode *GetStartNode() const; |
| |
| public: |
| |
| SwXText(SwDoc *const pDoc, const enum CursorType eType); |
| |
| const SwDoc* GetDoc() const; |
| SwDoc* GetDoc(); |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor > |
| CreateCursor() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| |
| // XInterface |
| virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( |
| const ::com::sun::star::uno::Type& rType) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XTypeProvider |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > |
| SAL_CALL getTypes() |
| 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); |
| |
| // 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); |
| |
| // XTextRange |
| virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > |
| SAL_CALL getText() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL getStart() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL getEnd() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::rtl::OUString SAL_CALL getString() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL setString(const ::rtl::OUString& rString) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XSimpleText |
| virtual void SAL_CALL insertString( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xRange, |
| const ::rtl::OUString& aString, sal_Bool bAbsorb) |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL insertControlCharacter( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xRange, |
| sal_Int16 nControlCharacter, sal_Bool bAbsorb) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XText |
| virtual void SAL_CALL insertTextContent( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & xRange, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent > & xContent, |
| sal_Bool bAbsorb) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL removeTextContent( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent > & xContent) |
| throw (::com::sun::star::container::NoSuchElementException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XParagraphAppend |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL |
| appendParagraph( |
| const ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue >& |
| rCharacterAndParagraphProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL |
| finishParagraph( |
| const ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue >& |
| rCharacterAndParagraphProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XTextPortionAppend |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL |
| appendTextPortion( |
| const ::rtl::OUString& rText, |
| const ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue >& |
| rCharacterAndParagraphProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XTextContentAppend |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > SAL_CALL |
| appendTextContent( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent >& xTextContent, |
| const ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue >& |
| rCharacterAndParagraphProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XTextConvert |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent > SAL_CALL |
| convertToTextFrame( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xStart, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xEnd, |
| const ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue >& xFrameProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextTable > SAL_CALL |
| convertToTable( |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > > > > const& |
| rTableRanges, |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue > > > const& |
| rCellProperties, |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue > > const& |
| rRowProperties, |
| ::com::sun::star::uno::Sequence< |
| ::com::sun::star::beans::PropertyValue > const& |
| rTableProperties) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XTextCopy |
| virtual void SAL_CALL copyText( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCopy >& xSource ) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| // XTextRangeCompare |
| sal_Int16 SAL_CALL compareRegionStarts( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xR1, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xR2) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| sal_Int16 SAL_CALL compareRegionEnds( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xR1, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange >& xR2) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XRelativeTextContentInsert |
| virtual void SAL_CALL insertTextContentBefore( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xNewContent, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xSuccessor) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL insertTextContentAfter( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xNewContent, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xPredecessor) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // XRelativeTextContentRemove |
| virtual void SAL_CALL removeTextContentBefore( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xSuccessor) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual void SAL_CALL removeTextContentAfter( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextContent>& xPredecessor) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| }; |
| |
| #endif // SW_UNOTEXT_HXX |
| |