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();
35 return UIA_E_ELEMENTNOTAVAILABLE;
37 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
39 return UIA_E_ELEMENTNOTAVAILABLE;
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();
59 return UIA_E_ELEMENTNOTAVAILABLE;
61 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
63 return UIA_E_ELEMENTNOTAVAILABLE;
65 QVariant varValue = valueInterface->currentValue();
66 *pRetVal = varValue.toDouble();
70HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_IsReadOnly(BOOL *pRetVal)
72 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
77 QAccessibleInterface *accessible = accessibleInterface();
79 return UIA_E_ELEMENTNOTAVAILABLE;
81 *pRetVal = accessible->state().readOnly;
85HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_Maximum(
double *pRetVal)
87 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
92 QAccessibleInterface *accessible = accessibleInterface();
94 return UIA_E_ELEMENTNOTAVAILABLE;
96 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
98 return UIA_E_ELEMENTNOTAVAILABLE;
100 QVariant varValue = valueInterface->maximumValue();
101 *pRetVal = varValue.toDouble();
105HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_Minimum(
double *pRetVal)
107 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
112 QAccessibleInterface *accessible = accessibleInterface();
114 return UIA_E_ELEMENTNOTAVAILABLE;
116 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
118 return UIA_E_ELEMENTNOTAVAILABLE;
120 QVariant varValue = valueInterface->minimumValue();
121 *pRetVal = varValue.toDouble();
125HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_LargeChange(
double *pRetVal)
127 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
128 return get_SmallChange(pRetVal);
131HRESULT STDMETHODCALLTYPE QWindowsUiaRangeValueProvider::get_SmallChange(
double *pRetVal)
133 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
138 QAccessibleInterface *accessible = accessibleInterface();
140 return UIA_E_ELEMENTNOTAVAILABLE;
142 QAccessibleValueInterface *valueInterface = accessible->valueInterface();
144 return UIA_E_ELEMENTNOTAVAILABLE;
146 QVariant varValue = valueInterface->minimumStepSize();
147 *pRetVal = varValue.toDouble();
QVector3D minimum(const QVector3D &v1, const QVector3D &v2) Q_DECL_NOTHROW
QVector3D maximum(const QVector3D &v1, const QVector3D &v2) Q_DECL_NOTHROW
Combined button and popup list for selecting options.
#define qCDebug(category,...)