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$AccessibleJTreeNode.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  12.6 KB  |  690 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleAction;
  5. import com.sun.java.accessibility.AccessibleComponent;
  6. import com.sun.java.accessibility.AccessibleContext;
  7. import com.sun.java.accessibility.AccessibleRole;
  8. import com.sun.java.accessibility.AccessibleSelection;
  9. import com.sun.java.accessibility.AccessibleState;
  10. import com.sun.java.accessibility.AccessibleStateSet;
  11. import com.sun.java.accessibility.AccessibleText;
  12. import com.sun.java.accessibility.AccessibleValue;
  13. import com.sun.java.swing.JTree.AccessibleJTree;
  14. import com.sun.java.swing.plaf.TreeUI;
  15. import com.sun.java.swing.tree.TreeCellRenderer;
  16. import com.sun.java.swing.tree.TreeModel;
  17. import com.sun.java.swing.tree.TreePath;
  18. import java.awt.Color;
  19. import java.awt.Component;
  20. import java.awt.Cursor;
  21. import java.awt.Dimension;
  22. import java.awt.Font;
  23. import java.awt.FontMetrics;
  24. import java.awt.Point;
  25. import java.awt.Rectangle;
  26. import java.awt.event.FocusListener;
  27. import java.beans.PropertyChangeListener;
  28. import java.util.Locale;
  29.  
  30. class JTree$AccessibleJTree$AccessibleJTreeNode extends AccessibleContext implements Accessible, AccessibleComponent, AccessibleSelection, AccessibleAction {
  31.    // $FF: synthetic field
  32.    private final JTree.AccessibleJTree this$1;
  33.    private JTree tree;
  34.    private TreeModel treeModel;
  35.    private Object obj;
  36.    private Object objParent;
  37.    private TreePath path;
  38.    private Accessible accessibleParent;
  39.    private int index;
  40.    private boolean isLeaf;
  41.  
  42.    public JTree$AccessibleJTree$AccessibleJTreeNode(JTree.AccessibleJTree var1, JTree var2, TreePath var3, Accessible var4) {
  43.       this.this$1 = var1;
  44.       this.this$1 = var1;
  45.       this.index = -1;
  46.       this.isLeaf = false;
  47.       this.tree = var2;
  48.       this.path = var3;
  49.       this.accessibleParent = var4;
  50.       this.treeModel = var2.getModel();
  51.       this.obj = var3.getLastPathComponent();
  52.       Object[] var5 = var3.getPath();
  53.       if (var5.length > 1) {
  54.          this.objParent = var5[var5.length - 2];
  55.          if (this.treeModel != null) {
  56.             this.index = this.treeModel.getIndexOfChild(this.objParent, this.obj);
  57.          }
  58.  
  59.          Object[] var6 = new Object[var5.length - 1];
  60.          System.arraycopy(var5, 0, var6, 0, var5.length - 1);
  61.          new TreePath(var6);
  62.          ((AccessibleContext)this).setAccessibleParent(this.accessibleParent);
  63.       } else if (this.treeModel != null) {
  64.          this.index = this.treeModel.getIndexOfChild(this.treeModel.getRoot(), this.obj);
  65.          ((AccessibleContext)this).setAccessibleParent(this.tree);
  66.       }
  67.  
  68.       if (this.treeModel != null) {
  69.          this.isLeaf = this.treeModel.isLeaf(this.obj);
  70.       }
  71.  
  72.    }
  73.  
  74.    private TreePath getChildTreePath(int var1) {
  75.       if (var1 >= 0 && var1 < this.getAccessibleChildrenCount()) {
  76.          Object var2 = this.treeModel.getChild(this.obj, var1);
  77.          Object[] var3 = this.path.getPath();
  78.          Object[] var4 = new Object[var3.length + 1];
  79.          System.arraycopy(var3, 0, var4, 0, var3.length);
  80.          var4[var4.length - 1] = var2;
  81.          return new TreePath(var4);
  82.       } else {
  83.          return null;
  84.       }
  85.    }
  86.  
  87.    public AccessibleContext getAccessibleContext() {
  88.       return this;
  89.    }
  90.  
  91.    private AccessibleContext getCurrentAccessibleContext() {
  92.       Component var1 = this.getCurrentComponent();
  93.       return var1 instanceof Accessible ? ((Accessible)var1).getAccessibleContext() : null;
  94.    }
  95.  
  96.    private Component getCurrentComponent() {
  97.       if (this.tree.isVisible(this.path)) {
  98.          TreeCellRenderer var1 = this.tree.getCellRenderer();
  99.          TreeUI var2 = this.tree.getUI();
  100.          if (var2 != null) {
  101.             int var3 = var2.getRowForPath(this.path);
  102.             boolean var4 = this.tree.isPathSelected(this.path);
  103.             boolean var5 = this.tree.isExpanded(this.path);
  104.             boolean var6 = false;
  105.             return var1.getTreeCellRendererComponent(this.tree, this.obj, var4, var5, this.isLeaf, var3, var6);
  106.          }
  107.       }
  108.  
  109.       return null;
  110.    }
  111.  
  112.    public String getAccessibleName() {
  113.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  114.       if (var1 != null) {
  115.          String var2 = var1.getAccessibleName();
  116.          return var2 != null && var2 != "" ? var1.getAccessibleName() : null;
  117.       } else {
  118.          return super.accessibleName != null && super.accessibleName != "" ? super.accessibleName : null;
  119.       }
  120.    }
  121.  
  122.    public void setAccessibleName(String var1) {
  123.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  124.       if (var2 != null) {
  125.          var2.setAccessibleName(var1);
  126.       } else {
  127.          super.setAccessibleName(var1);
  128.       }
  129.    }
  130.  
  131.    public String getAccessibleDescription() {
  132.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  133.       return var1 != null ? var1.getAccessibleDescription() : super.getAccessibleDescription();
  134.    }
  135.  
  136.    public void setAccessibleDescription(String var1) {
  137.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  138.       if (var2 != null) {
  139.          var2.setAccessibleDescription(var1);
  140.       } else {
  141.          super.setAccessibleDescription(var1);
  142.       }
  143.    }
  144.  
  145.    public AccessibleRole getAccessibleRole() {
  146.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  147.       return var1 != null ? var1.getAccessibleRole() : AccessibleRole.UNKNOWN;
  148.    }
  149.  
  150.    public AccessibleStateSet getAccessibleStateSet() {
  151.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  152.       AccessibleStateSet var2;
  153.       if (var1 != null) {
  154.          var2 = var1.getAccessibleStateSet();
  155.       } else {
  156.          var2 = new AccessibleStateSet();
  157.       }
  158.  
  159.       if (this.isShowing()) {
  160.          var2.add(AccessibleState.SHOWING);
  161.       } else if (var2.contains(AccessibleState.SHOWING)) {
  162.          var2.remove(AccessibleState.SHOWING);
  163.       }
  164.  
  165.       if (this.isVisible()) {
  166.          var2.add(AccessibleState.VISIBLE);
  167.       } else if (var2.contains(AccessibleState.VISIBLE)) {
  168.          var2.remove(AccessibleState.VISIBLE);
  169.       }
  170.  
  171.       if (this.tree.isPathSelected(this.path)) {
  172.          var2.add(AccessibleState.SELECTED);
  173.       }
  174.  
  175.       if (!this.isLeaf) {
  176.          var2.add(AccessibleState.EXPANDABLE);
  177.       }
  178.  
  179.       if (this.tree.isExpanded(this.path)) {
  180.          var2.add(AccessibleState.EXPANDED);
  181.       } else {
  182.          var2.add(AccessibleState.COLLAPSED);
  183.       }
  184.  
  185.       if (this.tree.isEditable()) {
  186.          var2.add(AccessibleState.EDITABLE);
  187.       }
  188.  
  189.       return var2;
  190.    }
  191.  
  192.    public Accessible getAccessibleParent() {
  193.       return this.accessibleParent;
  194.    }
  195.  
  196.    public int getAccessibleIndexInParent() {
  197.       return this.index;
  198.    }
  199.  
  200.    public int getAccessibleChildrenCount() {
  201.       return this.treeModel.getChildCount(this.obj);
  202.    }
  203.  
  204.    public Accessible getAccessibleChild(int var1) {
  205.       if (var1 >= 0 && var1 < this.getAccessibleChildrenCount()) {
  206.          Object var2 = this.treeModel.getChild(this.obj, var1);
  207.          Object[] var3 = this.path.getPath();
  208.          Object[] var4 = new Object[var3.length + 1];
  209.          System.arraycopy(var3, 0, var4, 0, var3.length);
  210.          var4[var4.length - 1] = var2;
  211.          TreePath var5 = new TreePath(var4);
  212.          return new JTree$AccessibleJTree$AccessibleJTreeNode(this.this$1, AccessibleJTree.access$0(this.this$1), var5, this);
  213.       } else {
  214.          return null;
  215.       }
  216.    }
  217.  
  218.    public Locale getLocale() {
  219.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  220.       return var1 != null ? var1.getLocale() : this.tree.getLocale();
  221.    }
  222.  
  223.    public void addPropertyChangeListener(PropertyChangeListener var1) {
  224.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  225.       if (var2 != null) {
  226.          var2.addPropertyChangeListener(var1);
  227.       } else {
  228.          super.addPropertyChangeListener(var1);
  229.       }
  230.    }
  231.  
  232.    public void removePropertyChangeListener(PropertyChangeListener var1) {
  233.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  234.       if (var2 != null) {
  235.          var2.removePropertyChangeListener(var1);
  236.       } else {
  237.          super.removePropertyChangeListener(var1);
  238.       }
  239.    }
  240.  
  241.    public AccessibleAction getAccessibleAction() {
  242.       return this;
  243.    }
  244.  
  245.    public AccessibleComponent getAccessibleComponent() {
  246.       return this;
  247.    }
  248.  
  249.    public AccessibleSelection getAccessibleSelection() {
  250.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  251.       return (AccessibleSelection)(var1 != null && this.isLeaf ? this.getCurrentAccessibleContext().getAccessibleSelection() : this);
  252.    }
  253.  
  254.    public AccessibleText getAccessibleText() {
  255.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  256.       return var1 != null ? this.getCurrentAccessibleContext().getAccessibleText() : null;
  257.    }
  258.  
  259.    public AccessibleValue getAccessibleValue() {
  260.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  261.       return var1 != null ? this.getCurrentAccessibleContext().getAccessibleValue() : null;
  262.    }
  263.  
  264.    public Color getBackground() {
  265.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  266.       if (var1 instanceof AccessibleComponent) {
  267.          return ((AccessibleComponent)var1).getBackground();
  268.       } else {
  269.          Component var2 = this.getCurrentComponent();
  270.          return var2 != null ? var2.getBackground() : null;
  271.       }
  272.    }
  273.  
  274.    public void setBackground(Color var1) {
  275.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  276.       if (var2 instanceof AccessibleComponent) {
  277.          ((AccessibleComponent)var2).setBackground(var1);
  278.       } else {
  279.          Component var3 = this.getCurrentComponent();
  280.          if (var3 != null) {
  281.             var3.setBackground(var1);
  282.          }
  283.  
  284.       }
  285.    }
  286.  
  287.    public Color getForeground() {
  288.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  289.       if (var1 instanceof AccessibleComponent) {
  290.          return ((AccessibleComponent)var1).getForeground();
  291.       } else {
  292.          Component var2 = this.getCurrentComponent();
  293.          return var2 != null ? var2.getForeground() : null;
  294.       }
  295.    }
  296.  
  297.    public void setForeground(Color var1) {
  298.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  299.       if (var2 instanceof AccessibleComponent) {
  300.          ((AccessibleComponent)var2).setForeground(var1);
  301.       } else {
  302.          Component var3 = this.getCurrentComponent();
  303.          if (var3 != null) {
  304.             var3.setForeground(var1);
  305.          }
  306.  
  307.       }
  308.    }
  309.  
  310.    public Cursor getCursor() {
  311.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  312.       if (var1 instanceof AccessibleComponent) {
  313.          return ((AccessibleComponent)var1).getCursor();
  314.       } else {
  315.          Component var2 = this.getCurrentComponent();
  316.          if (var2 != null) {
  317.             return var2.getCursor();
  318.          } else {
  319.             Accessible var3 = this.getAccessibleParent();
  320.             return var3 instanceof AccessibleComponent ? ((AccessibleComponent)var3).getCursor() : null;
  321.          }
  322.       }
  323.    }
  324.  
  325.    public void setCursor(Cursor var1) {
  326.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  327.       if (var2 instanceof AccessibleComponent) {
  328.          ((AccessibleComponent)var2).setCursor(var1);
  329.       } else {
  330.          Component var3 = this.getCurrentComponent();
  331.          if (var3 != null) {
  332.             var3.setCursor(var1);
  333.          }
  334.  
  335.       }
  336.    }
  337.  
  338.    public Font getFont() {
  339.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  340.       if (var1 instanceof AccessibleComponent) {
  341.          return ((AccessibleComponent)var1).getFont();
  342.       } else {
  343.          Component var2 = this.getCurrentComponent();
  344.          return var2 != null ? var2.getFont() : null;
  345.       }
  346.    }
  347.  
  348.    public void setFont(Font var1) {
  349.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  350.       if (var2 instanceof AccessibleComponent) {
  351.          ((AccessibleComponent)var2).setFont(var1);
  352.       } else {
  353.          Component var3 = this.getCurrentComponent();
  354.          if (var3 != null) {
  355.             var3.setFont(var1);
  356.          }
  357.  
  358.       }
  359.    }
  360.  
  361.    public FontMetrics getFontMetrics(Font var1) {
  362.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  363.       if (var2 instanceof AccessibleComponent) {
  364.          return ((AccessibleComponent)var2).getFontMetrics(var1);
  365.       } else {
  366.          Component var3 = this.getCurrentComponent();
  367.          return var3 != null ? var3.getFontMetrics(var1) : null;
  368.       }
  369.    }
  370.  
  371.    public boolean isEnabled() {
  372.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  373.       if (var1 instanceof AccessibleComponent) {
  374.          return ((AccessibleComponent)var1).isEnabled();
  375.       } else {
  376.          Component var2 = this.getCurrentComponent();
  377.          return var2 != null ? var2.isEnabled() : false;
  378.       }
  379.    }
  380.  
  381.    public void setEnabled(boolean var1) {
  382.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  383.       if (var2 instanceof AccessibleComponent) {
  384.          ((AccessibleComponent)var2).setEnabled(var1);
  385.       } else {
  386.          Component var3 = this.getCurrentComponent();
  387.          if (var3 != null) {
  388.             var3.setEnabled(var1);
  389.          }
  390.  
  391.       }
  392.    }
  393.  
  394.    public boolean isVisible() {
  395.       Rectangle var1 = this.tree.getPathBounds(this.path);
  396.       Rectangle var2 = this.tree.getVisibleRect();
  397.       return var1 != null && var2 != null && var2.intersects(var1);
  398.    }
  399.  
  400.    public void setVisible(boolean var1) {
  401.    }
  402.  
  403.    public boolean isShowing() {
  404.       return this.tree.isShowing() && this.isVisible();
  405.    }
  406.  
  407.    public boolean contains(Point var1) {
  408.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  409.       if (var2 instanceof AccessibleComponent) {
  410.          Rectangle var5 = ((AccessibleComponent)var2).getBounds();
  411.          return var5.contains(var1);
  412.       } else {
  413.          Component var3 = this.getCurrentComponent();
  414.          if (var3 != null) {
  415.             Rectangle var4 = var3.getBounds();
  416.             return var4.contains(var1);
  417.          } else {
  418.             return this.getBounds().contains(var1);
  419.          }
  420.       }
  421.    }
  422.  
  423.    public Point getLocationOnScreen() {
  424.       if (this.tree != null) {
  425.          Point var1 = this.tree.getLocationOnScreen();
  426.          Point var2 = this.getLocation();
  427.          var2.translate(var1.x, var1.y);
  428.          return var2;
  429.       } else {
  430.          return null;
  431.       }
  432.    }
  433.  
  434.    protected Point getLocationInJTree() {
  435.       Rectangle var1 = this.tree.getPathBounds(this.path);
  436.       return var1 != null ? var1.getLocation() : null;
  437.    }
  438.  
  439.    public Point getLocation() {
  440.       Rectangle var1 = this.getBounds();
  441.       return var1 != null ? var1.getLocation() : null;
  442.    }
  443.  
  444.    public void setLocation(Point var1) {
  445.    }
  446.  
  447.    public Rectangle getBounds() {
  448.       Rectangle var1 = this.tree.getPathBounds(this.path);
  449.       Accessible var2 = this.getAccessibleParent();
  450.       if (var2 != null && var2 instanceof JTree$AccessibleJTree$AccessibleJTreeNode) {
  451.          Point var3 = ((JTree$AccessibleJTree$AccessibleJTreeNode)var2).getLocationInJTree();
  452.          if (var3 == null || var1 == null) {
  453.             return null;
  454.          }
  455.  
  456.          var1.translate(-var3.x, -var3.y);
  457.       }
  458.  
  459.       return var1;
  460.    }
  461.  
  462.    public void setBounds(Rectangle var1) {
  463.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  464.       if (var2 instanceof AccessibleComponent) {
  465.          ((AccessibleComponent)var2).setBounds(var1);
  466.       } else {
  467.          Component var3 = this.getCurrentComponent();
  468.          if (var3 != null) {
  469.             var3.setBounds(var1);
  470.          }
  471.  
  472.       }
  473.    }
  474.  
  475.    public Dimension getSize() {
  476.       return this.getBounds().getSize();
  477.    }
  478.  
  479.    public void setSize(Dimension var1) {
  480.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  481.       if (var2 instanceof AccessibleComponent) {
  482.          ((AccessibleComponent)var2).setSize(var1);
  483.       } else {
  484.          Component var3 = this.getCurrentComponent();
  485.          if (var3 != null) {
  486.             var3.setSize(var1);
  487.          }
  488.  
  489.       }
  490.    }
  491.  
  492.    public Accessible getAccessibleAt(Point var1) {
  493.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  494.       return var2 instanceof AccessibleComponent ? ((AccessibleComponent)var2).getAccessibleAt(var1) : null;
  495.    }
  496.  
  497.    public boolean isFocusTraversable() {
  498.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  499.       if (var1 instanceof AccessibleComponent) {
  500.          return ((AccessibleComponent)var1).isFocusTraversable();
  501.       } else {
  502.          Component var2 = this.getCurrentComponent();
  503.          return var2 != null ? var2.isFocusTraversable() : false;
  504.       }
  505.    }
  506.  
  507.    public void requestFocus() {
  508.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  509.       if (var1 instanceof AccessibleComponent) {
  510.          ((AccessibleComponent)var1).requestFocus();
  511.       } else {
  512.          Component var2 = this.getCurrentComponent();
  513.          if (var2 != null) {
  514.             var2.requestFocus();
  515.          }
  516.  
  517.       }
  518.    }
  519.  
  520.    public void addFocusListener(FocusListener var1) {
  521.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  522.       if (var2 instanceof AccessibleComponent) {
  523.          ((AccessibleComponent)var2).addFocusListener(var1);
  524.       } else {
  525.          Component var3 = this.getCurrentComponent();
  526.          if (var3 != null) {
  527.             var3.addFocusListener(var1);
  528.          }
  529.  
  530.       }
  531.    }
  532.  
  533.    public void removeFocusListener(FocusListener var1) {
  534.       AccessibleContext var2 = this.getCurrentAccessibleContext();
  535.       if (var2 instanceof AccessibleComponent) {
  536.          ((AccessibleComponent)var2).removeFocusListener(var1);
  537.       } else {
  538.          Component var3 = this.getCurrentComponent();
  539.          if (var3 != null) {
  540.             var3.removeFocusListener(var1);
  541.          }
  542.  
  543.       }
  544.    }
  545.  
  546.    public int getAccessibleSelectionCount() {
  547.       int var1 = 0;
  548.       int var2 = this.getAccessibleChildrenCount();
  549.  
  550.       for(int var3 = 0; var3 < var2; ++var3) {
  551.          TreePath var4 = this.getChildTreePath(var3);
  552.          if (this.tree.isPathSelected(var4)) {
  553.             ++var1;
  554.          }
  555.       }
  556.  
  557.       return var1;
  558.    }
  559.  
  560.    public Accessible getAccessibleSelection(int var1) {
  561.       int var2 = this.getAccessibleChildrenCount();
  562.       if (var1 >= 0 && var1 < var2) {
  563.          int var3 = 0;
  564.  
  565.          for(int var4 = 0; var4 < var2 && var1 >= var3; ++var4) {
  566.             TreePath var5 = this.getChildTreePath(var4);
  567.             if (this.tree.isPathSelected(var5)) {
  568.                if (var3 == var1) {
  569.                   return new JTree$AccessibleJTree$AccessibleJTreeNode(this.this$1, this.tree, var5, this);
  570.                }
  571.  
  572.                ++var3;
  573.             }
  574.          }
  575.  
  576.          return null;
  577.       } else {
  578.          return null;
  579.       }
  580.    }
  581.  
  582.    public boolean isAccessibleChildSelected(int var1) {
  583.       int var2 = this.getAccessibleChildrenCount();
  584.       if (var1 >= 0 && var1 < var2) {
  585.          TreePath var3 = this.getChildTreePath(var1);
  586.          return this.tree.isPathSelected(var3);
  587.       } else {
  588.          return false;
  589.       }
  590.    }
  591.  
  592.    public void addAccessibleSelection(int var1) {
  593.       TreeModel var2 = AccessibleJTree.access$0(this.this$1).getModel();
  594.       if (var2 != null && var1 >= 0 && var1 < this.getAccessibleChildrenCount()) {
  595.          TreePath var3 = this.getChildTreePath(var1);
  596.          AccessibleJTree.access$0(this.this$1).addSelectionPath(var3);
  597.       }
  598.  
  599.    }
  600.  
  601.    public void removeAccessibleSelection(int var1) {
  602.       TreeModel var2 = AccessibleJTree.access$0(this.this$1).getModel();
  603.       if (var2 != null && var1 >= 0 && var1 < this.getAccessibleChildrenCount()) {
  604.          TreePath var3 = this.getChildTreePath(var1);
  605.          AccessibleJTree.access$0(this.this$1).removeSelectionPath(var3);
  606.       }
  607.  
  608.    }
  609.  
  610.    public void clearAccessibleSelection() {
  611.       int var1 = this.getAccessibleChildrenCount();
  612.  
  613.       for(int var2 = 0; var2 < var1; ++var2) {
  614.          this.removeAccessibleSelection(var2);
  615.       }
  616.  
  617.    }
  618.  
  619.    public void selectAllAccessibleSelection() {
  620.       TreeModel var1 = AccessibleJTree.access$0(this.this$1).getModel();
  621.       if (var1 != null) {
  622.          int var2 = this.getAccessibleChildrenCount();
  623.  
  624.          for(int var4 = 0; var4 < var2; ++var4) {
  625.             TreePath var3 = this.getChildTreePath(var4);
  626.             AccessibleJTree.access$0(this.this$1).addSelectionPath(var3);
  627.          }
  628.       }
  629.  
  630.    }
  631.  
  632.    public int getAccessibleActionCount() {
  633.       AccessibleContext var1 = this.getCurrentAccessibleContext();
  634.       if (var1 != null) {
  635.          AccessibleAction var2 = var1.getAccessibleAction();
  636.          if (var2 != null) {
  637.             return var2.getAccessibleActionCount() + (this.isLeaf ? 0 : 1);
  638.          }
  639.       }
  640.  
  641.       return this.isLeaf ? 0 : 1;
  642.    }
  643.  
  644.    public String getAccessibleActionDescription(int var1) {
  645.       if (var1 >= 0 && var1 < this.getAccessibleActionCount()) {
  646.          AccessibleContext var2 = this.getCurrentAccessibleContext();
  647.          if (var1 == 0) {
  648.             return "toggle expand";
  649.          } else {
  650.             if (var2 != null) {
  651.                AccessibleAction var3 = var2.getAccessibleAction();
  652.                if (var3 != null) {
  653.                   return var3.getAccessibleActionDescription(var1 - 1);
  654.                }
  655.             }
  656.  
  657.             return null;
  658.          }
  659.       } else {
  660.          return null;
  661.       }
  662.    }
  663.  
  664.    public boolean doAccessibleAction(int var1) {
  665.       if (var1 >= 0 && var1 < this.getAccessibleActionCount()) {
  666.          AccessibleContext var2 = this.getCurrentAccessibleContext();
  667.          if (var1 == 0) {
  668.             if (AccessibleJTree.access$0(this.this$1).isExpanded(this.path)) {
  669.                AccessibleJTree.access$0(this.this$1).collapsePath(this.path);
  670.             } else {
  671.                AccessibleJTree.access$0(this.this$1).expandPath(this.path);
  672.             }
  673.  
  674.             return true;
  675.          } else {
  676.             if (var2 != null) {
  677.                AccessibleAction var3 = var2.getAccessibleAction();
  678.                if (var3 != null) {
  679.                   return var3.doAccessibleAction(var1 - 1);
  680.                }
  681.             }
  682.  
  683.             return false;
  684.          }
  685.       } else {
  686.          return false;
  687.       }
  688.    }
  689. }
  690.