4#ifndef QWINDOWSUIATEXTPROVIDER_H
5#define QWINDOWSUIATEXTPROVIDER_H
7#include <QtGui/qtguiglobal.h>
8#if QT_CONFIG(accessibility)
10#include "qwindowsuiabaseprovider.h"
11#include "qwindowsuiatextrangeprovider.h"
18struct QComObjectTraits<ITextProvider2>
20 static constexpr bool isGuidOf(REFIID riid)
noexcept
22 return QComObjectTraits<ITextProvider2, ITextProvider>::isGuidOf(riid);
29class QWindowsUiaTextProvider :
public QWindowsUiaBaseProvider,
public QComObject<ITextProvider2>
31 Q_DISABLE_COPY_MOVE(QWindowsUiaTextProvider)
33 explicit QWindowsUiaTextProvider(QAccessible::Id id);
34 ~QWindowsUiaTextProvider();
37 HRESULT STDMETHODCALLTYPE GetSelection(SAFEARRAY **pRetVal) override;
38 HRESULT STDMETHODCALLTYPE GetVisibleRanges(SAFEARRAY **pRetVal) override;
39 HRESULT STDMETHODCALLTYPE RangeFromChild(IRawElementProviderSimple *childElement, ITextRangeProvider **pRetVal) override;
40 HRESULT STDMETHODCALLTYPE RangeFromPoint(UiaPoint point, ITextRangeProvider **pRetVal) override;
41 HRESULT STDMETHODCALLTYPE get_DocumentRange(ITextRangeProvider **pRetVal) override;
42 HRESULT STDMETHODCALLTYPE get_SupportedTextSelection(SupportedTextSelection *pRetVal) override;
45 HRESULT STDMETHODCALLTYPE RangeFromAnnotation(IRawElementProviderSimple *annotationElement, ITextRangeProvider **pRetVal) override;
46 HRESULT STDMETHODCALLTYPE GetCaretRange(BOOL *isActive, ITextRangeProvider **pRetVal) override;