CVSROOT: /sources/classpath Module name: classpath Changes by: David Gilbert <trebligd> 06/06/06 03:33:32
Modified files: . : ChangeLog javax/swing : JTable.java Log message: 2006-06-06 David Gilbert <[EMAIL PROTECTED]> * javax/swing/JTable.java (AccessibleJTableHeaderCell.header): New field, (AccessibleJTableHeaderCell.columnIndex): Likewise, (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, (AccessibleJTable.getAccessibleChild(int)): Overridden, (AccessibleJTable.getAccessibleAt): Reimplemented. ---------------------------------------------------------------------- CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7662&r2=1.7663 http://cvs.savannah.gnu.org/viewcvs/classpath/javax/swing/JTable.java?cvsroot=classpath&r1=1.114&r2=1.115 Patches: Index: ChangeLog =================================================================== RCS file: /sources/classpath/classpath/ChangeLog,v retrieving revision 1.7662 retrieving revision 1.7663 diff -u -b -r1.7662 -r1.7663 --- ChangeLog 6 Jun 2006 02:22:27 -0000 1.7662 +++ ChangeLog 6 Jun 2006 03:33:31 -0000 1.7663 @@ -1,3 +1,15 @@ +2006-06-06 David Gilbert <[EMAIL PROTECTED]> + + * javax/swing/JTable.java + (AccessibleJTableHeaderCell.header): New field, + (AccessibleJTableHeaderCell.columnIndex): Likewise, + (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, + (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, + (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, + (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, + (AccessibleJTable.getAccessibleChild(int)): Overridden, + (AccessibleJTable.getAccessibleAt): Reimplemented. + 2006-06-05 Sven de Marothy <[EMAIL PROTECTED]> * include/gnu_java_awt_peer_gtk_ComponentGraphics.h Index: javax/swing/JTable.java =================================================================== RCS file: /sources/classpath/classpath/javax/swing/JTable.java,v retrieving revision 1.114 retrieving revision 1.115 diff -u -b -r1.114 -r1.115 --- javax/swing/JTable.java 2 Jun 2006 13:32:30 -0000 1.114 +++ javax/swing/JTable.java 6 Jun 2006 03:33:32 -0000 1.115 @@ -829,15 +829,52 @@ implements Accessible, AccessibleComponent { + JTableHeader header; + + int columnIndex; + + /** + * + * @param h the table header. + * @param comp + * @param r + * @param c the column index. + */ private AccessibleJTableHeaderCell(JTableHeader h, Component comp, int r, int c) { + header = h; + columnIndex = c; + } + /** + * Returns the header renderer. + * + * @return The header renderer. + */ + Component getColumnHeaderRenderer() + { + TableColumn tc = header.getColumnModel().getColumn(columnIndex); + TableCellRenderer r = tc.getHeaderRenderer(); + if (r == null) + r = header.getDefaultRenderer(); + return r.getTableCellRendererComponent(header.getTable(), + tc.getHeaderValue(), false, false, -1, columnIndex); } + /** + * Returns the accessible role for the table header cell. + * + * @return The accessible role. + */ public AccessibleRole getAccessibleRole() { - // TODO Auto-generated method stub + Component renderer = getColumnHeaderRenderer(); + if (renderer instanceof Accessible) + { + Accessible ac = (Accessible) renderer; + return ac.getAccessibleContext().getAccessibleRole(); + } return null; } @@ -871,10 +908,14 @@ return null; } + /** + * Returns the accessible context. + * + * @return <code>this</code>. + */ public AccessibleContext getAccessibleContext() { - // TODO Auto-generated method stub - return null; + return this; } public Color getBackground() @@ -1585,6 +1626,20 @@ } /** + * Returns the accessible child at the given index. + * + * @param index the child index. + * + * @return The accessible child. + */ + public Accessible getAccessibleChild(int index) + { + int r = getAccessibleRow(index); + int c = getAccessibleColumn(index); + return getAccessibleAt(r, c); + } + + /** * Returns the accessible child (table cell) at the specified row and * column. * @@ -1596,7 +1651,12 @@ */ public Accessible getAccessibleAt(int r, int c) { - return getAccessibleChild(r * getAccessibleColumnCount() + c); + TableCellRenderer cellRenderer = getCellRenderer(r, c); + Component renderer = cellRenderer.getTableCellRendererComponent( + JTable.this, getValueAt(r, c), isCellSelected(r, c), false, r, c); + if (renderer instanceof Accessible) + return (Accessible) renderer; + return null; } /**