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;
20QWindowsUiaValueProvider::QWindowsUiaValueProvider(QAccessible::Id
id) :
21 QWindowsUiaBaseProvider(
id)
25QWindowsUiaValueProvider::~QWindowsUiaValueProvider()
30HRESULT STDMETHODCALLTYPE QWindowsUiaValueProvider::SetValue(LPCWSTR
val)
32 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
34 QAccessibleInterface *accessible = accessibleInterface();
36 return UIA_E_ELEMENTNOTAVAILABLE;
40 accessible->setText(QAccessible::Value, strVal);
45 if (QAccessibleValueInterface *valueInterface = accessible->valueInterface()) {
47 double numval = strVal.toDouble(&
ok);
49 double minimum = valueInterface->minimumValue().toDouble();
50 double maximum = valueInterface->maximumValue().toDouble();
51 if ((numval >= minimum) && (numval <= maximum)) {
52 valueInterface->setCurrentValue(
QVariant(numval));
60HRESULT STDMETHODCALLTYPE QWindowsUiaValueProvider::get_IsReadOnly(BOOL *pRetVal)
62 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
68 QAccessibleInterface *accessible = accessibleInterface();
70 return UIA_E_ELEMENTNOTAVAILABLE;
72 *pRetVal = accessible->state().readOnly;
77HRESULT STDMETHODCALLTYPE QWindowsUiaValueProvider::get_Value(BSTR *pRetVal)
79 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
85 QAccessibleInterface *accessible = accessibleInterface();
87 return UIA_E_ELEMENTNOTAVAILABLE;
89 *pRetVal = bStrFromQString(accessible->text(QAccessible::Value));
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromUtf16(const char16_t *, qsizetype size=-1)
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,...)