5#ifndef QWINDOWSUIASELECTIONPROVIDER_H
6#define QWINDOWSUIASELECTIONPROVIDER_H
8#include <QtGui/qtguiglobal.h>
9#if QT_CONFIG(accessibility)
11#include "qwindowsuiabaseprovider.h"
18struct QComObjectTraits<ISelectionProvider2>
20 static constexpr bool isGuidOf(REFIID riid)
noexcept
22 return QComObjectTraits<ISelectionProvider2, ISelectionProvider>::isGuidOf(riid);
29class QWindowsUiaSelectionProvider :
public QWindowsUiaBaseProvider,
30 public QComObject<ISelectionProvider2>
32 Q_DISABLE_COPY_MOVE(QWindowsUiaSelectionProvider)
34 explicit QWindowsUiaSelectionProvider(QAccessible::Id id);
35 virtual ~QWindowsUiaSelectionProvider();
38 HRESULT STDMETHODCALLTYPE GetSelection(SAFEARRAY **pRetVal) override;
39 HRESULT STDMETHODCALLTYPE get_CanSelectMultiple(BOOL *pRetVal) override;
40 HRESULT STDMETHODCALLTYPE get_IsSelectionRequired(BOOL *pRetVal) override;
43 HRESULT STDMETHODCALLTYPE get_FirstSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
44 HRESULT STDMETHODCALLTYPE get_LastSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
45 HRESULT STDMETHODCALLTYPE get_CurrentSelectedItem(__RPC__deref_out_opt IRawElementProviderSimple **pRetVal) override;
46 HRESULT STDMETHODCALLTYPE get_ItemCount(__RPC__out
int *pRetVal) override;