4#include <QtGui/qtguiglobal.h>
5#if QT_CONFIG(accessibility)
12#include <QtGui/qaccessible.h>
13#include <QtCore/qloggingcategory.h>
14#include <QtCore/qstring.h>
18using namespace QWindowsUiAutomation;
21QWindowsUiaGridProvider::QWindowsUiaGridProvider(QAccessible::Id
id) :
22 QWindowsUiaBaseProvider(
id)
26QWindowsUiaGridProvider::~QWindowsUiaGridProvider()
31HRESULT STDMETHODCALLTYPE QWindowsUiaGridProvider::GetItem(
int row,
int column, IRawElementProviderSimple **pRetVal)
33 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
39 QAccessibleInterface *accessible = accessibleInterface();
41 return UIA_E_ELEMENTNOTAVAILABLE;
43 QAccessibleTableInterface *tableInterface = accessible->tableInterface();
45 return UIA_E_ELEMENTNOTAVAILABLE;
47 if ((
row >= 0) && (row < tableInterface->rowCount()) && (
column >= 0) && (column < tableInterface->columnCount())) {
48 if (QAccessibleInterface *cell = tableInterface->cellAt(
row,
column)) {
49 *pRetVal = QWindowsUiaMainProvider::providerForAccessible(cell);
56HRESULT STDMETHODCALLTYPE QWindowsUiaGridProvider::get_RowCount(
int *pRetVal)
58 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
64 QAccessibleInterface *accessible = accessibleInterface();
66 return UIA_E_ELEMENTNOTAVAILABLE;
68 QAccessibleTableInterface *tableInterface = accessible->tableInterface();
70 return UIA_E_ELEMENTNOTAVAILABLE;
72 *pRetVal = tableInterface->rowCount();
77HRESULT STDMETHODCALLTYPE QWindowsUiaGridProvider::get_ColumnCount(
int *pRetVal)
79 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
85 QAccessibleInterface *accessible = accessibleInterface();
87 return UIA_E_ELEMENTNOTAVAILABLE;
89 QAccessibleTableInterface *tableInterface = accessible->tableInterface();
91 return UIA_E_ELEMENTNOTAVAILABLE;
93 *pRetVal = tableInterface->columnCount();
Combined button and popup list for selecting options.
#define qCDebug(category,...)
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row