28#include <com/sun/star/uno/Reference.hxx>
29#include <com/sun/star/accessibility/AccessibleScrollType.hpp>
30#include <com/sun/star/accessibility/XAccessible.hpp>
31#include <com/sun/star/accessibility/XAccessibleContext.hpp>
32#include <com/sun/star/accessibility/XAccessibleEditableText.hpp>
33#include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp>
34#include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
35#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
36#include <com/sun/star/accessibility/XAccessibleComponent.hpp>
46#include <unordered_map>
99 css::uno::WeakReference< css::accessibility::XAccessible >
const &
105 css::uno::Reference< css::accessibility::XAccessible >
const &
111 css::uno::WeakReference< css::accessibility::XAccessible >
119 css::accessibility::XAccessible,
120 css::accessibility::XAccessibleContext,
121 css::accessibility::XAccessibleComponent,
122 css::accessibility::XAccessibleEditableText,
123 css::accessibility::XAccessibleMultiLineText,
124 css::accessibility::XAccessibleTextAttributes,
136 Paragraphs::size_type nNumber);
148 void notifyEvent(::sal_Int16 nEventId, css::uno::Any
const & rOldValue,
149 css::uno::Any
const & rNewValue);
154 css::i18n::Boundary& rBoundary,
155 ::sal_Int32 nIndex )
override;
157 css::i18n::Boundary& rBoundary,
158 ::sal_Int32 nIndex )
override;
160 virtual css::uno::Reference< css::accessibility::XAccessibleContext >
165 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
168 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
180 css::uno::Reference< css::accessibility::XAccessibleRelationSet >
185 virtual css::lang::Locale SAL_CALL
getLocale()
override;
189 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
192 virtual css::awt::Rectangle SAL_CALL
getBounds()
override;
194 virtual css::awt::Point SAL_CALL
getLocation()
override;
198 virtual css::awt::Size SAL_CALL
getSize()
override;
200 virtual void SAL_CALL
grabFocus()
override;
210 virtual ::sal_Unicode SAL_CALL
getCharacter(::sal_Int32 nIndex)
override;
212 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
213 getCharacterAttributes(::sal_Int32 nIndex,
const css::uno::Sequence< OUString >& aRequestedAttributes )
override;
215 virtual css::awt::Rectangle SAL_CALL
220 virtual ::sal_Int32 SAL_CALL
230 ::sal_Int32 nEndIndex)
override;
232 virtual sal_Bool SAL_CALL
scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType)
override;
234 virtual OUString SAL_CALL
getText()
override;
236 virtual OUString SAL_CALL
getTextRange(::sal_Int32 nStartIndex,
237 ::sal_Int32 nEndIndex)
override;
239 virtual css::accessibility::TextSegment SAL_CALL
getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
240 virtual css::accessibility::TextSegment SAL_CALL
getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
241 virtual css::accessibility::TextSegment SAL_CALL
getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
244 ::sal_Int32 nEndIndex)
override;
247 ::sal_Int32 nEndIndex)
override;
252 ::sal_Int32 nEndIndex)
override;
255 ::sal_Int32 nIndex)
override;
258 ::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex,
259 OUString
const & rReplacement)
override;
262 ::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex,
263 css::uno::Sequence< css::beans::PropertyValue >
const &
264 rAttributeSet)
override;
268 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
271 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
272 getRunAttributes(::sal_Int32
Index,
const css::uno::Sequence< OUString >& RequestedAttributes)
override;
276 virtual css::accessibility::TextSegment SAL_CALL
getTextAtLineNumber( ::sal_Int32 nLineNo )
override;
284 css::accessibility::XAccessibleEventListener >
const & rListener)
override;
288 css::accessibility::XAccessibleEventListener >
const & rListener)
override;
290 virtual void SAL_CALL
disposing()
override;
297 ::sal_Int32 & rEndIndex)
override;
312typedef std::unordered_map< OUString,
321 const css::uno::Reference< css::accessibility::XAccessible >&
362 ::sal_Int32 * pBegin, ::sal_Int32 * pEnd);
387 css::awt::Point
const & rPoint);
396 Paragraph const * pParagraph, ::sal_Int32 nIndex,
397 const css::uno::Sequence< OUString >& aRequestedAttributes);
407 const css::uno::Sequence< OUString >& RequestedAttributes);
415 OUString
const & rText);
424 ::sal_Int32 nEnd,
bool bCut,
bool bPaste,
425 OUString
const & rText);
434 ::sal_Int32 nBegin, ::sal_Int32 nEnd);
443 Paragraph const * pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd,
444 css::uno::Sequence< css::beans::PropertyValue >
const &
454 ::sal_Int32 nBegin, ::sal_Int32 nEnd);
458 ::sal_Int32 nIndex, ::sal_Int32 *pLineNo);
462 ::sal_Int32 nIndex );
466 css::uno::Reference< css::accessibility::XAccessibleRelationSet >
472 virtual css::uno::Reference< css::accessibility::XAccessible >
477 virtual css::uno::Reference< css::accessibility::XAccessible >
485 virtual void SAL_CALL
disposing()
override;
502 static ::rtl::Reference< Paragraph >
508 css::uno::Reference< css::accessibility::XAccessible >
518 Paragraphs::iterator
const & rOldVisibleBegin,
519 Paragraphs::iterator
const & rOldVisibleEnd,
520 Paragraphs::iterator
const & rInserted);
525 bool bCut,
bool bPaste,
526 OUString
const & rText);
533 void sendEvent(::sal_Int32 start, ::sal_Int32 end, ::sal_Int16 nEventId);
539 static ::Color
mapFontColor(css::uno::Any
const & rColor);
543 static ::FontWeight
mapFontWeight(css::uno::Any
const & rWeight);
547 const css::uno::Sequence< OUString >& RequestedAttributes,
::sal_Int32 m_nViewOffset
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
css::uno::Sequence< css::beans::PropertyValue > retrieveCharacterAttributes(Paragraph const *pParagraph, ::sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes)
bool m_bSelectionChangedNotification
void notifyVisibleRangeChanges(Paragraphs::iterator const &rOldVisibleBegin, Paragraphs::iterator const &rOldVisibleEnd, Paragraphs::iterator const &rInserted)
::sal_Int32 m_nSelectionLastPos
void copyParagraphText(Paragraph const *pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd)
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(css::awt::Point const &rPoint) override
css::awt::Rectangle retrieveParagraphBounds(Paragraph const *pParagraph, bool bAbsolute)
virtual void Notify(::SfxBroadcaster &rBC, ::SfxHint const &rHint) override
SfxListenerGuard m_aEngineListener
Paragraphs::iterator m_aFocused
WindowListenerGuard m_aViewListener
::sal_Int32 m_nSelectionLastPara
void retrieveParagraphSelection(Paragraph const *pParagraph, ::sal_Int32 *pBegin, ::sal_Int32 *pEnd)
void retrieveRunAttributesImpl(Paragraph const *pParagraph, ::sal_Int32 Index, const css::uno::Sequence< OUString > &RequestedAttributes, tPropValMap &rRunAttrSeq)
static css::uno::Any mapFontColor(::Color const &rColor)
::sal_Int32 retrieveCharacterIndex(Paragraph const *pParagraph, css::awt::Point const &rPoint)
Paragraphs::iterator m_aVisibleBegin
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
void determineVisibleRange()
virtual ::sal_Int16 SAL_CALL getAccessibleRole() override
::sal_Int32 m_nSelectionFirstPos
::sal_Int64 retrieveParagraphState(Paragraph const *pParagraph)
void changeParagraphText(Paragraph const *pParagraph, OUString const &rText)
::sal_Int32 m_nViewHeight
::sal_Int32 retrieveParagraphIndex(Paragraph const *pParagraph)
void handleParagraphNotifications()
css::i18n::Boundary retrieveParagraphLineBoundary(Paragraph const *pParagraph, ::sal_Int32 nIndex, ::sal_Int32 *pLineNo)
virtual void SAL_CALL disposing() override
void changeParagraphSelection(Paragraph const *pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd)
virtual void FillAccessibleRelationSet(utl::AccessibleRelationSetHelper &rRelationSet) override
sal_Int32 retrieveParagraphLineWithCursor(Paragraph const *pParagraph)
const css::uno::Reference< css::accessibility::XAccessible > & getAccessible() const
void changeParagraphAttributes(Paragraph const *pParagraph, ::sal_Int32 nBegin, ::sal_Int32 nEnd, css::uno::Sequence< css::beans::PropertyValue > const &rAttributeSet)
static css::uno::Any mapFontWeight(::FontWeight nWeight)
void sendEvent(::sal_Int32 start, ::sal_Int32 end, ::sal_Int16 nEventId)
Paragraphs::iterator m_aVisibleEnd
css::uno::Sequence< css::beans::PropertyValue > retrieveRunAttributes(Paragraph const *pParagraph, ::sal_Int32 Index, const css::uno::Sequence< OUString > &RequestedAttributes)
virtual void FillAccessibleStateSet(sal_Int64 &rStateSet) override
DECL_LINK(WindowEventHandler, VclWindowEvent &, void)
css::awt::Rectangle retrieveCharacterBounds(Paragraph const *pParagraph, ::sal_Int32 nIndex)
::sal_Int32 m_nSelectionFirstPara
::sal_Int32 retrieveParagraphCaretPosition(Paragraph const *pParagraph)
css::lang::Locale retrieveLocale()
::sal_Int32 m_nVisibleBeginOffset
Document(::VCLXWindow *pVclXWindow, ::TextEngine &rEngine, ::TextView &rView)
static ::rtl::Reference< Paragraph > getParagraph(Paragraphs::iterator const &rIt)
std::unique_ptr< Paragraphs > m_xParagraphs
css::uno::Reference< css::accessibility::XAccessible > m_xAccessible
void handleSelectionChangeNotification()
css::i18n::Boundary retrieveParagraphBoundaryOfLine(Paragraph const *pParagraph, ::sal_Int32 nIndex)
css::uno::Reference< css::accessibility::XAccessibleRelationSet > retrieveParagraphRelationSet(Paragraph const *pParagraph)
OUString retrieveParagraphText(Paragraph const *pParagraph)
std::queue< ::TextHint > m_aParagraphNotifications
void setParagraph(css::uno::Reference< css::accessibility::XAccessible > const &rParagraph)
css::uno::WeakReference< css::accessibility::XAccessible > const & getParagraph() const
ParagraphInfo(::sal_Int32 nHeight)
void changeHeight(::sal_Int32 nHeight)
css::uno::WeakReference< css::accessibility::XAccessible > m_xParagraph
::sal_Int32 getHeight() const
virtual sal_Bool SAL_CALL deleteText(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex) override
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual sal_Bool SAL_CALL copyText(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex) override
virtual css::lang::Locale implGetLocale() override
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual ::sal_Int32 SAL_CALL getSelectionEnd() override
virtual ::sal_Unicode SAL_CALL getCharacter(::sal_Int32 nIndex) override
void numberChanged(bool bIncremented)
virtual OUString implGetText() override
virtual css::awt::Rectangle SAL_CALL getBounds() override
virtual sal_Bool SAL_CALL setCaretPosition(::sal_Int32 nIndex) override
virtual ::sal_Int32 SAL_CALL getNumberOfLineWithCaret() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual ::sal_Int32 SAL_CALL getCaretPosition() override
virtual void SAL_CALL addAccessibleEventListener(css::uno::Reference< css::accessibility::XAccessibleEventListener > const &rListener) override
virtual css::lang::Locale SAL_CALL getLocale() override
virtual void implGetLineBoundary(const OUString &rText, css::i18n::Boundary &rBoundary, ::sal_Int32 nIndex) override
Paragraphs::size_type getNumber() const
virtual void SAL_CALL grabFocus() override
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Bool SAL_CALL setText(OUString const &rText) override
sal_uInt32 m_nClientId
client id in the AccessibleEventNotifier queue
virtual sal_Bool SAL_CALL replaceText(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex, OUString const &rReplacement) override
Paragraphs::size_type m_nNumber
virtual ::sal_Int32 SAL_CALL getIndexAtPoint(css::awt::Point const &rPoint) override
virtual void implGetParagraphBoundary(const OUString &rText, css::i18n::Boundary &rBoundary, ::sal_Int32 nIndex) override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual sal_Bool SAL_CALL containsPoint(css::awt::Point const &rPoint) override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
OUString m_aParagraphText
virtual css::awt::Size SAL_CALL getSize() override
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(::sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
virtual sal_Bool SAL_CALL setAttributes(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex, css::uno::Sequence< css::beans::PropertyValue > const &rAttributeSet) override
virtual void implGetSelection(::sal_Int32 &rStartIndex, ::sal_Int32 &rEndIndex) override
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(::sal_Int32 nIndex) override
virtual ::sal_Int32 SAL_CALL getLineNumberAtIndex(::sal_Int32 nIndex) override
virtual ::sal_Int32 SAL_CALL getCharacterCount() override
virtual sal_Bool SAL_CALL cutText(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex) override
virtual css::awt::Point SAL_CALL getLocation() override
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
virtual OUString SAL_CALL getText() override
virtual sal_Bool SAL_CALL insertText(OUString const &rText, ::sal_Int32 nIndex) override
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getDefaultAttributes(const css::uno::Sequence< OUString > &RequestedAttributes) override
virtual sal_Bool SAL_CALL pasteText(::sal_Int32 nIndex) override
virtual ::sal_Int32 SAL_CALL getSelectionStart() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual OUString SAL_CALL getAccessibleName() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(css::awt::Point const &rPoint) override
virtual void SAL_CALL removeAccessibleEventListener(css::uno::Reference< css::accessibility::XAccessibleEventListener > const &rListener) override
::rtl::Reference< Document > m_xDocument
virtual OUString SAL_CALL getTextRange(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex) override
virtual ::sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::accessibility::TextSegment SAL_CALL getTextAtLineWithCaret() override
virtual OUString SAL_CALL getSelectedText() override
virtual sal_Bool SAL_CALL setSelection(::sal_Int32 nStartIndex, ::sal_Int32 nEndIndex) override
virtual OUString SAL_CALL getAccessibleDescription() override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRunAttributes(::sal_Int32 Index, const css::uno::Sequence< OUString > &RequestedAttributes) override
virtual css::accessibility::TextSegment SAL_CALL getTextAtLineNumber(::sal_Int32 nLineNo) override
void notifyEvent(::sal_Int16 nEventId, css::uno::Any const &rOldValue, css::uno::Any const &rNewValue)
Paragraph(::rtl::Reference< Document > xDocument, Paragraphs::size_type nNumber)
virtual void SAL_CALL disposing() override
void startListening(::SfxBroadcaster &rNotifier)
SfxListenerGuard(::SfxListener &rListener)
::SfxListener & m_rListener
::SfxBroadcaster * m_pNotifier
WindowListenerGuard(::Link< VclWindowEvent &, void > const &rListener)
void startListening(vcl::Window &rNotifier)
VclPtr< vcl::Window > m_pNotifier
::Link< VclWindowEvent &, void > m_aListener
std::vector< ParagraphInfo > Paragraphs
::cppu::WeakAggComponentImplHelper7< css::accessibility::XAccessible, css::accessibility::XAccessibleContext, css::accessibility::XAccessibleComponent, css::accessibility::XAccessibleEditableText, css::accessibility::XAccessibleMultiLineText, css::accessibility::XAccessibleTextAttributes, css::accessibility::XAccessibleEventBroadcaster > ParagraphBase
std::unordered_map< OUString, css::beans::PropertyValue > tPropValMap