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