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

  1. package hhapplet;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Event;
  6. import treeview.SiblingChildTree;
  7. import treeview.TreeView;
  8. import treeview.TreeViewNode;
  9.  
  10. public class IndexTree extends TreeView {
  11.    IndexPane m_ip;
  12.    private IndexTreeNode m_root = new IndexTreeNode(this);
  13.    int m_nVisibleIndex = -1;
  14.    int m_nCountCache = -1;
  15.  
  16.    public String getItem(int var1) {
  17.       IndexTreeNode var2 = (IndexTreeNode)this.m_root.getChild();
  18.  
  19.       for(int var3 = 0; var3 < var1; ++var3) {
  20.          var2 = (IndexTreeNode)((SiblingChildTree)var2).getSibling();
  21.       }
  22.  
  23.       return ((TreeViewNode)var2).getLabel();
  24.    }
  25.  
  26.    public IndexTree(IndexPane var1) {
  27.       this.m_ip = var1;
  28.       ((TreeView)this).setRoot(this.m_root);
  29.       ((Component)this).setBackground(new Color(255, 255, 255));
  30.    }
  31.  
  32.    public int getVisibleIndex() {
  33.       return this.m_nVisibleIndex;
  34.    }
  35.  
  36.    public int countItems() {
  37.       if (this.m_nCountCache == -1) {
  38.          IndexTreeNode var1 = (IndexTreeNode)this.m_root.getChild();
  39.  
  40.          for(this.m_nCountCache = 0; var1 != null; var1 = (IndexTreeNode)((SiblingChildTree)var1).getSibling()) {
  41.             ++this.m_nCountCache;
  42.          }
  43.       }
  44.  
  45.       return this.m_nCountCache;
  46.    }
  47.  
  48.    public String getSelectedItem() {
  49.       for(IndexTreeNode var1 = (IndexTreeNode)this.m_root.getChild(); var1 != null; var1 = (IndexTreeNode)((SiblingChildTree)var1).getSibling()) {
  50.          if (((TreeViewNode)var1).isSelected()) {
  51.             return ((TreeViewNode)var1).getLabel();
  52.          }
  53.       }
  54.  
  55.       return "";
  56.    }
  57.  
  58.    public void select(int var1) {
  59.       IndexTreeNode var2 = (IndexTreeNode)this.m_root.getChild();
  60.  
  61.       for(int var3 = 0; var2 != null; ++var3) {
  62.          if (var3 == var1) {
  63.             ((TreeViewNode)var2).select(true);
  64.             super.m_tvnCurrentSelection = var2;
  65.          } else {
  66.             ((TreeViewNode)var2).select(false);
  67.          }
  68.  
  69.          var2 = (IndexTreeNode)((SiblingChildTree)var2).getSibling();
  70.       }
  71.  
  72.       ((Component)this).paintAll(((Component)this).getGraphics());
  73.    }
  74.  
  75.    protected void InternalSelectionHasChanged() {
  76.       this.m_ip.getEditBox().setText(this.getSelectedItem());
  77.    }
  78.  
  79.    public void addItem(String var1) {
  80.       IndexTreeNode var2 = new IndexTreeNode(this);
  81.       ((TreeViewNode)var2).setLabel(var1);
  82.       this.m_root.addChild(var2);
  83.       this.m_nCountCache = -1;
  84.       ((Component)this).repaint();
  85.    }
  86.  
  87.    public void makeVisible(int var1) {
  88.       this.m_nVisibleIndex = var1;
  89.       IndexTreeNode var2 = (IndexTreeNode)this.m_root.getChild();
  90.  
  91.       for(int var3 = 0; var3 <= var1; ++var3) {
  92.          var2 = (IndexTreeNode)((SiblingChildTree)var2).getSibling();
  93.       }
  94.  
  95.       ((TreeView)this).EnsureDisplayed(var2);
  96.       ((Component)this).paintAll(((Component)this).getGraphics());
  97.    }
  98.  
  99.    public int getSelectedIndex() {
  100.       IndexTreeNode var1 = (IndexTreeNode)this.m_root.getChild();
  101.  
  102.       for(int var2 = 0; var1 != null; ++var2) {
  103.          if (((TreeViewNode)var1).isSelected()) {
  104.             return var2;
  105.          }
  106.  
  107.          var1 = (IndexTreeNode)((SiblingChildTree)var1).getSibling();
  108.       }
  109.  
  110.       return -1;
  111.    }
  112.  
  113.    public void clear() {
  114.       this.m_root = new IndexTreeNode(this);
  115.       ((TreeView)this).setRoot(this.m_root);
  116.       this.m_nCountCache = -1;
  117.       ((Component)this).paintAll(((Component)this).getGraphics());
  118.    }
  119.  
  120.    public boolean handleEvent(Event var1) {
  121.       if (var1.id == 403) {
  122.          switch (var1.key) {
  123.             case 1006:
  124.                ((TreeView)this).ScrollLeft();
  125.                break;
  126.             case 1007:
  127.                ((TreeView)this).ScrollRight();
  128.          }
  129.       }
  130.  
  131.       return super.handleEvent(var1);
  132.    }
  133. }
  134.