commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-cp] classpath ChangeLog javax/swing/JTable.java


From: David Gilbert
Subject: [commit-cp] classpath ChangeLog javax/swing/JTable.java
Date: Tue, 06 Jun 2006 03:33:33 +0000

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  <address@hidden>
        
                * 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  <address@hidden>
+
+       * 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  <address@hidden>
 
        * 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;
     }
 
     /**




reply via email to

[Prev in Thread] Current Thread [Next in Thread]