4#include <QtGui/qtguiglobal.h>
5#if QT_CONFIG(accessibility)
11#include <QtGui/qaccessible.h>
12#include <QtCore/qloggingcategory.h>
13#include <QtCore/qstring.h>
17using namespace QWindowsUiAutomation;
20QWindowsUiaRangeValueProvider::QWindowsUiaRangeValueProvider(QAccessible::Id
id) :
21 QWindowsUiaBaseProvider(
id)
25QWindowsUiaRangeValueProvider::~QWindowsUiaRangeValueProvider()
29HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::SetValue(
double val)
31 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
33 QAccessibleInterface *accessible = accessibleInterface();
37 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
41 double minimum = valueInterface->minimumValue().toDouble();
42 double maximum = valueInterface->maximumValue().toDouble();
43 if ((
val < minimum) || (
val > maximum))
50HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_Value(
double *
pRetVal)
52 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
57 QAccessibleInterface *accessible = accessibleInterface();
61 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
65 QVariant varValue = valueInterface->currentValue();
70HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_IsReadOnly(BOOL *
pRetVal)
72 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
77 QAccessibleInterface *accessible = accessibleInterface();
81 *
pRetVal = accessible->state().readOnly;
85HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_Maximum(
double *
pRetVal)
87 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
92 QAccessibleInterface *accessible = accessibleInterface();
96 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
100 QVariant varValue = valueInterface->maximumValue();
105HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_Minimum(
double *
pRetVal)
107 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
112 QAccessibleInterface *accessible = accessibleInterface();
116 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
120 QVariant varValue = valueInterface->minimumValue();
125HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_LargeChange(
double *
pRetVal)
127 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
131HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_SmallChange(
double *
pRetVal)
133 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
138 QAccessibleInterface *accessible = accessibleInterface();
142 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
146 QVariant varValue = valueInterface->minimumStepSize();
double toDouble(bool *ok=nullptr) const
Returns the variant as a double if the variant has userType() \l QMetaType::Double,...
Combined button and popup list for selecting options.
QVector3D minimum(const QVector3D &v1, const QVector3D &v2) Q_DECL_NOTHROW
QVector3D maximum(const QVector3D &v1, const QVector3D &v2) Q_DECL_NOTHROW
#define qCDebug(category,...)
#define UIA_E_ELEMENTNOTAVAILABLE
IRawElementProviderFragment __RPC__deref_out_opt IRawElementProviderFragment ** pRetVal
virtual HRESULT STDMETHODCALLTYPE get_SmallChange(__RPC__out double *pRetVal)=0