accessible/src/windows/ia2/ia2AccessibleTable.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* vim:expandtab:shiftwidth=2:tabstop=2:
     3  */
     4 /* This Source Code Form is subject to the terms of the Mozilla Public
     5  * License, v. 2.0. If a copy of the MPL was not distributed with this
     6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     8 #ifndef _ACCESSIBLE_TABLE_H
     9 #define _ACCESSIBLE_TABLE_H
    11 #include "AccessibleTable.h"
    12 #include "AccessibleTable2.h"
    14 namespace mozilla {
    15 namespace a11y {
    17 class TableAccessible;
    19 class ia2AccessibleTable : public IAccessibleTable,
    20                            public IAccessibleTable2
    21 {
    22 public:
    24   // IUnknown
    25   STDMETHODIMP QueryInterface(REFIID, void**);
    27   // IAccessibleTable
    28   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
    29       /* [in] */ long row,
    30       /* [in] */ long column,
    31       /* [retval][out] */ IUnknown **accessible);
    33   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
    34       /* [retval][out] */ IUnknown **accessible);
    36   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
    37       /* [in] */ long rowIndex,
    38       /* [in] */ long columnIndex,
    39       /* [retval][out] */ long *childIndex);
    41   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
    42       /* [in] */ long column,
    43       /* [retval][out] */ BSTR *description);
    45   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( 
    46       /* [in] */ long row,
    47       /* [in] */ long column,
    48       /* [retval][out] */ long *nColumnsSpanned);
    50   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
    51       /* [out] */ IAccessibleTable **accessibleTable,
    52       /* [retval][out] */ long *startingRowIndex);
    54   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
    55       /* [in] */ long childIndex,
    56       /* [retval][out] */ long *columnIndex);
    58   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
    59       /* [retval][out] */ long *columnCount);
    61   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
    62       /* [retval][out] */ long *rowCount);
    64   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
    65       /* [retval][out] */ long *childCount);
    67   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
    68       /* [retval][out] */ long *columnCount);
    70   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
    71       /* [retval][out] */ long *rowCount);
    73   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
    74       /* [in] */ long row,
    75       /* [retval][out] */ BSTR *description);
    77   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
    78       /* [in] */ long row,
    79       /* [in] */ long column,
    80       /* [retval][out] */ long *nRowsSpanned);
    82   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
    83       /* [out] */ IAccessibleTable **accessibleTable,
    84       /* [retval][out] */ long *startingColumnIndex);
    86   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
    87       /* [in] */ long childIndex,
    88       /* [retval][out] */ long *rowIndex);
    90   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
    91       /* [in] */ long maxChildren,
    92       /* [length_is][length_is][size_is][size_is][out] */ long **children,
    93       /* [retval][out] */ long *nChildren);
    95   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
    96       /* [in] */ long maxColumns,
    97       /* [length_is][length_is][size_is][size_is][out] */ long **columns,
    98       /* [retval][out] */ long *nColumns);
   100   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
   101       /* [in] */ long maxRows,
   102       /* [length_is][length_is][size_is][size_is][out] */ long **rows,
   103       /* [retval][out] */ long *nRows);
   105   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
   106       /* [retval][out] */ IUnknown **accessible);
   108   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
   109       /* [in] */ long column,
   110       /* [retval][out] */ boolean *isSelected);
   112   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
   113       /* [in] */ long row,
   114       /* [retval][out] */ boolean *isSelected);
   116   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
   117       /* [in] */ long row,
   118       /* [in] */ long column,
   119       /* [retval][out] */ boolean *isSelected);
   121   virtual HRESULT STDMETHODCALLTYPE selectRow(
   122       /* [in] */ long row);
   124   virtual HRESULT STDMETHODCALLTYPE selectColumn(
   125       /* [in] */ long column);
   127   virtual HRESULT STDMETHODCALLTYPE unselectRow(
   128       /* [in] */ long row);
   130   virtual HRESULT STDMETHODCALLTYPE unselectColumn(
   131       /* [in] */ long column);
   133   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
   134       /* [in] */ long index,
   135       /* [out] */ long *row,
   136       /* [out] */ long *column,
   137       /* [out] */ long *rowExtents,
   138       /* [out] */ long *columnExtents,
   139       /* [retval][out] */ boolean *isSelected);
   141   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
   142       /* [retval][out] */ IA2TableModelChange *modelChange);
   145   // IAccessibleTable2
   147   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
   148       /* [in] */ long row,
   149       /* [in] */ long column,
   150       /* [out, retval] */ IUnknown **cell);
   152   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
   153       /* [out, retval] */ long *cellCount);
   155   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
   156       /* [out, size_is(,*nSelectedCells,)] */ IUnknown ***cells,
   157       /* [out, retval] */ long *nSelectedCells);
   159   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
   160       /* [out, size_is(,*nColumns)] */ long **selectedColumns,
   161       /* [out, retval] */ long *nColumns);
   163   virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
   164       /* [out, size_is(,*nRows)] */ long **selectedRows, 
   165       /* [out, retval] */ long *nRows);
   167 protected:
   168   ia2AccessibleTable(TableAccessible* aTable) : mTable(aTable) {}
   170   TableAccessible* mTable;
   171 };
   173 } // namespace a11y
   174 } // namespace mozilla
   176 #endif

mercurial