Files
libreoffice/sw/source/core/access/accpara.hxx
Christian Lohmaier ab465b90f6 bin/rename-sw-abbreviations.sh
renames the most annoying abbreviations in Writer (and partially
in the shared code too).

Change-Id: I9a62759138126c1537cc5c985ba05cf54d6132d9
2015-05-20 13:05:49 +02:00

479 lines
25 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
#ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCPARA_HXX
#define INCLUDED_SW_SOURCE_CORE_ACCESS_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 <accselectionhelper.hxx>
#include <calbck.hxx>
#include <unordered_map>
class SwField;
class SwTextFrm;
class SwTextNode;
class SwPaM;
class SwAccessiblePortionData;
class SwAccessibleHyperTextData;
class SwRangeRedline;
class SwXTextPortion;
class SwParaChangeTrackingInfo; //#i108125#
namespace com { namespace sun { namespace star {
namespace i18n { struct Boundary; }
namespace accessibility { class XAccessibleHyperlink; }
namespace style { struct TabStop; }
} } }
typedef std::unordered_map< OUString,
::com::sun::star::beans::PropertyValue,
OUStringHash,
::std::equal_to< OUString > > tAccParaPropValMap;
class SwAccessibleParagraph :
public SwClient, // #i108125#
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;
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)
bool bIsHeading; // protected by base classes mutex
sal_Int32 nHeadingLevel;
// implementation for XAccessibleSelection
SwAccessibleSelectionHelper aSelectionHelper;
SwParaChangeTrackingInfo* mpParaChangeTrackInfo; // #i108125#
/// get the SwTextNode (requires frame; check before)
const SwTextNode* GetTextNode() const;
/// get the (accessible) text string (requires frame; check before)
OUString GetString();
static 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
bool GetSelection(sal_Int32& nStart, sal_Int32& nEnd);
// helper for GetSelection and getCaretPosition
// #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?
static bool IsValidChar(sal_Int32 nPos, sal_Int32 nLength);
// does nPos point to a position? (may be behind the last character)
static bool IsValidPosition(sal_Int32 nPos, sal_Int32 nLength);
// is nBegin...nEnd a valid range? (nEnd points past the last character)
static bool IsValidRange(sal_Int32 nBegin, sal_Int32 nEnd, sal_Int32 nLength);
// Ensure ordered range (i.e. nBegin is smaller then nEnd)
static void OrderRange(sal_Int32& nBegin, sal_Int32& nEnd)
{
if( nBegin > nEnd )
{
sal_Int32 nTmp = nBegin; nBegin = nEnd; nEnd = nTmp;
}
}
const SwRangeRedline* GetRedlineAtIndex( sal_Int32 nPos );
OUString GetFieldTypeNameAtIndex(sal_Int32 nIndex);
// #i63870#
void _getDefaultAttributesImpl(
const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes,
tAccParaPropValMap& rDefAttrSeq,
const bool bOnlyCharAttrs = false );
void _getRunAttributesImpl(
const sal_Int32 nIndex,
const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes,
tAccParaPropValMap& rRunAttrSeq );
void _getSupplementalAttributesImpl(
const sal_Int32 nIndex,
const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes,
tAccParaPropValMap& rSupplementalAttrSeq );
void _correctValues(
const sal_Int32 nIndex,
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rValues );
public:
SwTOXSortTabBase* GetTOXSortTabBase();
bool IsHeading() const;
protected:
// Set states for getAccessibleStateSet.
// This derived class additionally sets MULTILINE(1), MULTISELECTABLE(+),
// FOCUSABLE(+) and FOCUSED(+)
virtual void GetStates( ::utl::AccessibleStateSetHelper& rStateSet ) SAL_OVERRIDE;
virtual void _InvalidateContent( bool bVisibleDataFired ) SAL_OVERRIDE;
virtual void _InvalidateCursorPos() SAL_OVERRIDE;
virtual void _InvalidateFocus() SAL_OVERRIDE;
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 necessary
SwAccessiblePortionData& GetPortionData()
throw( com::sun::star::uno::RuntimeException )
{
if( pPortionData == NULL )
UpdatePortionData();
return *pPortionData;
}
// determine if portion data is currently available
bool HasPortionData() { return (pPortionData != NULL); }
//helpers for word boundaries
bool GetCharBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
bool GetWordBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
bool GetSentenceBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
bool GetLineBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
static bool GetParagraphBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
bool GetAttributeBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
sal_Int32 nPos );
bool GetGlyphBoundary( com::sun::star::i18n::Boundary& rBound,
const 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.
bool GetTextBoundary( com::sun::star::i18n::Boundary& rBound,
const 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) SAL_OVERRIDE;
public:
SwAccessibleParagraph( SwAccessibleMap& rInitMap,
const SwTextFrm& rTextFrm );
inline operator ::com::sun::star::accessibility::XAccessibleText *();
virtual bool HasCursor() SAL_OVERRIDE; // 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() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XAccessibleContext
// Return this object's description.
virtual OUString SAL_CALL
getAccessibleDescription()
throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// Return the parents locale or throw exception if this object has no
// parent yet/anymore.
virtual ::com::sun::star::lang::Locale SAL_CALL
getLocale()
throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// #i27138# - paragraphs are in relation CONTENT_FLOWS_FROM and/or CONTENT_FLOWS_TO
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessibleRelationSet> SAL_CALL
getAccessibleRelationSet()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XAccessibleComponent
virtual void SAL_CALL grabFocus()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// #i71385#
virtual sal_Int32 SAL_CALL getForeground()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getBackground()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XServiceInfo
// Returns an identifier for the implementation of this object.
virtual OUString SAL_CALL
getImplementationName()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// Return whether the specified service is supported by this class.
virtual sal_Bool SAL_CALL
supportsService (const OUString& sServiceName)
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// Returns a list of all supported services. In this case that is just
// the AccessibleContext service.
virtual ::com::sun::star::uno::Sequence< OUString> SAL_CALL
getSupportedServiceNames()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// 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, std::exception) SAL_OVERRIDE;
virtual void SAL_CALL acquire( ) throw () SAL_OVERRIDE
{ SwAccessibleContext::acquire(); };
virtual void SAL_CALL release( ) throw () SAL_OVERRIDE
{ SwAccessibleContext::release(); };
// XTypeProvider
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XAccessibleText
virtual sal_Int32 SAL_CALL getCaretPosition()
throw (::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getCharacterCount( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getIndexAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual OUString SAL_CALL getSelectedText( )
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSelectionStart()
throw (::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSelectionEnd()
throw (::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual OUString SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XAccessibleEditableText
virtual sal_Bool SAL_CALL cutText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL pasteText( sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL deleteText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL insertText( const OUString& sText, sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL replaceText( sal_Int32 nStartIndex, sal_Int32 nEndIndex, const OUString& sReplacement ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL setText( const OUString& sText ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XAccessibleSelection
virtual void SAL_CALL selectAccessibleChild(
sal_Int32 nChildIndex )
throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL isAccessibleChildSelected(
sal_Int32 nChildIndex )
throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
virtual void SAL_CALL clearAccessibleSelection( )
throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
virtual void SAL_CALL selectAllAccessibleChildren( )
throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( )
throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
// 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, std::exception ) SAL_OVERRIDE;
// XAccessibleHypertext
virtual sal_Int32 SAL_CALL getHyperLinkCount()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// #i71360#
// XAccesibleTextMarkup
virtual sal_Int32 SAL_CALL getTextMarkupCount( sal_Int32 nTextMarkupType )
throw (::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
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, std::exception) SAL_OVERRIDE;
// 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, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSelectedPortionCount( )
throw (::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSeletedPositionStart( sal_Int32 nSelectedPortionIndex )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getSeletedPositionEnd( sal_Int32 nSelectedPortionIndex )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
virtual sal_Bool SAL_CALL removeSelection( sal_Int32 selectionIndex )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException,
std::exception) SAL_OVERRIDE;
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,
std::exception) SAL_OVERRIDE;
// XAccessibleExtendedAttributes
virtual ::com::sun::star::uno::Any SAL_CALL getExtendedAttributes()
throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE ;
bool GetSelectionAtIndex(sal_Int32& nIndex, sal_Int32& nStart, sal_Int32& nEnd);
sal_Int32 GetRealHeadingLevel();
// XAccessibleComponent
bool m_bLastHasSelection;
// #i89175#
// XAccessibleMultiLineText
virtual sal_Int32 SAL_CALL getLineNumberAtIndex( sal_Int32 nIndex )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::accessibility::TextSegment SAL_CALL
getTextAtLineNumber( sal_Int32 nLineNo )
throw (::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::accessibility::TextSegment SAL_CALL
getTextAtLineWithCaret()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual sal_Int32 SAL_CALL getNumberOfLineWithCaret()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// #i63870#
// XAccesibleTextAttributes
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getDefaultAttributes( const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRunAttributes( sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< OUString >& aRequestedAttributes ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
};
inline SwAccessibleParagraph::operator ::com::sun::star::accessibility::XAccessibleText *()
{
return static_cast<
::com::sun::star::accessibility::XAccessibleEditableText * >( this );
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */