home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / JList$AccessibleJList.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  5.1 KB  |  158 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Point;
  4. import java.beans.PropertyChangeEvent;
  5. import java.beans.PropertyChangeListener;
  6. import javax.accessibility.Accessible;
  7. import javax.accessibility.AccessibleContext;
  8. import javax.accessibility.AccessibleRole;
  9. import javax.accessibility.AccessibleSelection;
  10. import javax.accessibility.AccessibleState;
  11. import javax.accessibility.AccessibleStateSet;
  12. import javax.swing.event.ListDataEvent;
  13. import javax.swing.event.ListDataListener;
  14. import javax.swing.event.ListSelectionEvent;
  15. import javax.swing.event.ListSelectionListener;
  16.  
  17. public class JList$AccessibleJList extends JComponent.AccessibleJComponent implements AccessibleSelection, PropertyChangeListener, ListSelectionListener, ListDataListener {
  18.    // $FF: synthetic field
  19.    private final JList this$0;
  20.    int leadSelectionIndex;
  21.  
  22.    public JList$AccessibleJList(JList var1) {
  23.       super(var1);
  24.       this.this$0 = var1;
  25.       ((JComponent)var1).addPropertyChangeListener(this);
  26.       var1.getSelectionModel().addListSelectionListener(this);
  27.       var1.getModel().addListDataListener(this);
  28.       this.leadSelectionIndex = var1.getLeadSelectionIndex();
  29.    }
  30.  
  31.    // $FF: synthetic method
  32.    static JList access$0(JList$AccessibleJList var0) {
  33.       return var0.this$0;
  34.    }
  35.  
  36.    public void addAccessibleSelection(int var1) {
  37.       this.this$0.addSelectionInterval(var1, var1);
  38.    }
  39.  
  40.    public void clearAccessibleSelection() {
  41.       this.this$0.clearSelection();
  42.    }
  43.  
  44.    public void contentsChanged(ListDataEvent var1) {
  45.       ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", new Boolean(false), new Boolean(true));
  46.    }
  47.  
  48.    public Accessible getAccessibleAt(Point var1) {
  49.       int var2 = this.this$0.locationToIndex(var1);
  50.       return var2 >= 0 ? new JList.AccessibleJList.AccessibleJListChild(this, this.this$0, var2) : null;
  51.    }
  52.  
  53.    public Accessible getAccessibleChild(int var1) {
  54.       return var1 >= this.this$0.getModel().getSize() ? null : new JList.AccessibleJList.AccessibleJListChild(this, this.this$0, var1);
  55.    }
  56.  
  57.    public int getAccessibleChildrenCount() {
  58.       return this.this$0.getModel().getSize();
  59.    }
  60.  
  61.    public AccessibleRole getAccessibleRole() {
  62.       return AccessibleRole.LIST;
  63.    }
  64.  
  65.    public AccessibleSelection getAccessibleSelection() {
  66.       return this;
  67.    }
  68.  
  69.    public Accessible getAccessibleSelection(int var1) {
  70.       int var2 = this.getAccessibleSelectionCount();
  71.       return var1 >= 0 && var1 < var2 ? this.getAccessibleChild(this.this$0.getSelectedIndices()[var1]) : null;
  72.    }
  73.  
  74.    public int getAccessibleSelectionCount() {
  75.       return this.this$0.getSelectedIndices().length;
  76.    }
  77.  
  78.    public AccessibleStateSet getAccessibleStateSet() {
  79.       AccessibleStateSet var1 = super.getAccessibleStateSet();
  80.       if (JList.access$0(this.this$0).getSelectionMode() != 0) {
  81.          var1.add(AccessibleState.MULTISELECTABLE);
  82.       }
  83.  
  84.       return var1;
  85.    }
  86.  
  87.    public void intervalAdded(ListDataEvent var1) {
  88.       ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", new Boolean(false), new Boolean(true));
  89.    }
  90.  
  91.    public void intervalRemoved(ListDataEvent var1) {
  92.       ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", new Boolean(false), new Boolean(true));
  93.    }
  94.  
  95.    public boolean isAccessibleChildSelected(int var1) {
  96.       return this.this$0.isSelectedIndex(var1);
  97.    }
  98.  
  99.    public void propertyChange(PropertyChangeEvent var1) {
  100.       String var2 = var1.getPropertyName();
  101.       Object var3 = var1.getOldValue();
  102.       Object var4 = var1.getNewValue();
  103.       if (var2.compareTo("model") == 0) {
  104.          if (var3 != null && var3 instanceof ListModel) {
  105.             ((ListModel)var3).removeListDataListener(this);
  106.          }
  107.  
  108.          if (var4 != null && var4 instanceof ListModel) {
  109.             ((ListModel)var4).addListDataListener(this);
  110.          }
  111.       } else if (var2.compareTo("selectionModel") == 0) {
  112.          if (var3 != null && var3 instanceof ListSelectionModel) {
  113.             ((ListSelectionModel)var3).removeListSelectionListener(this);
  114.          }
  115.  
  116.          if (var4 != null && var4 instanceof ListSelectionModel) {
  117.             ((ListSelectionModel)var4).addListSelectionListener(this);
  118.          }
  119.  
  120.          ((AccessibleContext)this).firePropertyChange("AccessibleSelection", new Boolean(false), new Boolean(true));
  121.       }
  122.  
  123.    }
  124.  
  125.    public void removeAccessibleSelection(int var1) {
  126.       this.this$0.removeSelectionInterval(var1, var1);
  127.    }
  128.  
  129.    public void selectAllAccessibleSelection() {
  130.       this.this$0.addSelectionInterval(0, this.getAccessibleChildrenCount() - 1);
  131.    }
  132.  
  133.    public void valueChanged(ListSelectionEvent var1) {
  134.       int var2 = this.leadSelectionIndex;
  135.       this.leadSelectionIndex = this.this$0.getLeadSelectionIndex();
  136.       if (var2 != this.leadSelectionIndex) {
  137.          Accessible var3 = var2 >= 0 ? this.getAccessibleChild(var2) : null;
  138.          Accessible var4 = this.leadSelectionIndex >= 0 ? this.getAccessibleChild(this.leadSelectionIndex) : null;
  139.          ((AccessibleContext)this).firePropertyChange("AccessibleActiveDescendant", var3, var4);
  140.       }
  141.  
  142.       ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", new Boolean(false), new Boolean(true));
  143.       ((AccessibleContext)this).firePropertyChange("AccessibleSelection", new Boolean(false), new Boolean(true));
  144.       AccessibleStateSet var5 = this.getAccessibleStateSet();
  145.       ListSelectionModel var6 = this.this$0.getSelectionModel();
  146.       if (var6.getSelectionMode() != 0) {
  147.          if (!var5.contains(AccessibleState.MULTISELECTABLE)) {
  148.             var5.add(AccessibleState.MULTISELECTABLE);
  149.             ((AccessibleContext)this).firePropertyChange("AccessibleState", (Object)null, AccessibleState.MULTISELECTABLE);
  150.          }
  151.       } else if (var5.contains(AccessibleState.MULTISELECTABLE)) {
  152.          var5.remove(AccessibleState.MULTISELECTABLE);
  153.          ((AccessibleContext)this).firePropertyChange("AccessibleState", AccessibleState.MULTISELECTABLE, (Object)null);
  154.       }
  155.  
  156.    }
  157. }
  158.