home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / webhelp.jar / treeview / TreeViewNode.class (.txt) < prev   
Encoding:
Java Class File  |  2000-11-07  |  3.7 KB  |  265 lines

  1. package treeview;
  2.  
  3. import java.awt.Image;
  4. import java.awt.Rectangle;
  5.  
  6. public class TreeViewNode extends SiblingChildTree {
  7.    protected ImageSet m_isImages;
  8.    protected ImageSetSource m_issrcSource;
  9.    protected String m_strLabel;
  10.    protected Rectangle m_rectBounds;
  11.    protected boolean m_bCollapsed = false;
  12.    protected boolean m_bSelected = false;
  13.    protected boolean m_bUseSpecificImgIndex = false;
  14.    protected int m_nImageIndex = -1;
  15.  
  16.    public void doDblClick() {
  17.    }
  18.  
  19.    public void moveBounds(int var1, int var2) {
  20.       this.m_rectBounds.x = var1;
  21.       this.m_rectBounds.y = var2;
  22.    }
  23.  
  24.    public boolean getCollapsedState() {
  25.       return this.m_bCollapsed;
  26.    }
  27.  
  28.    public void setCollapsedState(boolean var1) {
  29.       this.m_bCollapsed = var1;
  30.    }
  31.  
  32.    public TreeViewNode nextNode(boolean var1) {
  33.       if ((!var1 || !this.m_bCollapsed) && super.child != null) {
  34.          return (TreeViewNode)super.child;
  35.       } else if (super.sibling_right != null) {
  36.          return (TreeViewNode)super.sibling_right;
  37.       } else {
  38.          for(SiblingChildTree var2 = super.parent; var2 != null; var2 = var2.parent) {
  39.             if (var2.sibling_right != null) {
  40.                return (TreeViewNode)var2.sibling_right;
  41.             }
  42.          }
  43.  
  44.          return null;
  45.       }
  46.    }
  47.  
  48.    public void select(boolean var1) {
  49.       this.m_bSelected = var1;
  50.    }
  51.  
  52.    public void collapseTree() {
  53.       for(TreeViewNode var1 = this; var1 != null; var1 = (TreeViewNode)var1.sibling_right) {
  54.          var1.m_bCollapsed = true;
  55.  
  56.          try {
  57.             ((TreeViewNode)var1.child).collapseTree();
  58.          } catch (NullPointerException var2) {
  59.          }
  60.       }
  61.  
  62.    }
  63.  
  64.    public Rectangle getBounds() {
  65.       return new Rectangle(this.m_rectBounds.x, this.m_rectBounds.y, this.m_rectBounds.width, this.m_rectBounds.height);
  66.    }
  67.  
  68.    public void setBounds(int var1, int var2, int var3, int var4) {
  69.       this.m_rectBounds.reshape(var1, var2, var3, var4);
  70.    }
  71.  
  72.    public void setBounds(Rectangle var1) {
  73.       this.m_rectBounds.reshape(var1.x, var1.y, var1.width, var1.height);
  74.    }
  75.  
  76.    public int getWidth() {
  77.       return this.m_rectBounds.width;
  78.    }
  79.  
  80.    public int getImageIndex() {
  81.       return this.m_nImageIndex;
  82.    }
  83.  
  84.    public void setImageIndex(int var1) {
  85.       this.m_nImageIndex = var1;
  86.    }
  87.  
  88.    public void setImageSetSource(ImageSetSource var1) {
  89.       this.m_issrcSource = var1;
  90.    }
  91.  
  92.    public ImageSetSource getImageSetSource() {
  93.       return this.m_issrcSource;
  94.    }
  95.  
  96.    public void expandTree() {
  97.       for(TreeViewNode var1 = this; var1 != null; var1 = (TreeViewNode)var1.sibling_right) {
  98.          var1.m_bCollapsed = false;
  99.  
  100.          try {
  101.             ((TreeViewNode)var1.child).expandTree();
  102.          } catch (NullPointerException var2) {
  103.          }
  104.       }
  105.  
  106.    }
  107.  
  108.    public TreeViewNode() {
  109.       this.m_isImages = null;
  110.       this.m_issrcSource = null;
  111.       this.m_strLabel = null;
  112.       this.m_rectBounds = new Rectangle();
  113.    }
  114.  
  115.    public TreeViewNode(String var1) {
  116.       this.m_isImages = null;
  117.       this.m_issrcSource = null;
  118.       this.m_strLabel = var1;
  119.       this.m_rectBounds = new Rectangle();
  120.    }
  121.  
  122.    public TreeViewNode(ImageSet var1) {
  123.       this.m_isImages = var1;
  124.       this.m_issrcSource = null;
  125.       this.m_strLabel = null;
  126.       this.m_rectBounds = new Rectangle();
  127.    }
  128.  
  129.    public TreeViewNode(ImageSetSource var1) {
  130.       this.m_isImages = null;
  131.       this.m_issrcSource = var1;
  132.       this.m_strLabel = null;
  133.       this.m_rectBounds = new Rectangle();
  134.    }
  135.  
  136.    public TreeViewNode(String var1, ImageSetSource var2) {
  137.       this.m_isImages = null;
  138.       this.m_issrcSource = var2;
  139.       this.m_strLabel = var1;
  140.       this.m_rectBounds = new Rectangle();
  141.    }
  142.  
  143.    public TreeViewNode(String var1, ImageSet var2) {
  144.       this.m_isImages = var2;
  145.       this.m_issrcSource = null;
  146.       this.m_strLabel = var1;
  147.       this.m_rectBounds = new Rectangle();
  148.    }
  149.  
  150.    public boolean isSelected() {
  151.       return this.m_bSelected;
  152.    }
  153.  
  154.    public TreeViewNode prevNode(boolean var1) {
  155.       if (super.sibling_left == null) {
  156.          return super.parent != null ? (TreeViewNode)this.lastBeforeMatch((TreeViewNode)super.parent, var1) : null;
  157.       } else if (var1 && ((TreeViewNode)super.sibling_left).m_bCollapsed) {
  158.          return (TreeViewNode)this.lastBeforeMatch((TreeViewNode)super.sibling_left, var1);
  159.       } else {
  160.          SiblingChildTree var2 = super.sibling_left.child;
  161.          if (var2 == null) {
  162.             return (TreeViewNode)this.lastBeforeMatch((TreeViewNode)super.sibling_left, var1);
  163.          } else {
  164.             while(var2.sibling_right != null) {
  165.                var2 = var2.sibling_right;
  166.             }
  167.  
  168.             return (TreeViewNode)this.lastBeforeMatch((TreeViewNode)var2, var1);
  169.          }
  170.       }
  171.    }
  172.  
  173.    private SiblingChildTree lastBeforeMatch(TreeViewNode var1, boolean var2) {
  174.       TreeViewNode var3 = null;
  175.  
  176.       do {
  177.          if (var3 != null) {
  178.             var1 = var3;
  179.          }
  180.  
  181.          var3 = var1.nextNode(var2);
  182.       } while(var3 != this);
  183.  
  184.       return var1;
  185.    }
  186.  
  187.    public Image getCurrentImage() {
  188.       ImageSet var1 = this.m_isImages;
  189.       if (var1 == null) {
  190.          if (this.m_issrcSource != null) {
  191.             var1 = this.m_issrcSource.getImages();
  192.          }
  193.  
  194.          if (var1 == null) {
  195.             return null;
  196.          }
  197.       }
  198.  
  199.       try {
  200.          if (this.m_bUseSpecificImgIndex) {
  201.             try {
  202.                return var1.getImage(this.m_nImageIndex);
  203.             } catch (IndexOutOfBoundsException var2) {
  204.                return null;
  205.             }
  206.          } else if (super.child == null) {
  207.             if (this.m_bSelected) {
  208.                try {
  209.                   return var1.getImage(3);
  210.                } catch (IndexOutOfBoundsException var3) {
  211.                   return var1.getImage(0);
  212.                }
  213.             } else {
  214.                return var1.getImage(0);
  215.             }
  216.          } else if (this.m_bSelected) {
  217.             try {
  218.                return this.m_bCollapsed ? var1.getImage(4) : var1.getImage(5);
  219.             } catch (IndexOutOfBoundsException var4) {
  220.                return this.m_bCollapsed ? var1.getImage(1) : var1.getImage(2);
  221.             }
  222.          } else {
  223.             return this.m_bCollapsed ? var1.getImage(1) : var1.getImage(2);
  224.          }
  225.       } catch (IndexOutOfBoundsException var5) {
  226.          return null;
  227.       }
  228.    }
  229.  
  230.    public boolean getUseSpecifiedImageIndex() {
  231.       return this.m_bUseSpecificImgIndex;
  232.    }
  233.  
  234.    public void setUseSpecifiedImageIndex(boolean var1) {
  235.       this.m_bUseSpecificImgIndex = var1;
  236.    }
  237.  
  238.    public int getHeight() {
  239.       return this.m_rectBounds.height;
  240.    }
  241.  
  242.    public ImageSet getImages() {
  243.       return this.m_isImages;
  244.    }
  245.  
  246.    public void setImages(ImageSet var1) {
  247.       this.m_isImages = var1;
  248.    }
  249.  
  250.    public boolean isInside(int var1, int var2) {
  251.       return this.m_rectBounds.inside(var1, var2);
  252.    }
  253.  
  254.    public String getLabel() {
  255.       return this.m_strLabel;
  256.    }
  257.  
  258.    public void setLabel(String var1) {
  259.       this.m_strLabel = var1;
  260.    }
  261.  
  262.    public void doAction() {
  263.    }
  264. }
  265.