| /************************************************************** |
| * |
| * 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 _ACCPARA_HXX |
| #define _ACCPARA_HXX |
| |
| #include <acccontext.hxx> |
| #include <com/sun/star/accessibility/XAccessibleEditableText.hpp> |
| #include <com/sun/star/accessibility/XAccessibleSelection.hpp> |
| #include <com/sun/star/accessibility/XAccessibleHypertext.hpp> |
| #include <com/sun/star/accessibility/XAccessibleTextMarkup.hpp> |
| #include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp> |
| #include <com/sun/star/accessibility/XAccessibleTextSelection.hpp> |
| #include <txmsrt.hxx> |
| #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp> |
| #include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp> |
| #include <hash_map> |
| #include <accselectionhelper.hxx> |
| // --> OD 2010-02-19 #i108125# |
| #include <calbck.hxx> |
| // <-- |
| |
| class SwField; |
| class SwTxtFrm; |
| class SwTxtNode; |
| class SwPaM; |
| class SwAccessiblePortionData; |
| class SwAccessibleHyperTextData; |
| class SwRedline; |
| class SwXTextPortion; |
| // --> OD 2010-02-19 #i108125# |
| class SwParaChangeTrackingInfo; |
| // <-- |
| |
| namespace rtl { class OUString; } |
| namespace com { namespace sun { namespace star { |
| namespace i18n { struct Boundary; } |
| namespace accessibility { class XAccessibleHyperlink; } |
| namespace style { struct TabStop; } |
| } } } |
| |
| typedef ::std::hash_map< ::rtl::OUString, |
| ::com::sun::star::beans::PropertyValue, |
| ::rtl::OUStringHash, |
| ::std::equal_to< ::rtl::OUString > > tAccParaPropValMap; |
| |
| class SwAccessibleParagraph : |
| // --> OD 2010-02-19 #i108125# |
| public SwClient, |
| // <-- |
| public SwAccessibleContext, |
| public ::com::sun::star::accessibility::XAccessibleEditableText, |
| public com::sun::star::accessibility::XAccessibleSelection, |
| public com::sun::star::accessibility::XAccessibleHypertext, |
| public com::sun::star::accessibility::XAccessibleTextMarkup, |
| public com::sun::star::accessibility::XAccessibleMultiLineText, |
| public ::com::sun::star::accessibility::XAccessibleTextAttributes, |
| public com::sun::star::accessibility::XAccessibleTextSelection, |
| public com::sun::star::accessibility::XAccessibleExtendedAttributes |
| { |
| friend class SwAccessibleHyperlink; |
| |
| ::rtl::OUString sDesc; // protected by base classes mutex |
| |
| /// data for this paragraph's text portions; this contains the |
| /// mapping from the core 'model string' to the accessible text |
| /// string. |
| /// pPortionData may be NULL; it should only be accessed through the |
| /// Get/Clear/Has/UpdatePortionData() methods |
| SwAccessiblePortionData* pPortionData; |
| SwAccessibleHyperTextData *pHyperTextData; |
| |
| sal_Int32 nOldCaretPos; // The 'old' caret pos. It's only valid as long |
| // as the cursor is inside this object (protected by |
| // mutex) |
| |
| sal_Bool bIsHeading; // protected by base classes mutex |
| sal_Int32 nHeadingLevel; |
| |
| // implementation for XAccessibleSelection |
| SwAccessibleSelectionHelper aSelectionHelper; |
| |
| // --> OD 2010-02-19 #i108125# |
| SwParaChangeTrackingInfo* mpParaChangeTrackInfo; |
| // <-- |
| |
| /// get the SwTxtNode (requires frame; check before) |
| const SwTxtNode* GetTxtNode() const; |
| |
| /// get the (accessible) text string (requires frame; check before) |
| ::rtl::OUString GetString(); |
| |
| ::rtl::OUString GetDescription(); |
| |
| // get the current care position |
| sal_Int32 GetCaretPos(); |
| |
| /// determine the current selection. Fill the values with |
| /// -1 if there is no selection in the this paragraph |
| sal_Bool GetSelection(sal_Int32& nStart, sal_Int32& nEnd); |
| |
| // helper for GetSelection and getCaretPosition |
| // --> OD 2005-12-20 #i27301# |
| // - add parameter <_bForSelection>, which indicates, if the cursor is |
| // retrieved for selection or for caret position. |
| SwPaM* GetCursor( const bool _bForSelection ); |
| |
| /// for cut/copy/paste: execute a particular slot at the view shell |
| void ExecuteAtViewShell( sal_uInt16 nSlot ); |
| |
| /// helper method for get/setAttributes |
| /// (for the special case of (nEndIndex==-1) a single character will |
| /// be selected) |
| SwXTextPortion* CreateUnoPortion( sal_Int32 nStart, sal_Int32 nEnd ); |
| |
| |
| // methods for checking the parameter range: |
| |
| /// does nPos point to a char? |
| sal_Bool IsValidChar(sal_Int32 nPos, sal_Int32 nLength); |
| |
| /// does nPos point to a position? (may be behind the last character) |
| sal_Bool IsValidPosition(sal_Int32 nPos, sal_Int32 nLength); |
| |
| /// is nBegin...nEnd a valid range? (nEnd points past the last character) |
| sal_Bool IsValidRange(sal_Int32 nBegin, sal_Int32 nEnd, sal_Int32 nLength); |
| |
| /// Ensure ordered range (i.e. nBegin is smaller then nEnd) |
| inline void OrderRange(sal_Int32& nBegin, sal_Int32& nEnd) |
| { |
| if( nBegin > nEnd ) |
| { |
| sal_Int32 nTmp = nBegin; nBegin = nEnd; nEnd = nTmp; |
| } |
| } |
| |
| const SwRedline* GetRedlineAtIndex( sal_Int32 nPos ); |
| String GetFieldTypeNameAtIndex(sal_Int32 nIndex); |
| // --> OD 2006-07-13 #i63870# |
| void _getDefaultAttributesImpl( |
| const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes, |
| tAccParaPropValMap& rDefAttrSeq, |
| const bool bOnlyCharAttrs = false ); |
| void _getRunAttributesImpl( |
| const sal_Int32 nIndex, |
| const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes, |
| tAccParaPropValMap& rRunAttrSeq ); |
| // <-- |
| void _getSupplementalAttributesImpl( |
| const sal_Int32 nIndex, |
| const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes, |
| tAccParaPropValMap& rSupplementalAttrSeq ); |
| |
| void _correctValues( |
| const sal_Int32 nIndex, |
| ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rValues ); |
| |
| public: |
| SwTOXSortTabBase* GetTOXSortTabBase(); |
| short GetTOCLevel(); |
| sal_Bool IsHeading() const; |
| |
| protected: |
| |
| // Set states for getAccessibleStateSet. |
| // This drived class additinaly sets MULTILINE(1), MULTISELECTABLE(+), |
| // FOCUSABLE(+) and FOCUSED(+) |
| virtual void GetStates( ::utl::AccessibleStateSetHelper& rStateSet ); |
| |
| virtual void _InvalidateContent( sal_Bool bVisibleDataFired ); |
| |
| virtual void _InvalidateCursorPos(); |
| virtual void _InvalidateFocus(); |
| |
| virtual ~SwAccessibleParagraph(); |
| |
| //===== handling of data for the text portions =========================== |
| |
| /// force update of new portion data |
| void UpdatePortionData() |
| throw( com::sun::star::uno::RuntimeException ); |
| |
| /// remove the current portion data |
| void ClearPortionData(); |
| |
| /// get portion data; update if necesary |
| SwAccessiblePortionData& GetPortionData() |
| throw( com::sun::star::uno::RuntimeException ) |
| { |
| if( pPortionData == NULL ) |
| UpdatePortionData(); |
| return *pPortionData; |
| } |
| |
| /// determine if portion data is currently available |
| sal_Bool HasPortionData() { return (pPortionData != NULL); } |
| |
| |
| //===== helpers for word boundaries ==================================== |
| |
| sal_Bool GetCharBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetWordBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetSentenceBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetLineBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetParagraphBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetAttributeBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| sal_Bool GetGlyphBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos ); |
| |
| /// get boundaries of word/sentence/etc. for specified text type |
| /// Does all argument checking, and then delegates to helper methods above. |
| sal_Bool GetTextBoundary( com::sun::star::i18n::Boundary& rBound, |
| const rtl::OUString& rText, |
| sal_Int32 nPos, |
| sal_Int16 aTextType ) |
| throw ( |
| ::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew); |
| |
| public: |
| |
| SwAccessibleParagraph( SwAccessibleMap& rInitMap, |
| const SwTxtFrm& rTxtFrm ); |
| |
| inline operator ::com::sun::star::accessibility::XAccessibleText *(); |
| |
| virtual sal_Bool HasCursor(); // required by map to remember that object |
| |
| com::sun::star::uno::Sequence< ::com::sun::star::style::TabStop > GetCurrentTabStop( sal_Int32 nIndex ); |
| virtual sal_Int16 SAL_CALL getAccessibleRole (void) throw (::com::sun::star::uno::RuntimeException); |
| // --> OD 2010-02-19 #i108125# |
| // MT: Solved merge conflict - seems this was removed between 101 and 103? |
| // virtual void Modify( SfxPoolItem* pOld, SfxPoolItem* pNew); |
| // <-- |
| |
| //===== XAccessibleContext ============================================== |
| |
| /// Return this object's description. |
| virtual ::rtl::OUString SAL_CALL |
| getAccessibleDescription (void) |
| throw (com::sun::star::uno::RuntimeException); |
| |
| /** Return the parents locale or throw exception if this object has no |
| parent yet/anymore. |
| */ |
| virtual ::com::sun::star::lang::Locale SAL_CALL |
| getLocale (void) |
| throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException); |
| |
| /** paragraphs are in relation CONTENT_FLOWS_FROM and/or CONTENT_FLOWS_TO |
| |
| OD 2005-12-02 #i27138# |
| |
| @author OD |
| */ |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::accessibility::XAccessibleRelationSet> SAL_CALL |
| getAccessibleRelationSet (void) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| //===== XAccessibleComponent ============================================ |
| |
| virtual void SAL_CALL grabFocus() |
| throw (::com::sun::star::uno::RuntimeException); |
| // --> OD 2007-01-17 #i71385# |
| virtual sal_Int32 SAL_CALL getForeground() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getBackground() |
| throw (::com::sun::star::uno::RuntimeException); |
| // <-- |
| |
| //===== XServiceInfo ==================================================== |
| |
| /** Returns an identifier for the implementation of this object. |
| */ |
| virtual ::rtl::OUString SAL_CALL |
| getImplementationName (void) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| /** Return whether the specified service is supported by this class. |
| */ |
| virtual sal_Bool SAL_CALL |
| supportsService (const ::rtl::OUString& sServiceName) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| /** Returns a list of all supported services. In this case that is just |
| the AccessibleContext service. |
| */ |
| virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL |
| getSupportedServiceNames (void) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| |
| //===== XInterface ====================================================== |
| |
| // (XInterface methods need to be implemented to disambiguate |
| // between those inherited through SwAcessibleContext and |
| // XAccessibleEditableText). |
| |
| virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( |
| const ::com::sun::star::uno::Type& aType ) |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| virtual void SAL_CALL acquire( ) throw () |
| { SwAccessibleContext::acquire(); }; |
| |
| virtual void SAL_CALL release( ) throw () |
| { SwAccessibleContext::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); |
| |
| //===== XAccesibleText ================================================== |
| virtual sal_Int32 SAL_CALL getCaretPosition( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException); |
| virtual ::rtl::OUString SAL_CALL getSelectedText( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getSelectionStart( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getSelectionEnd( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual ::rtl::OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual ::rtl::OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| |
| //===== XAccesibleEditableText ========================================== |
| virtual sal_Bool SAL_CALL cutText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL pasteText( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL deleteText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL insertText( const ::rtl::OUString& sText, sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL replaceText( sal_Int32 nStartIndex, sal_Int32 nEndIndex, const ::rtl::OUString& sReplacement ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL setAttributes( sal_Int32 nStartIndex, sal_Int32 nEndIndex, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aAttributeSet ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL setText( const ::rtl::OUString& sText ) throw (::com::sun::star::uno::RuntimeException); |
| |
| //===== XAccessibleSelection ============================================ |
| virtual void SAL_CALL selectAccessibleChild( |
| sal_Int32 nChildIndex ) |
| throw ( ::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException ); |
| |
| virtual sal_Bool SAL_CALL isAccessibleChildSelected( |
| sal_Int32 nChildIndex ) |
| throw ( ::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException ); |
| virtual void SAL_CALL clearAccessibleSelection( ) |
| throw ( ::com::sun::star::uno::RuntimeException ); |
| virtual void SAL_CALL selectAllAccessibleChildren( ) |
| throw ( ::com::sun::star::uno::RuntimeException ); |
| virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( ) |
| throw ( ::com::sun::star::uno::RuntimeException ); |
| virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( |
| sal_Int32 nSelectedChildIndex ) |
| throw ( ::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // --> OD 2004-11-16 #111714# - index has to be treated as global child index. |
| virtual void SAL_CALL deselectAccessibleChild( |
| sal_Int32 nChildIndex ) |
| throw ( ::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException ); |
| |
| //===== XAccessibleHypertext ============================================ |
| virtual sal_Int32 SAL_CALL getHyperLinkCount() |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::accessibility::XAccessibleHyperlink > |
| SAL_CALL getHyperLink( sal_Int32 nLinkIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| // --> OD 2008-05-19 #i71360# |
| //===== XAccesibleTextMarkup ============================================ |
| virtual sal_Int32 SAL_CALL getTextMarkupCount( sal_Int32 nTextMarkupType ) |
| throw (::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL |
| getTextMarkup( sal_Int32 nTextMarkupIndex, |
| sal_Int32 nTextMarkupType ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::accessibility::TextSegment > SAL_CALL |
| getTextMarkupAtIndex( sal_Int32 nCharIndex, |
| sal_Int32 nTextMarkupType ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::uno::RuntimeException); |
| // <-- |
| //====== XAccessibleTextSelection ====================================== |
| virtual sal_Bool SAL_CALL scrollToPosition( const ::com::sun::star::awt::Point& aPoint, sal_Bool isLeftTop ) |
| throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getSelectedPortionCount( ) |
| throw (::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getSeletedPositionStart( sal_Int32 nSelectedPortionIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL getSeletedPositionEnd( sal_Int32 nSelectedPortionIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Bool SAL_CALL removeSelection( sal_Int32 selectionIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| virtual sal_Int32 SAL_CALL addSelection( sal_Int32 selectionIndex, sal_Int32 startOffset, sal_Int32 endOffset) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| //===== XAccessibleExtendedAttributes ============================================== |
| virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes() |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException) ; |
| sal_Bool GetSelectionAtIndex(sal_Int32& nIndex, sal_Int32& nStart, sal_Int32& nEnd); |
| sal_Int32 GetRealHeadingLevel(); |
| //===== XAccessibleComponent ============================================ |
| sal_Bool m_bLastHasSelection; |
| sal_Bool tabCharInWord(sal_Int32 nIndex, com::sun::star::i18n::Boundary& aBound); |
| // --> OD 2008-05-29 #i89175# |
| //===== XAccessibleMultiLineText ======================================== |
| virtual sal_Int32 SAL_CALL getLineNumberAtIndex( sal_Int32 nIndex ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL |
| getTextAtLineNumber( sal_Int32 nLineNo ) |
| throw (::com::sun::star::lang::IndexOutOfBoundsException, |
| ::com::sun::star::uno::RuntimeException); |
| |
| virtual ::com::sun::star::accessibility::TextSegment SAL_CALL |
| getTextAtLineWithCaret() |
| throw (::com::sun::star::uno::RuntimeException); |
| |
| virtual sal_Int32 SAL_CALL getNumberOfLineWithCaret() |
| throw (::com::sun::star::uno::RuntimeException); |
| // <-- |
| |
| // --> OD 2006-07-11 #i63870# |
| //===== XAccesibleTextAttributes ======================================== |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getDefaultAttributes( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRunAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); |
| // <-- |
| }; |
| |
| inline SwAccessibleParagraph::operator ::com::sun::star::accessibility::XAccessibleText *() |
| { |
| return static_cast< |
| ::com::sun::star::accessibility::XAccessibleEditableText * >( this ); |
| } |
| |
| #endif |
| |