home *** CD-ROM | disk | FTP | other *** search
/ MACD 7 / MACD7.iso / www / weirdscience / classes / treecontrol.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-14  |  3.1 KB  |  135 lines

  1. import java.awt.Button;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.Frame;
  7. import java.awt.GridBagConstraints;
  8. import java.awt.GridBagLayout;
  9. import java.awt.List;
  10. import java.util.Vector;
  11.  
  12. public class TreeControl extends Frame {
  13.    // $FF: renamed from: tb TreeBrowse
  14.    private TreeBrowse field_0;
  15.    private final String sBack = "   Back   ";
  16.    private final String sFord = "Forward";
  17.    // $FF: renamed from: h java.util.Vector
  18.    private Vector field_1 = new Vector();
  19.    // $FF: renamed from: l java.awt.List
  20.    private List field_2 = new List();
  21.    private int display;
  22.    private int size;
  23.    private Button butBack;
  24.    private Button butFord;
  25.  
  26.    public TreeControl(TreeBrowse var1) {
  27.       this.field_0 = var1;
  28.       GridBagLayout var2 = new GridBagLayout();
  29.       GridBagConstraints var3 = new GridBagConstraints();
  30.       ((Component)this).setFont(new Font("Helvetica", 0, 14));
  31.       ((Container)this).setLayout(var2);
  32.       var3.fill = 1;
  33.       var3.weightx = (double)1.0F;
  34.       this.butBack = this.makeButton("   Back   ", var2, var3);
  35.       var3.gridwidth = 0;
  36.       this.butFord = this.makeButton("Forward", var2, var3);
  37.       var3.weighty = (double)1.0F;
  38.       var2.setConstraints(this.field_2, var3);
  39.       ((Container)this).add(this.field_2);
  40.    }
  41.  
  42.    private Button makeButton(String var1, GridBagLayout var2, GridBagConstraints var3) {
  43.       Button var4 = new Button(var1);
  44.       ((Component)var4).disable();
  45.       var2.setConstraints(var4, var3);
  46.       ((Container)this).add(var4);
  47.       return var4;
  48.    }
  49.  
  50.    public void addItem(TreeNode var1) {
  51.       if (this.display > 0) {
  52.          for(int var2 = 0; var2 < this.display; ++var2) {
  53.             this.field_1.removeElementAt(0);
  54.             this.field_2.delItem(0);
  55.          }
  56.  
  57.          this.size -= this.display;
  58.       }
  59.  
  60.       this.field_1.insertElementAt(var1, 0);
  61.       this.field_2.addItem(var1.data.name, 0);
  62.       ++this.size;
  63.       this.display = 0;
  64.       this.field_2.select(this.display);
  65.       if (this.size > 1) {
  66.          this.butBack.enable();
  67.          this.butFord.disable();
  68.       }
  69.  
  70.    }
  71.  
  72.    private void display(int var1) {
  73.       if (var1 == 0) {
  74.          this.butFord.disable();
  75.       } else {
  76.          this.butFord.enable();
  77.       }
  78.  
  79.       if (var1 == this.size - 1) {
  80.          this.butBack.disable();
  81.       } else {
  82.          this.butBack.enable();
  83.       }
  84.  
  85.       this.display = var1;
  86.       this.field_0.updateURL((TreeNode)this.field_1.elementAt(this.display));
  87.    }
  88.  
  89.    private void back() {
  90.       if (++this.display == this.size - 1) {
  91.          this.butBack.disable();
  92.       } else {
  93.          this.butBack.enable();
  94.       }
  95.  
  96.       this.butFord.enable();
  97.       this.field_2.select(this.display);
  98.       this.field_0.updateURL((TreeNode)this.field_1.elementAt(this.display));
  99.    }
  100.  
  101.    private void ford() {
  102.       if (--this.display == 0) {
  103.          this.butFord.disable();
  104.       } else {
  105.          this.butFord.enable();
  106.       }
  107.  
  108.       this.butBack.enable();
  109.       this.field_2.select(this.display);
  110.       this.field_0.updateURL((TreeNode)this.field_1.elementAt(this.display));
  111.    }
  112.  
  113.    public boolean action(Event var1, Object var2) {
  114.       if (var1.target == this.butBack) {
  115.          this.back();
  116.       } else if (var1.target == this.butFord) {
  117.          this.ford();
  118.       }
  119.  
  120.       return true;
  121.    }
  122.  
  123.    public synchronized boolean handleEvent(Event var1) {
  124.       if (var1.id == 201) {
  125.          ((Component)this).hide();
  126.       }
  127.  
  128.       if (var1.target instanceof List) {
  129.          this.display(this.field_2.getSelectedIndex());
  130.       }
  131.  
  132.       return super.handleEvent(var1);
  133.    }
  134. }
  135.