4#ifndef QWINDOWSUIASELECTIONPROVIDER_H
5#define QWINDOWSUIASELECTIONPROVIDER_H
7#include <QtGui/qtguiglobal.h>
8#if QT_CONFIG(accessibility)
10#include "qwindowsuiabaseprovider.h"
17struct QComObjectTraits<ISelectionProvider2>
19 static constexpr bool isGuidOf(REFIID riid)
noexcept
21 return QComObjectTraits<ISelectionProvider2, ISelectionProvider>::isGuidOf(riid);
28class QWindowsUiaSelectionProvider :
public QWindowsUiaBaseProvider,
29 public QComObject<ISelectionProvider2>
31 Q_DISABLE_COPY_MOVE(QWindowsUiaSelectionProvider)
33 explicit QWindowsUiaSelectionProvider(QAccessible::Id id);
34 virtual ~QWindowsUiaSelectionProvider();
37 HRESULT STDMETHODCALLTYPE GetSelection(SAFEARRAY **pRetVal) override;
38 HRESULT STDMETHODCALLTYPE get_CanSelectMultiple(BOOL *pRetVal) override;
39 HRESULT STDMETHODCALLTYPE get_IsSelectionRequired(BOOL *pRetVal) override;
42 HRESULT STDMETHODCALLTYPE get_FirstSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
43 HRESULT STDMETHODCALLTYPE get_LastSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
44 HRESULT STDMETHODCALLTYPE get_CurrentSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
45 HRESULT STDMETHODCALLTYPE get_ItemCount(__RPC__out
int *pRetVal) override;