home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / JTree$AccessibleJTree.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  5.6 KB  |  216 lines

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