/[classpath]/classpath/java/awt/List.java
ViewVC logotype

Diff of /classpath/java/awt/List.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.20 by mkoch, Tue Nov 16 09:59:11 2004 UTC revision 1.21 by mkoch, Wed Dec 29 14:18:25 2004 UTC
# Line 47  import java.util.EventListener; Line 47  import java.util.EventListener;
47  import java.util.Vector;  import java.util.Vector;
48    
49  import javax.accessibility.Accessible;  import javax.accessibility.Accessible;
50    import javax.accessibility.AccessibleContext;
51    import javax.accessibility.AccessibleRole;
52    import javax.accessibility.AccessibleSelection;
53    import javax.accessibility.AccessibleState;
54    import javax.accessibility.AccessibleStateSet;
55    
56  /**  /**
57    * Class that implements a listbox widget    * Class that implements a listbox widget
# Line 106  private ItemListener item_listeners; Line 111  private ItemListener item_listeners;
111  // The list of ActionListeners for this object.  // The list of ActionListeners for this object.
112  private ActionListener action_listeners;  private ActionListener action_listeners;
113    
114    
115  /*************************************************************************/  /*************************************************************************/
116    
117  /*  /*
# Line 1076  paramString() Line 1082  paramString()
1082    {    {
1083      return (ItemListener[]) getListeners (ItemListener.class);      return (ItemListener[]) getListeners (ItemListener.class);
1084    }    }
1085      
1086      // Accessibility internal class
1087      protected class AccessibleAWTList extends AccessibleAWTComponent
1088        implements AccessibleSelection, ItemListener, ActionListener
1089      {
1090        protected class AccessibleAWTListChild extends AccessibleAWTComponent
1091          implements Accessible
1092        {
1093          private int index;
1094          private List parent;
1095          
1096          public AccessibleAWTListChild(List parent, int indexInParent)
1097          {
1098            this.parent = parent;
1099            index = indexInParent;
1100            if (parent == null)
1101              index = -1;
1102          }
1103          
1104          /* (non-Javadoc)
1105           * @see javax.accessibility.Accessible#getAccessibleContext()
1106           */
1107          public AccessibleContext getAccessibleContext()
1108          {
1109            return this;
1110          }
1111          
1112          public AccessibleRole getAccessibleRole()
1113          {
1114            return AccessibleRole.LIST_ITEM;
1115          }
1116          
1117          public AccessibleStateSet getAccessibleStateSet()
1118          {
1119            AccessibleStateSet states = super.getAccessibleStateSet();
1120            if (parent.isIndexSelected(index))
1121              states.add(AccessibleState.SELECTED);
1122            return states;
1123          }
1124          
1125          public int getAccessibleIndexInParent()
1126          {
1127            return index;
1128          }
1129    
1130        }
1131        
1132        public AccessibleAWTList()
1133        {
1134          addItemListener(this);
1135          addActionListener(this);
1136        }
1137        
1138        public AccessibleRole getAccessibleRole()
1139        {
1140          return AccessibleRole.LIST;
1141        }
1142        
1143        public AccessibleStateSet getAccessibleStateSet()
1144        {
1145          AccessibleStateSet states = super.getAccessibleStateSet();
1146          states.add(AccessibleState.SELECTABLE);
1147          if (isMultipleMode())
1148            states.add(AccessibleState.MULTISELECTABLE);
1149          return states;
1150        }
1151    
1152        public int getAccessibleChildrenCount()
1153        {
1154          return getItemCount();
1155        }
1156    
1157        public Accessible getAccessibleChild(int i)
1158        {
1159          if (i >= getItemCount())
1160            return null;
1161          return new AccessibleAWTListChild(List.this, i);
1162        }
1163        
1164        /* (non-Javadoc)
1165         * @see javax.accessibility.AccessibleSelection#getAccessibleSelectionCount()
1166         */
1167        public int getAccessibleSelectionCount()
1168        {
1169          return getSelectedIndexes().length;
1170        }
1171    
1172        /* (non-Javadoc)
1173         * @see javax.accessibility.AccessibleSelection#getAccessibleSelection()
1174         */
1175        public AccessibleSelection getAccessibleSelection()
1176        {
1177          return this;
1178        }
1179    
1180        /* (non-Javadoc)
1181         * @see javax.accessibility.AccessibleSelection#getAccessibleSelection(int)
1182         */
1183        public Accessible getAccessibleSelection(int i)
1184        {
1185          int[] items = getSelectedIndexes();
1186          if (i >= items.length)
1187            return null;
1188          return new AccessibleAWTListChild(List.this, items[i]);
1189        }
1190    
1191        /* (non-Javadoc)
1192         * @see javax.accessibility.AccessibleSelection#isAccessibleChildSelected(int)
1193         */
1194        public boolean isAccessibleChildSelected(int i)
1195        {
1196          return isIndexSelected(i);
1197        }
1198    
1199        /* (non-Javadoc)
1200         * @see javax.accessibility.AccessibleSelection#addAccessibleSelection(int)
1201         */
1202        public void addAccessibleSelection(int i)
1203        {
1204          select(i);
1205        }
1206    
1207        /* (non-Javadoc)
1208         * @see javax.accessibility.AccessibleSelection#removeAccessibleSelection(int)
1209         */
1210        public void removeAccessibleSelection(int i)
1211        {
1212          deselect(i);
1213        }
1214    
1215        /* (non-Javadoc)
1216         * @see javax.accessibility.AccessibleSelection#clearAccessibleSelection()
1217         */
1218        public void clearAccessibleSelection()
1219        {
1220          for (int i = 0; i < getItemCount(); i++)
1221            deselect(i);
1222        }
1223    
1224        /* (non-Javadoc)
1225         * @see javax.accessibility.AccessibleSelection#selectAllAccessibleSelection()
1226         */
1227        public void selectAllAccessibleSelection()
1228        {
1229          if (isMultipleMode())
1230            for (int i = 0; i < getItemCount(); i++)
1231              select(i);
1232        }
1233    
1234        /* (non-Javadoc)
1235         * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
1236         */
1237        public void itemStateChanged(ItemEvent event)
1238        {
1239        }
1240    
1241        /* (non-Javadoc)
1242         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1243         */
1244        public void actionPerformed(ActionEvent event)
1245        {
1246        }
1247        
1248      }
1249    
1250      /**
1251       * Gets the AccessibleContext associated with this <code>List</code>.
1252       * The context is created, if necessary.
1253       *
1254       * @return the associated context
1255       */
1256      public AccessibleContext getAccessibleContext()
1257      {
1258        /* Create the context if this is the first request */
1259        if (accessibleContext == null)
1260          {
1261            /* Create the context */
1262            accessibleContext = new AccessibleAWTList();
1263          }
1264        return accessibleContext;
1265      }
1266  } // class List  } // class List

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26