Files
libreoffice/sw/source/core/access/accpara.hxx

479 lines
25 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes: Patches contributed by Oliver-Rainer Wittmann sw34bf06: #i117783# - Writer's implementation of XPagePrintable - apply print settings to new printing routines http://svn.apache.org/viewvc?view=revision&revision=1172115 sw34bf06: #o12311627# use <rtl_random> methods to create unique ids for list styles and list ids http://svn.apache.org/viewvc?view=revision&revision=1172112 sw34bf06 #i114725#,#i115828# - method <SwDoc::ClearDoc()> - clear list structures completely http://svn.apache.org/viewvc?view=revision&revision=1172122 i#118572 - remove ui string and help content regarding usage of Java Mail in Writer's Mail Merge as Java Mail is not used. http://svn.apache.org/viewvc?view=revision&revision=1197035 Patches contributed by Mathias Bauer cws mba34issues01: #i117718#: provide filter name in case storage of medium does not allow to detect one http://svn.apache.org/viewvc?view=revision&revision=1172350 cws mba34issues01: #i117721#: directly provide parameters retrieved from SfxMedium http://svn.apache.org/viewvc?view=revision&revision=1172353 gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1397315 cws mba34issues01: #i117723#: convert assertion into trace http://svn.apache.org/viewvc?view=revision&revision=1172355 cws mba34issues01: #i117699#: keep layout alive until swdoc dies http://svn.apache.org/viewvc?view=revision&revision=1172362 cws mba34issues01: #i117943#: missing color attributes in RTF clipboard http://svn.apache.org/viewvc?view=revision&revision=1172363 Patch contributed by Henning Brinkmann imported patch i#103878 http://svn.apache.org/viewvc?view=revision&revision=1172109 Patches contributed by Michael Stahl sw34bf06: #i117955#: WW8 export: disable storing of section breaks in endnotes http://svn.apache.org/viewvc?view=revision&revision=1172119 Patch contributed by imacat Fixed the Asian language work count. http://svn.apache.org/viewvc?view=revision&revision=1241345 Patch contributed by Pedro Giffuni i#20878 - Add comment with BZ issue for reference. http://svn.apache.org/viewvc?view=revision&revision=1244517 Patch contributed by Andre Fischer Do not add targets for junit tests when junit is disabled. http://svn.apache.org/viewvc?view=revision&revision=1241508 add writerperfect dependency.
2011-03-31 10:05:04 +02:00
/*
* 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>
2002-02-04 13:10:18 +00:00
class SwField;
class SwTextFrm;
class SwTextNode;
class SwPaM;
class SwAccessiblePortionData;
class SwAccessibleHyperTextData;
class SwRangeRedline;
class SwXTextPortion;
2011-01-30 04:19:53 +09:00
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;
2002-04-17 13:07:39 +00:00
class SwAccessibleParagraph :
2011-01-30 04:19:53 +09:00
public SwClient, // #i108125#
2002-04-17 13:07:39 +00:00
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
2002-02-04 13:10:18 +00:00
{
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;
2002-02-05 14:52:06 +00:00
// implementation for XAccessibleSelection
SwAccessibleSelectionHelper aSelectionHelper;
2011-01-30 04:19:53 +09:00
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
2011-01-30 04:19:53 +09:00
// #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)
2002-04-09 08:26:03 +00:00
{
if( nBegin > nEnd )
{
sal_Int32 nTmp = nBegin; nBegin = nEnd; nEnd = nTmp;
}
}
const SwRangeRedline* GetRedlineAtIndex( sal_Int32 nPos );
OUString GetFieldTypeNameAtIndex(sal_Int32 nIndex);
2011-01-30 04:19:53 +09:00
// #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.
2014-04-11 08:32:05 +02:00
// This derived class additionally sets MULTILINE(1), MULTISELECTABLE(+),
2002-07-10 15:53:35 +00:00
// 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;
2002-02-04 13:10:18 +00:00
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,
2002-05-22 10:48:43 +00:00
sal_Int32 nPos );
bool GetGlyphBoundary( com::sun::star::i18n::Boundary& rBound,
const OUString& rText,
2002-05-22 10:48:43 +00:00
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
2002-03-21 11:50:31 +00:00
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
2002-02-04 13:10:18 +00:00
// Return this object's description.
virtual OUString SAL_CALL
getAccessibleDescription()
throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
2002-02-04 13:10:18 +00:00
// Return the parents locale or throw exception if this object has no
// parent yet/anymore.
2002-02-04 13:10:18 +00:00
virtual ::com::sun::star::lang::Locale SAL_CALL
getLocale()
throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
2002-02-04 13:10:18 +00:00
// #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;
2002-02-04 13:10:18 +00:00
// XAccessibleComponent
2002-03-21 11:50:31 +00:00
virtual void SAL_CALL grabFocus()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
2011-01-30 04:19:53 +09:00
// #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;
2002-03-21 11:50:31 +00:00
// XServiceInfo
2002-02-04 13:10:18 +00:00
// Returns an identifier for the implementation of this object.
virtual OUString SAL_CALL
getImplementationName()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
2002-02-04 13:10:18 +00:00
// Return whether the specified service is supported by this class.
2002-02-04 13:10:18 +00:00
virtual sal_Bool SAL_CALL
supportsService (const OUString& sServiceName)
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
2002-02-04 13:10:18 +00:00
// 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
2002-04-24 13:36:48 +00:00
// (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;
2011-01-30 04:19:53 +09:00
// 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;
2011-01-30 04:19:53 +09:00
// #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;
2011-01-30 04:19:53 +09:00
// #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;
2011-01-30 04:19:53 +09:00
// #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;
2002-02-04 13:10:18 +00:00
};
inline SwAccessibleParagraph::operator ::com::sun::star::accessibility::XAccessibleText *()
{
return static_cast<
::com::sun::star::accessibility::XAccessibleEditableText * >( this );
}
2002-02-04 13:10:18 +00:00
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */