Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwindowsuiatextrangeprovider.h
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QWINDOWSUIATEXTRANGEPROVIDER_H
6#define QWINDOWSUIATEXTRANGEPROVIDER_H
7
8#include <QtGui/qtguiglobal.h>
9#if QT_CONFIG(accessibility)
10
11#include "qwindowsuiabaseprovider.h"
12
13QT_BEGIN_NAMESPACE
14
15// Implements the Text Range control pattern provider. Used for text controls.
16class QWindowsUiaTextRangeProvider : public QWindowsUiaBaseProvider,
17 public QComObject<ITextRangeProvider>
18{
19 Q_DISABLE_COPY_MOVE(QWindowsUiaTextRangeProvider)
20public:
21 explicit QWindowsUiaTextRangeProvider(QAccessible::Id id, int startOffset, int endOffset);
22 virtual ~QWindowsUiaTextRangeProvider();
23
24 // ITextRangeProvider
25 HRESULT STDMETHODCALLTYPE AddToSelection() override;
26 HRESULT STDMETHODCALLTYPE Clone(ITextRangeProvider **pRetVal) override;
27 HRESULT STDMETHODCALLTYPE Compare(ITextRangeProvider *range, BOOL *pRetVal) override;
28 HRESULT STDMETHODCALLTYPE CompareEndpoints(TextPatternRangeEndpoint endpoint, ITextRangeProvider *targetRange, TextPatternRangeEndpoint targetEndpoint, int *pRetVal) override;
29 HRESULT STDMETHODCALLTYPE ExpandToEnclosingUnit(TextUnit unit) override;
30 HRESULT STDMETHODCALLTYPE FindAttribute(TEXTATTRIBUTEID attributeId, VARIANT val, BOOL backward, ITextRangeProvider **pRetVal) override;
31 HRESULT STDMETHODCALLTYPE FindText(BSTR text, BOOL backward, BOOL ignoreCase, ITextRangeProvider **pRetVal) override;
32 HRESULT STDMETHODCALLTYPE GetAttributeValue(TEXTATTRIBUTEID attributeId, VARIANT *pRetVal) override;
33 HRESULT STDMETHODCALLTYPE GetBoundingRectangles(SAFEARRAY **pRetVal) override;
34 HRESULT STDMETHODCALLTYPE GetChildren(SAFEARRAY **pRetVal) override;
35 HRESULT STDMETHODCALLTYPE GetEnclosingElement(IRawElementProviderSimple **pRetVal) override;
36 HRESULT STDMETHODCALLTYPE GetText(int maxLength, BSTR *pRetVal) override;
37 HRESULT STDMETHODCALLTYPE Move(TextUnit unit, int count, int *pRetVal) override;
38 HRESULT STDMETHODCALLTYPE MoveEndpointByRange(TextPatternRangeEndpoint endpoint, ITextRangeProvider *targetRange, TextPatternRangeEndpoint targetEndpoint) override;
39 HRESULT STDMETHODCALLTYPE MoveEndpointByUnit(TextPatternRangeEndpoint endpoint, TextUnit unit, int count, int *pRetVal) override;
40 HRESULT STDMETHODCALLTYPE RemoveFromSelection() override;
41 HRESULT STDMETHODCALLTYPE ScrollIntoView(BOOL alignToTop) override;
42 HRESULT STDMETHODCALLTYPE Select() override;
43
44private:
45 HRESULT unselect();
46 QString valueForIA2Attribute(QAccessibleTextInterface *textInterface, const QString &key);
47 TextDecorationLineStyle uiaLineStyleForIA2LineStyle(const QString &ia2LineStyle);
48 int m_startOffset;
49 int m_endOffset;
50};
51
52QT_END_NAMESPACE
53
54#endif // QT_CONFIG(accessibility)
55
56#endif // QWINDOWSUIATEXTRANGEPROVIDER_H