LibreOffice Module sw (master) 1
accpara.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCPARA_HXX
20#define INCLUDED_SW_SOURCE_CORE_ACCESS_ACCPARA_HXX
21
22#include "acccontext.hxx"
23#include <com/sun/star/accessibility/AccessibleScrollType.hpp>
24#include <com/sun/star/accessibility/XAccessibleEditableText.hpp>
25#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
26#include <com/sun/star/accessibility/XAccessibleHypertext.hpp>
27#include <com/sun/star/accessibility/XAccessibleTextMarkup.hpp>
28#include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp>
29#include <com/sun/star/accessibility/XAccessibleTextSelection.hpp>
30#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
31#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
33#include <unordered_map>
34#include <svl/lstner.hxx>
35
36class SwTextFrame;
37class SwPaM;
40class SwRangeRedline;
41class SwXTextPortion;
42class SwParaChangeTrackingInfo; //#i108125#
43
44namespace com::sun::star {
45 namespace i18n { struct Boundary; }
46 namespace accessibility { class XAccessibleHyperlink; }
47 namespace style { struct TabStop; }
48}
49
50typedef std::unordered_map< OUString,
51 css::beans::PropertyValue > tAccParaPropValMap;
52
54 public SfxListener,
56 public css::accessibility::XAccessibleEditableText,
57 public css::accessibility::XAccessibleSelection,
58 public css::accessibility::XAccessibleHypertext,
59 public css::accessibility::XAccessibleTextMarkup,
60 public css::accessibility::XAccessibleMultiLineText,
61 public css::accessibility::XAccessibleTextAttributes,
62 public css::accessibility::XAccessibleTextSelection,
63 public css::accessibility::XAccessibleExtendedAttributes
64{
66
67 OUString m_sDesc; // protected by base classes mutex
68
69 // data for this paragraph's text portions; this contains the
70 // mapping from the core 'model string' to the accessible text
71 // string.
72 // pPortionData may be NULL; it should only be accessed through the
73 // Get/Clear/Has/UpdatePortionData() methods
74 std::unique_ptr<SwAccessiblePortionData> m_pPortionData;
75 std::unique_ptr<SwAccessibleHyperTextData> m_pHyperTextData;
76
77 sal_Int32 m_nOldCaretPos; // The 'old' caret pos. It's only valid as long
78 // as the cursor is inside this object (protected by
79 // mutex)
80
81 bool m_bIsHeading; // protected by base classes mutex
82 sal_Int32 m_nHeadingLevel;
83
84 // implementation for XAccessibleSelection
86
87 std::unique_ptr<SwParaChangeTrackingInfo> mpParaChangeTrackInfo; // #i108125#
88
89 // XAccessibleComponent
91
93 OUString const & GetString();
94
95 static OUString GetDescription();
96
97 // get the current care position
98 sal_Int32 GetCaretPos();
99
100 // determine the current selection. Fill the values with
101 // -1 if there is no selection in the this paragraph
102 // @param pSelection (optional) check only Nth selection in ring
103 bool GetSelectionAtIndex(sal_Int32 * pSelection, sal_Int32& nStart, sal_Int32& nEnd);
104 bool GetSelection(sal_Int32& nStart, sal_Int32& nEnd) {
105 return GetSelectionAtIndex(nullptr, nStart, nEnd);
106 }
107
108 // helper for GetSelection and getCaretPosition
109 // #i27301# - add parameter <_bForSelection>, which indicates,
110 // if the cursor is retrieved for selection or for caret position.
111 SwPaM* GetCursor( const bool _bForSelection );
112
113 // for cut/copy/paste: execute a particular slot at the view shell
114 void ExecuteAtViewShell( sal_uInt16 nSlot );
115
116 // helper method for get/setAttributes
117 // (for the special case of (nEndIndex==-1) a single character will
118 // be selected)
119 rtl::Reference<SwXTextPortion> CreateUnoPortion( sal_Int32 nStart, sal_Int32 nEnd );
120
121 // methods for checking the parameter range:
122
123 // does nPos point to a char?
124 static bool IsValidChar(sal_Int32 nPos, sal_Int32 nLength);
125
126 // does nPos point to a position? (may be behind the last character)
127 static bool IsValidPosition(sal_Int32 nPos, sal_Int32 nLength);
128
129 // is nBegin...nEnd a valid range? (nEnd points past the last character)
130 static bool IsValidRange(sal_Int32 nBegin, sal_Int32 nEnd, sal_Int32 nLength);
131
132 // Ensure ordered range (i.e. nBegin is smaller then nEnd)
133 static void OrderRange(sal_Int32& nBegin, sal_Int32& nEnd)
134 {
135 if( nBegin > nEnd )
136 std::swap( nBegin, nEnd );
137 }
138
140 OUString GetFieldTypeNameAtIndex(sal_Int32 nIndex);
141
142 // #i63870#
144 const css::uno::Sequence< OUString >& aRequestedAttributes,
145 tAccParaPropValMap& rDefAttrSeq,
146 const bool bOnlyCharAttrs = false );
148 const sal_Int32 nIndex,
149 const css::uno::Sequence< OUString >& aRequestedAttributes,
150 tAccParaPropValMap& rRunAttrSeq );
151
153 const css::uno::Sequence< OUString >& aRequestedAttributes,
154 tAccParaPropValMap& rSupplementalAttrSeq );
155
156 void _correctValues(
157 const sal_Int32 nIndex,
158 std::vector< css::beans::PropertyValue >& rValues );
159
160public:
161 bool IsHeading() const;
162
163protected:
164
165 // Set states for getAccessibleStateSet.
166 // This derived class additionally sets MULTILINE(1), MULTISELECTABLE(+),
167 // FOCUSABLE(+) and FOCUSED(+)
168 virtual void GetStates( sal_Int64& rStateSet ) override;
169
170 virtual void InvalidateContent_( bool bVisibleDataFired ) override;
171
172 virtual void InvalidateCursorPos_() override;
173 virtual void InvalidateFocus_() override;
174
175 virtual ~SwAccessibleParagraph() override;
176
177 // handling of data for the text portions
178
179 // force update of new portion data
181 void UpdatePortionData();
182
183 // remove the current portion data
184 void ClearPortionData();
185
186 // get portion data; update if necessary
189 {
190 if( m_pPortionData == nullptr )
192 return *m_pPortionData;
193 }
194
195 //helpers for word boundaries
196
197 bool GetCharBoundary( css::i18n::Boundary& rBound,
198 sal_Int32 nPos );
199 bool GetWordBoundary( css::i18n::Boundary& rBound,
200 const OUString& rText,
201 sal_Int32 nPos );
202 bool GetSentenceBoundary( css::i18n::Boundary& rBound,
203 const OUString& rText,
204 sal_Int32 nPos );
205 bool GetLineBoundary( css::i18n::Boundary& rBound,
206 std::u16string_view aText,
207 sal_Int32 nPos );
208 static bool GetParagraphBoundary( css::i18n::Boundary& rBound,
209 std::u16string_view aText );
210 bool GetAttributeBoundary( css::i18n::Boundary& rBound,
211 sal_Int32 nPos );
212 bool GetGlyphBoundary( css::i18n::Boundary& rBound,
213 const OUString& rText,
214 sal_Int32 nPos );
215
216 // get boundaries of word/sentence/etc. for specified text type
217 // Does all argument checking, and then delegates to helper methods above.
221 bool GetTextBoundary( css::i18n::Boundary& rBound,
222 const OUString& rText,
223 sal_Int32 nPos,
224 sal_Int16 aTextType );
225
226 virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
227
228public:
229
230 SwAccessibleParagraph( std::shared_ptr<SwAccessibleMap> const& pInitMap,
231 const SwTextFrame& rTextFrame );
232
233 inline operator css::accessibility::XAccessibleText *();
234
235 virtual bool HasCursor() override; // required by map to remember that object
236
237 css::uno::Sequence< css::style::TabStop > GetCurrentTabStop( sal_Int32 nIndex );
238 virtual sal_Int16 SAL_CALL getAccessibleRole() override;
239
240 // XAccessibleContext
241
242 // Return this object's description.
243 virtual OUString SAL_CALL
244 getAccessibleDescription() override;
245
246 // Return the parents locale or throw exception if this object has no
247 // parent yet/anymore.
248 virtual css::lang::Locale SAL_CALL
249 getLocale() override;
250
251 // #i27138# - paragraphs are in relation CONTENT_FLOWS_FROM and/or CONTENT_FLOWS_TO
252 virtual css::uno::Reference<
253 css::accessibility::XAccessibleRelationSet> SAL_CALL
254 getAccessibleRelationSet() override;
255
256 // XAccessibleComponent
257
258 virtual void SAL_CALL grabFocus() override;
259 // #i71385#
260 virtual sal_Int32 SAL_CALL getForeground() override;
261 virtual sal_Int32 SAL_CALL getBackground() override;
262
263 // XServiceInfo
264
265 // Returns an identifier for the implementation of this object.
266 virtual OUString SAL_CALL
267 getImplementationName() override;
268
269 // Return whether the specified service is supported by this class.
270 virtual sal_Bool SAL_CALL
271 supportsService (const OUString& sServiceName) override;
272
273 // Returns a list of all supported services. In this case that is just
274 // the AccessibleContext service.
275 virtual css::uno::Sequence< OUString> SAL_CALL
276 getSupportedServiceNames() override;
277
278 // XInterface
279
280 // (XInterface methods need to be implemented to disambiguate
281 // between those inherited through SwAccessibleContext and
282 // XAccessibleEditableText).
283
284 virtual css::uno::Any SAL_CALL queryInterface(
285 const css::uno::Type& aType ) override;
286
287 virtual void SAL_CALL acquire( ) noexcept override
288 { SwAccessibleContext::acquire(); };
289
290 virtual void SAL_CALL release( ) noexcept override
291 { SwAccessibleContext::release(); };
292
293 // XTypeProvider
294 virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
295 virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override;
296
297 // XAccessibleText
298 virtual sal_Int32 SAL_CALL getCaretPosition() override;
299 virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) override;
300 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) override;
301 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) override;
302 virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) override;
303 virtual sal_Int32 SAL_CALL getCharacterCount( ) override;
304 virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& aPoint ) override;
305 virtual OUString SAL_CALL getSelectedText( ) override;
306 virtual sal_Int32 SAL_CALL getSelectionStart() override;
307 virtual sal_Int32 SAL_CALL getSelectionEnd() override;
308 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
309 virtual OUString SAL_CALL getText( ) override;
310 virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
311 virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
312 virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
313 virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
314 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
315 virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override;
316
317 // XAccessibleEditableText
318 virtual sal_Bool SAL_CALL cutText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
319 virtual sal_Bool SAL_CALL pasteText( sal_Int32 nIndex ) override;
320 virtual sal_Bool SAL_CALL deleteText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
321 virtual sal_Bool SAL_CALL insertText( const OUString& sText, sal_Int32 nIndex ) override;
322 virtual sal_Bool SAL_CALL replaceText( sal_Int32 nStartIndex, sal_Int32 nEndIndex, const OUString& sReplacement ) override;
323 virtual sal_Bool SAL_CALL setAttributes( sal_Int32 nStartIndex, sal_Int32 nEndIndex, const css::uno::Sequence< css::beans::PropertyValue >& aAttributeSet ) override;
324 virtual sal_Bool SAL_CALL setText( const OUString& sText ) override;
325
326 // XAccessibleSelection
327 virtual void SAL_CALL selectAccessibleChild(
328 sal_Int64 nChildIndex ) override;
329
330 virtual sal_Bool SAL_CALL isAccessibleChildSelected(
331 sal_Int64 nChildIndex ) override;
332 virtual void SAL_CALL clearAccessibleSelection( ) override;
333 virtual void SAL_CALL selectAllAccessibleChildren( ) override;
334 virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount( ) override;
335 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(
336 sal_Int64 nSelectedChildIndex ) override;
337
338 // index has to be treated as global child index.
339 virtual void SAL_CALL deselectAccessibleChild(
340 sal_Int64 nChildIndex ) override;
341
342 // XAccessibleHypertext
343 virtual sal_Int32 SAL_CALL getHyperLinkCount() override;
344 virtual css::uno::Reference<
345 css::accessibility::XAccessibleHyperlink >
346 SAL_CALL getHyperLink( sal_Int32 nLinkIndex ) override;
347 virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex ) override;
348
349 // #i71360#
350 // XAccessibleTextMarkup
351 virtual sal_Int32 SAL_CALL getTextMarkupCount( sal_Int32 nTextMarkupType ) override;
352
353 virtual css::accessibility::TextSegment SAL_CALL
354 getTextMarkup( sal_Int32 nTextMarkupIndex,
355 sal_Int32 nTextMarkupType ) override;
356
357 virtual css::uno::Sequence< css::accessibility::TextSegment > SAL_CALL
358 getTextMarkupAtIndex( sal_Int32 nCharIndex,
359 sal_Int32 nTextMarkupType ) override;
360
361 // XAccessibleTextSelection
362 virtual sal_Bool SAL_CALL scrollToPosition( const css::awt::Point& aPoint, sal_Bool isLeftTop ) override;
363 virtual sal_Int32 SAL_CALL getSelectedPortionCount( ) override;
364 virtual sal_Int32 SAL_CALL getSeletedPositionStart( sal_Int32 nSelectedPortionIndex ) override;
365 virtual sal_Int32 SAL_CALL getSeletedPositionEnd( sal_Int32 nSelectedPortionIndex ) override;
366 virtual sal_Bool SAL_CALL removeSelection( sal_Int32 selectionIndex ) override;
367 virtual sal_Int32 SAL_CALL addSelection( sal_Int32 selectionIndex, sal_Int32 startOffset, sal_Int32 endOffset) override;
368 // XAccessibleExtendedAttributes
369 virtual css::uno::Any SAL_CALL getExtendedAttributes() override ;
370 sal_Int32 GetRealHeadingLevel();
371
372 // #i89175#
373 // XAccessibleMultiLineText
374 virtual sal_Int32 SAL_CALL getLineNumberAtIndex( sal_Int32 nIndex ) override;
375
376 virtual css::accessibility::TextSegment SAL_CALL
377 getTextAtLineNumber( sal_Int32 nLineNo ) override;
378
379 virtual css::accessibility::TextSegment SAL_CALL
380 getTextAtLineWithCaret() override;
381
382 virtual sal_Int32 SAL_CALL getNumberOfLineWithCaret() override;
383
384 // #i63870#
385 // XAccessibleTextAttributes
386 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getDefaultAttributes( const css::uno::Sequence< OUString >& aRequestedAttributes ) override;
387 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRunAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) override;
388};
389
390inline SwAccessibleParagraph::operator css::accessibility::XAccessibleText *()
391{
392 return static_cast< css::accessibility::XAccessibleEditableText * >( this );
393}
394
395#endif
396
397/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
constexpr OUStringLiteral sServiceName
Definition: accdoc.cxx:54
std::unordered_map< OUString, css::beans::PropertyValue > tAccParaPropValMap
Definition: accpara.hxx:51
virtual sal_Int32 SAL_CALL getSelectedPortionCount() override
Definition: accpara.cxx:2955
bool GetWordBoundary(css::i18n::Boundary &rBound, const OUString &rText, sal_Int32 nPos)
Definition: accpara.cxx:551
std::unique_ptr< SwParaChangeTrackingInfo > mpParaChangeTrackInfo
Definition: accpara.hxx:87
virtual sal_Int32 SAL_CALL getForeground() override
Definition: accpara.cxx:830
virtual sal_Bool SAL_CALL setText(const OUString &sText) override
Definition: accpara.cxx:2689
virtual sal_Bool SAL_CALL insertText(const OUString &sText, sal_Int32 nIndex) override
Definition: accpara.cxx:2581
bool IsHeading() const
Definition: accpara.cxx:209
static bool IsValidRange(sal_Int32 nBegin, sal_Int32 nEnd, sal_Int32 nLength)
Definition: accpara.cxx:517
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
Definition: accpara.cxx:2299
std::unique_ptr< SwAccessiblePortionData > m_pPortionData
Definition: accpara.hxx:74
sal_Int32 m_nHeadingLevel
Definition: accpara.hxx:82
virtual css::uno::Any SAL_CALL getExtendedAttributes() override
Definition: accpara.cxx:3516
static void OrderRange(sal_Int32 &nBegin, sal_Int32 &nEnd)
Definition: accpara.hxx:133
virtual void GetStates(sal_Int64 &rStateSet) override
Definition: accpara.cxx:216
static OUString GetDescription()
Definition: accpara.cxx:123
virtual void InvalidateContent_(bool bVisibleDataFired) override
Definition: accpara.cxx:247
virtual sal_Bool SAL_CALL scrollToPosition(const css::awt::Point &aPoint, sal_Bool isLeftTop) override
Definition: accpara.cxx:2950
bool GetCharBoundary(css::i18n::Boundary &rBound, sal_Int32 nPos)
Definition: accpara.cxx:539
static bool GetParagraphBoundary(css::i18n::Boundary &rBound, std::u16string_view aText)
Definition: accpara.cxx:600
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int64 nSelectedChildIndex) override
Definition: accpara.cxx:2731
OUString GetFieldTypeNameAtIndex(sal_Int32 nIndex)
Definition: accpara.cxx:1159
virtual sal_Bool SAL_CALL cutText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Definition: accpara.cxx:2546
virtual sal_Int32 SAL_CALL getSelectionStart() override
Definition: accpara.cxx:2182
rtl::Reference< SwXTextPortion > CreateUnoPortion(sal_Int32 nStart, sal_Int32 nEnd)
Definition: accpara.cxx:477
virtual void InvalidateCursorPos_() override
Definition: accpara.cxx:329
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
Definition: accpara.cxx:1028
virtual sal_Int32 SAL_CALL addSelection(sal_Int32 selectionIndex, sal_Int32 startOffset, sal_Int32 endOffset) override
Definition: accpara.cxx:3085
css::uno::Sequence< css::style::TabStop > GetCurrentTabStop(sal_Int32 nIndex)
Definition: accpara.cxx:1075
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
Definition: accpara.cxx:729
virtual sal_Bool SAL_CALL replaceText(sal_Int32 nStartIndex, sal_Int32 nEndIndex, const OUString &sReplacement) override
Definition: accpara.cxx:2586
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int64 nChildIndex) override
Definition: accpara.cxx:2704
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
Definition: accpara.cxx:1328
virtual sal_Int32 SAL_CALL getBackground() override
Definition: accpara.cxx:851
bool GetSentenceBoundary(css::i18n::Boundary &rBound, const OUString &rText, sal_Int32 nPos)
Definition: accpara.cxx:575
virtual sal_Int32 SAL_CALL getLineNumberAtIndex(sal_Int32 nIndex) override
Definition: accpara.cxx:3212
std::unique_ptr< SwAccessibleHyperTextData > m_pHyperTextData
Definition: accpara.hxx:75
virtual sal_Bool SAL_CALL pasteText(sal_Int32 nIndex) override
Definition: accpara.cxx:2561
void ExecuteAtViewShell(sal_uInt16 nSlot)
Definition: accpara.cxx:452
virtual OUString SAL_CALL getText() override
Definition: accpara.cxx:2238
SwAccessibleSelectionHelper m_aSelectionHelper
Definition: accpara.hxx:85
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
Definition: accpara.cxx:2370
static bool IsValidPosition(sal_Int32 nPos, sal_Int32 nLength)
Definition: accpara.cxx:511
virtual bool HasCursor() override
Definition: accpara.cxx:425
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
Definition: accpara.cxx:2479
bool GetGlyphBoundary(css::i18n::Boundary &rBound, const OUString &rText, sal_Int32 nPos)
Definition: accpara.cxx:617
virtual sal_Bool SAL_CALL setAttributes(sal_Int32 nStartIndex, sal_Int32 nEndIndex, const css::uno::Sequence< css::beans::PropertyValue > &aAttributeSet) override
Definition: accpara.cxx:2632
SwAccessiblePortionData & GetPortionData()
Definition: accpara.hxx:188
virtual OUString SAL_CALL getAccessibleDescription() override
Definition: accpara.cxx:700
sal_Int32 m_nOldCaretPos
Definition: accpara.hxx:77
sal_Int32 GetRealHeadingLevel()
Definition: accpara.cxx:3495
virtual css::lang::Locale SAL_CALL getLocale() override
Return the parents locale or throw exception if this object has no parent yet/anymore.
Definition: accpara.cxx:713
virtual css::accessibility::TextSegment SAL_CALL getTextAtLineNumber(sal_Int32 nLineNo) override
Definition: accpara.cxx:3228
virtual void SAL_CALL clearAccessibleSelection() override
Definition: accpara.cxx:2712
SwPaM * GetCursor(const bool _bForSelection)
Definition: accpara.cxx:186
virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override
Definition: accpara.cxx:2724
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Definition: accpara.cxx:2247
SwAccessibleParagraph(std::shared_ptr< SwAccessibleMap > const &pInitMap, const SwTextFrame &rTextFrame)
Definition: accpara.cxx:396
virtual ~SwAccessibleParagraph() override
Definition: accpara.cxx:415
static bool IsValidChar(sal_Int32 nPos, sal_Int32 nLength)
Definition: accpara.cxx:505
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getDefaultAttributes(const css::uno::Sequence< OUString > &aRequestedAttributes) override
Definition: accpara.cxx:1587
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
Definition: accpara.cxx:2027
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: accpara.cxx:876
virtual OUString SAL_CALL getImplementationName() override
Definition: accpara.cxx:865
virtual void SAL_CALL deselectAccessibleChild(sal_Int64 nChildIndex) override
Definition: accpara.cxx:2740
virtual sal_Int32 SAL_CALL getHyperLinkCount() override
Definition: accpara.cxx:2810
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
Definition: accpara.cxx:3325
bool GetAttributeBoundary(css::i18n::Boundary &rBound, sal_Int32 nPos)
Definition: accpara.cxx:609
virtual sal_Int16 SAL_CALL getAccessibleRole() override
Definition: accpara.cxx:3479
OUString const & GetString()
get the (accessible) text string (requires frame; check before)
Definition: accpara.cxx:118
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Definition: accpara.cxx:2204
virtual css::uno::Sequence< css::accessibility::TextSegment > SAL_CALL getTextMarkupAtIndex(sal_Int32 nCharIndex, sal_Int32 nTextMarkupType) override
Definition: accpara.cxx:3177
virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink > SAL_CALL getHyperLink(sal_Int32 nLinkIndex) override
Definition: accpara.cxx:2828
virtual sal_Int32 SAL_CALL getSeletedPositionEnd(sal_Int32 nSelectedPortionIndex) override
Definition: accpara.cxx:3011
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Definition: accpara.cxx:2467
bool GetLineBoundary(css::i18n::Boundary &rBound, std::u16string_view aText, sal_Int32 nPos)
Definition: accpara.cxx:588
virtual sal_Int32 SAL_CALL getSeletedPositionStart(sal_Int32 nSelectedPortionIndex) override
Definition: accpara.cxx:3000
sal_Int32 GetCaretPos()
Definition: accpara.cxx:128
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
Definition: accpara.cxx:924
virtual sal_Int32 SAL_CALL getNumberOfLineWithCaret() override
Definition: accpara.cxx:3267
const SwRangeRedline * GetRedlineAtIndex()
Definition: accpara.cxx:524
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
Definition: accpara.cxx:1000
virtual sal_Int32 SAL_CALL getTextMarkupCount(sal_Int32 nTextMarkupType) override
Definition: accpara.cxx:2923
virtual void SAL_CALL grabFocus() override
Definition: accpara.cxx:764
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRunAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
Definition: accpara.cxx:1722
void _getRunAttributesImpl(const sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes, tAccParaPropValMap &rRunAttrSeq)
Definition: accpara.cxx:1625
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: accpara.cxx:986
virtual sal_Bool SAL_CALL supportsService(const OUString &sServiceName) override
Return whether the specified service is supported by this class.
Definition: accpara.cxx:870
virtual void SAL_CALL selectAccessibleChild(sal_Int64 nChildIndex) override
Definition: accpara.cxx:2696
void _getDefaultAttributesImpl(const css::uno::Sequence< OUString > &aRequestedAttributes, tAccParaPropValMap &rDefAttrSeq, const bool bOnlyCharAttrs=false)
Definition: accpara.cxx:1436
virtual css::accessibility::TextSegment SAL_CALL getTextMarkup(sal_Int32 nTextMarkupIndex, sal_Int32 nTextMarkupType) override
Definition: accpara.cxx:3149
virtual sal_Bool SAL_CALL deleteText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Definition: accpara.cxx:2576
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &aPoint) override
Definition: accpara.cxx:2093
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
Definition: accpara.cxx:1060
virtual css::accessibility::TextSegment SAL_CALL getTextAtLineWithCaret() override
Definition: accpara.cxx:3252
void _correctValues(const sal_Int32 nIndex, std::vector< css::beans::PropertyValue > &rValues)
Definition: accpara.cxx:1799
virtual OUString SAL_CALL getSelectedText() override
Definition: accpara.cxx:2169
virtual void SAL_CALL selectAllAccessibleChildren() override
Definition: accpara.cxx:2717
virtual void SAL_CALL acquire() noexcept override
Definition: accpara.hxx:287
virtual void InvalidateFocus_() override
Definition: accpara.cxx:379
virtual sal_Int32 SAL_CALL getCaretPosition() override
Definition: accpara.cxx:1007
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
Definition: accpara.cxx:2263
bool GetTextBoundary(css::i18n::Boundary &rBound, const OUString &rText, sal_Int32 nPos, sal_Int16 aTextType)
Definition: accpara.cxx:645
virtual void SAL_CALL release() noexcept override
Definition: accpara.hxx:290
virtual sal_Bool SAL_CALL removeSelection(sal_Int32 selectionIndex) override
Definition: accpara.cxx:3022
bool GetSelectionAtIndex(sal_Int32 *pSelection, sal_Int32 &nStart, sal_Int32 &nEnd)
Definition: accpara.cxx:3330
virtual sal_Int32 SAL_CALL getSelectionEnd() override
Definition: accpara.cxx:2193
virtual sal_Int32 SAL_CALL getHyperLinkIndex(sal_Int32 nCharIndex) override
Definition: accpara.cxx:2883
bool GetSelection(sal_Int32 &nStart, sal_Int32 &nEnd)
Definition: accpara.hxx:104
void _getSupplementalAttributesImpl(const css::uno::Sequence< OUString > &aRequestedAttributes, tAccParaPropValMap &rSupplementalAttrSeq)
Definition: accpara.cxx:1744
virtual sal_Int32 SAL_CALL getCharacterCount() override
Definition: accpara.cxx:2084
collect text portion data from the layout through SwPortionHandler interface
Definition: accportions.hxx:40
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:187
Represents the visualization of a paragraph.
Definition: txtfrm.hxx:165
unsigned char sal_Bool
sal_uInt16 sal_Unicode