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;
21QWindowsUiaGridItemProvider::QWindowsUiaGridItemProvider(QAccessible::Id
id) :
22 QWindowsUiaBaseProvider(
id)
26QWindowsUiaGridItemProvider::~QWindowsUiaGridItemProvider()
31HRESULT STDMETHODCALLTYPE QWindowsUiaGridItemProvider::get_Row(
int *
pRetVal)
33 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
39 QAccessibleInterface *accessible = accessibleInterface();
43 QAccessibleTableCellInterface *tableCellInterface = accessible->tableCellInterface();
44 if (!tableCellInterface)
47 *
pRetVal = tableCellInterface->rowIndex();
52HRESULT STDMETHODCALLTYPE QWindowsUiaGridItemProvider::get_Column(
int *
pRetVal)
54 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
60 QAccessibleInterface *accessible = accessibleInterface();
64 QAccessibleTableCellInterface *tableCellInterface = accessible->tableCellInterface();
65 if (!tableCellInterface)
68 *
pRetVal = tableCellInterface->columnIndex();
73HRESULT STDMETHODCALLTYPE QWindowsUiaGridItemProvider::get_RowSpan(
int *
pRetVal)
75 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
81 QAccessibleInterface *accessible = accessibleInterface();
85 QAccessibleTableCellInterface *tableCellInterface = accessible->tableCellInterface();
86 if (!tableCellInterface)
89 *
pRetVal = tableCellInterface->rowExtent();
94HRESULT STDMETHODCALLTYPE QWindowsUiaGridItemProvider::get_ColumnSpan(
int *
pRetVal)
96 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
102 QAccessibleInterface *accessible = accessibleInterface();
106 QAccessibleTableCellInterface *tableCellInterface = accessible->tableCellInterface();
107 if (!tableCellInterface)
110 *
pRetVal = tableCellInterface->columnExtent();
115HRESULT STDMETHODCALLTYPE QWindowsUiaGridItemProvider::get_ContainingGrid(IRawElementProviderSimple **
pRetVal)
117 qCDebug(lcQpaUiAutomation) << __FUNCTION__;
123 QAccessibleInterface *accessible = accessibleInterface();
127 QAccessibleTableCellInterface *tableCellInterface = accessible->tableCellInterface();
128 if (!tableCellInterface)
131 if (QAccessibleInterface *
table = tableCellInterface->table()) {
132 *
pRetVal = QWindowsUiaMainProvider::providerForAccessible(
table);
Combined button and popup list for selecting options.
#define qCDebug(category,...)
GLenum GLenum GLsizei void * table
#define UIA_E_ELEMENTNOTAVAILABLE
IRawElementProviderFragment __RPC__deref_out_opt IRawElementProviderFragment ** pRetVal