home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JTree$AccessibleJTree.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.8 KB  |  242 lines

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