home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / JTree$AccessibleJTree.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  6.3 KB  |  202 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.accessibility.AccessibleRole;
  6. import com.sun.java.accessibility.AccessibleSelection;
  7. import com.sun.java.swing.event.TreeExpansionEvent;
  8. import com.sun.java.swing.event.TreeExpansionListener;
  9. import com.sun.java.swing.event.TreeModelEvent;
  10. import com.sun.java.swing.event.TreeModelListener;
  11. import com.sun.java.swing.plaf.TreeUI;
  12. import com.sun.java.swing.tree.TreeCellRenderer;
  13. import com.sun.java.swing.tree.TreeModel;
  14. import com.sun.java.swing.tree.TreePath;
  15. import java.awt.Component;
  16. import java.awt.Point;
  17.  
  18. class JTree$AccessibleJTree extends JComponent.AccessibleJComponent implements AccessibleSelection, TreeModelListener, TreeExpansionListener {
  19.    // $FF: synthetic field
  20.    private final JTree this$0;
  21.  
  22.    public JTree$AccessibleJTree(JTree var1) {
  23.       super(var1);
  24.       this.this$0 = var1;
  25.       this.this$0 = var1;
  26.       var1.getModel().addTreeModelListener(this);
  27.       var1.addTreeExpansionListener(this);
  28.    }
  29.  
  30.    public void fireVisibleDataPropertyChange() {
  31.       ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", new Boolean(false), new Boolean(true));
  32.    }
  33.  
  34.    public void fireSelectionPropertyChange() {
  35.       this.fireVisibleDataPropertyChange();
  36.       ((AccessibleContext)this).firePropertyChange("AccessibleSelection", new Boolean(false), new Boolean(true));
  37.    }
  38.  
  39.    public void treeNodesChanged(TreeModelEvent var1) {
  40.       this.fireVisibleDataPropertyChange();
  41.    }
  42.  
  43.    public void treeNodesInserted(TreeModelEvent var1) {
  44.       this.fireVisibleDataPropertyChange();
  45.    }
  46.  
  47.    public void treeNodesRemoved(TreeModelEvent var1) {
  48.       this.fireVisibleDataPropertyChange();
  49.    }
  50.  
  51.    public void treeStructureChanged(TreeModelEvent var1) {
  52.       this.fireVisibleDataPropertyChange();
  53.    }
  54.  
  55.    public void treeCollapsed(TreeExpansionEvent var1) {
  56.       this.fireVisibleDataPropertyChange();
  57.    }
  58.  
  59.    public void treeExpanded(TreeExpansionEvent var1) {
  60.       this.fireVisibleDataPropertyChange();
  61.    }
  62.  
  63.    private AccessibleContext getCurrentAccessibleContext() {
  64.       Component var1 = this.getCurrentComponent();
  65.       return var1 instanceof Accessible ? ((Accessible)var1).getAccessibleContext() : null;
  66.    }
  67.  
  68.    private Component getCurrentComponent() {
  69.       TreeModel var1 = this.this$0.getModel();
  70.       TreePath var2 = new TreePath(var1.getRoot());
  71.       if (this.this$0.isVisible(var2)) {
  72.          TreeCellRenderer var3 = this.this$0.getCellRenderer();
  73.          TreeUI var4 = this.this$0.getUI();
  74.          if (var4 != null) {
  75.             int var5 = var4.getRowForPath(var2);
  76.             boolean var6 = this.this$0.isPathSelected(var2);
  77.             boolean var7 = this.this$0.isExpanded(var2);
  78.             boolean var8 = false;
  79.             return var3.getTreeCellRendererComponent(this.this$0, var1.getRoot(), var6, var7, var1.isLeaf(var1.getRoot()), var5, var8);
  80.          }
  81.       }
  82.  
  83.       return null;
  84.    }
  85.  
  86.    public String getAccessibleName() {
  87.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  88.       if (var1 != null) {
  89.          String var2 = var1.getAccessibleName();
  90.          return var2 != null && var2 != "" ? var1.getAccessibleName() : null;
  91.       } else {
  92.          return super.accessibleName != null && super.accessibleName != "" ? super.accessibleName : null;
  93.       }
  94.    }
  95.  
  96.    public String getAccessibleDescription() {
  97.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  98.       return var1 != null ? var1.getAccessibleDescription() : super.getAccessibleDescription();
  99.    }
  100.  
  101.    public AccessibleRole getAccessibleRole() {
  102.       return AccessibleRole.TREE;
  103.    }
  104.  
  105.    public Accessible getAccessibleAt(Point var1) {
  106.       TreePath var2 = this.this$0.getClosestPathForLocation(var1.x, var1.y);
  107.       return var2 != null ? new JTree.AccessibleJTree.AccessibleJTreeNode(this, this.this$0, var2, this.this$0) : null;
  108.    }
  109.  
  110.    public int getAccessibleChildrenCount() {
  111.       TreeModel var1 = this.this$0.getModel();
  112.       return var1 != null ? var1.getChildCount(var1.getRoot()) : 0;
  113.    }
  114.  
  115.    public Accessible getAccessibleChild(int var1) {
  116.       TreeModel var2 = this.this$0.getModel();
  117.       if (var2 != null) {
  118.          if (var1 >= 0 && var1 < var2.getChildCount(var2.getRoot())) {
  119.             Object var3 = var2.getChild(var2.getRoot(), var1);
  120.             Object[] var4 = new Object[]{var2.getRoot(), var3};
  121.             TreePath var5 = new TreePath(var4);
  122.             return new JTree.AccessibleJTree.AccessibleJTreeNode(this, this.this$0, var5, this.this$0);
  123.          } else {
  124.             return null;
  125.          }
  126.       } else {
  127.          return null;
  128.       }
  129.    }
  130.  
  131.    public AccessibleSelection getAccessibleSelection() {
  132.       return this;
  133.    }
  134.  
  135.    public int getAccessibleSelectionCount() {
  136.       return this.this$0.getSelectionCount();
  137.    }
  138.  
  139.    public Accessible getAccessibleSelection(int var1) {
  140.       TreePath[] var2 = this.this$0.getSelectionPaths();
  141.       return var1 >= 0 && var1 < var2.length ? new JTree.AccessibleJTree.AccessibleJTreeNode(this, this.this$0, var2[var1], this.this$0) : null;
  142.    }
  143.  
  144.    public boolean isAccessibleChildSelected(int var1) {
  145.       TreePath[] var2 = this.this$0.getSelectionPaths();
  146.       TreeModel var3 = this.this$0.getModel();
  147.  
  148.       for(int var5 = 0; var5 < var2.length; ++var5) {
  149.          Object var4 = var2[var5].getLastPathComponent();
  150.          if (var1 == var3.getIndexOfChild(var3.getRoot(), var4)) {
  151.             return true;
  152.          }
  153.       }
  154.  
  155.       return false;
  156.    }
  157.  
  158.    public void addAccessibleSelection(int var1) {
  159.       TreeModel var2 = this.this$0.getModel();
  160.       if (var2 != null && var1 >= 0 && var1 < var2.getChildCount(var2.getRoot())) {
  161.          Object var3 = var2.getChild(var2.getRoot(), var1);
  162.          Object[] var4 = new Object[]{var2.getRoot(), var3};
  163.          TreePath var5 = new TreePath(var4);
  164.          this.this$0.addSelectionPath(var5);
  165.       }
  166.  
  167.    }
  168.  
  169.    public void removeAccessibleSelection(int var1) {
  170.       TreeModel var2 = this.this$0.getModel();
  171.       if (var2 != null && var1 >= 0 && var1 < var2.getChildCount(var2.getRoot())) {
  172.          Object var3 = var2.getChild(var2.getRoot(), var1);
  173.          Object[] var4 = new Object[]{var2.getRoot(), var3};
  174.          TreePath var5 = new TreePath(var4);
  175.          this.this$0.removeSelectionPath(var5);
  176.       }
  177.  
  178.    }
  179.  
  180.    public void clearAccessibleSelection() {
  181.       int var1 = this.getAccessibleChildrenCount();
  182.  
  183.       for(int var2 = 0; var2 < var1; ++var2) {
  184.          this.removeAccessibleSelection(var2);
  185.       }
  186.  
  187.    }
  188.  
  189.    public void selectAllAccessibleSelection() {
  190.       TreeModel var1 = this.this$0.getModel();
  191.       if (var1 != null) {
  192.          this.this$0.addSelectionInterval(0, var1.getChildCount(var1.getRoot()) - 1);
  193.       }
  194.  
  195.    }
  196.  
  197.    // $FF: synthetic method
  198.    static JTree access$0(JTree$AccessibleJTree var0) {
  199.       return var0.this$0;
  200.    }
  201. }
  202.