NS_IMETHODIMP nsHTMLTableCellAccessible::GetRowExtent(PRInt32 *aExtentCount) { NS_ENSURE_ARG_POINTER(aExtentCount); *aExtentCount = 1; PRInt32 rowIdx = -1, colIdx = -1; GetCellIndexes(rowIdx, colIdx); nsCOMPtr<nsIAccessibleTable> table = GetTableAccessible(); NS_ENSURE_STATE(table); return table->GetRowExtentAt(rowIdx, colIdx, aExtentCount); }
NS_IMETHODIMP nsHTMLTableCellAccessible::IsSelected(PRBool *aIsSelected) { NS_ENSURE_ARG_POINTER(aIsSelected); *aIsSelected = PR_FALSE; if (IsDefunct()) return NS_ERROR_FAILURE; PRInt32 rowIdx = -1, colIdx = -1; GetCellIndexes(rowIdx, colIdx); nsCOMPtr<nsIAccessibleTable> table = GetTableAccessible(); NS_ENSURE_STATE(table); return table->IsCellSelected(rowIdx, colIdx, aIsSelected); }
NS_IMETHODIMP nsTableCellFrame::GetNextCellInColumn(nsITableCellLayout **aCellLayout) { if (!aCellLayout) return NS_ERROR_NULL_POINTER; *aCellLayout = nsnull; nsTableFrame* tableFrame = nsnull; nsresult rv = nsTableFrame::GetTableFrame(this, tableFrame); if (NS_FAILED(rv)) return rv; if (!tableFrame) return NS_ERROR_FAILURE; // Get current cell location PRInt32 rowIndex, colIndex; GetCellIndexes(rowIndex, colIndex); // Get the cellframe at next colIndex nsTableCellFrame *cellFrame = tableFrame->GetCellFrameAt(rowIndex, colIndex+1); if (!cellFrame) return NS_ERROR_FAILURE; return CallQueryInterface(cellFrame, aCellLayout); }