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();
40 accessible->setText(QAccessible::Value, strVal);
45 if (QAccessibleValueInterface *valueInterface = accessible->valueInterface()) {
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();
72 *
pRetVal = accessible->state().readOnly;
77HRESULT STDMETHODCALLTYPE QWindowsUiaValueProvider::get_Value(BSTR *
pRetVal)
79 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
85 QAccessibleInterface *accessible = accessibleInterface();
89 *
pRetVal = bStrFromQString(accessible->text(QAccessible::Value));
\macro QT_RESTRICTED_CAST_FROM_ASCII
double toDouble(bool *ok=nullptr) const
Returns the string converted to a double value.
static QString fromUtf16(const char16_t *, qsizetype size=-1)
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