CString CCellListCtrl::GetColumnHeadingText(int index) const { if (!IsValidColumn(index)) { AfxThrowInvalidArgException(); } return m_columns[index].HeadingText; }
NS_IMETHODIMP nsARIAGridAccessible::IsColumnSelected(PRInt32 aColumn, PRBool *aIsSelected) { NS_ENSURE_ARG_POINTER(aIsSelected); *aIsSelected = PR_FALSE; if (IsDefunct()) return NS_ERROR_FAILURE; NS_ENSURE_ARG(IsValidColumn(aColumn)); nsCOMPtr<nsIAccessible> row = GetNextRow(); if (!row) return NS_OK; do { if (!nsAccUtils::IsARIASelected(row)) { nsCOMPtr<nsIAccessible> cell = GetCellInRowAt(row, aColumn); if (!cell) // Do not fail due to wrong markup return NS_OK; if (!nsAccUtils::IsARIASelected(cell)) return NS_OK; } } while ((row = GetNextRow(row))); *aIsSelected = PR_TRUE; return NS_OK; }
NS_IMETHODIMP nsARIAGridAccessible::SelectColumn(PRInt32 aColumn) { NS_ENSURE_ARG(IsValidColumn(aColumn)); if (IsDefunct()) return NS_ERROR_FAILURE; AccIterator rowIter(this, filters::GetRow); nsAccessible *row = nsnull; while ((row = rowIter.GetNext())) { // Unselect all cells in the row. nsresult rv = SetARIASelected(row, PR_FALSE); NS_ENSURE_SUCCESS(rv, rv); // Select cell at the column index. nsAccessible *cell = GetCellInRowAt(row, aColumn); if (cell) { rv = SetARIASelected(cell, PR_TRUE); NS_ENSURE_SUCCESS(rv, rv); } } return NS_OK; }
int CCellListCtrl::GetColumnWidth(int index) const { if (!IsValidColumn(index)) { AfxThrowInvalidArgException(); } return m_columns[index].Width; }
CString CCellListCtrl::GetItemText(int iItem, int iColumn) const { if (!IsValidItem(iItem) || !IsValidColumn(iColumn)) { AfxThrowInvalidArgException(); } const std::vector<CString>& texts = m_items[iItem].Text; return (iColumn < static_cast<int>(texts.size())) ? texts[iColumn] : CString(); }
bool CCellListCtrl::SetColumnHeadingText(int index, LPCTSTR headingText) { if (!IsValidColumn(index)) { return false; } m_columns[index].HeadingText = headingText; return true; }
bool CCellListCtrl::SetItemText(int iItem, int iColumn, LPCTSTR text) { if (!IsValidItem(iItem) || !IsValidColumn(iColumn)) { return false; } m_items[iItem].Text[iColumn] = text; return true; }
bool CCellListCtrl::DeleteColumn(int index) { if (!IsValidColumn(index)) { return false; } m_columns.erase(m_columns.begin() + index); return true; }
NS_IMETHODIMP nsARIAGridAccessible::GetColumnDescription(PRInt32 aColumn, nsAString& aDescription) { aDescription.Truncate(); if (IsDefunct()) return NS_ERROR_FAILURE; NS_ENSURE_ARG(IsValidColumn(aColumn)); // XXX: not implemented return NS_ERROR_NOT_IMPLEMENTED; }
NS_IMETHODIMP nsARIAGridAccessible::UnselectColumn(PRInt32 aColumn) { NS_ENSURE_ARG(IsValidColumn(aColumn)); if (IsDefunct()) return NS_ERROR_FAILURE; nsCOMPtr<nsIAccessible> row; while ((row = GetNextRow(row))) { nsCOMPtr<nsIAccessible> cell = GetCellInRowAt(row, aColumn); if (cell) { nsresult rv = SetARIASelected(cell, PR_FALSE); NS_ENSURE_SUCCESS(rv, rv); } } return NS_OK; }