home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / OptionsFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  3.0 KB  |  123 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Checkbox;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.FlowLayout;
  8. import java.awt.Frame;
  9. import java.awt.GridLayout;
  10. import java.awt.Label;
  11. import java.awt.Panel;
  12. import java.awt.Scrollbar;
  13. import java.awt.Window;
  14.  
  15. class OptionsFrame extends Frame {
  16.    DigSim applet;
  17.    Scrollbar slider;
  18.    static final int MIN_SPEED = 0;
  19.    static final int MAX_SPEED = 1000;
  20.    static final int PAGE_SIZE = 100;
  21.    Checkbox ShortCircuitCheckbox;
  22.    Checkbox LoopCheckbox;
  23.    Checkbox AnalyzerCheckbox;
  24.  
  25.    public OptionsFrame(DigSim var1) {
  26.       super("DigSim Options");
  27.       this.applet = var1;
  28.       ((Container)this).setLayout(new GridLayout(5, 1, 5, 5));
  29.       int var2 = 1010 - this.applet.SimulationSpeed;
  30.       this.slider = new Scrollbar(0, var2, 100, 0, 1000);
  31.       Panel var3 = new Panel();
  32.       ((Container)var3).setLayout(new BorderLayout());
  33.       ((Container)var3).add("Center", new Label("Simulation speed", 1));
  34.       ((Container)var3).add("West", new Label("min", 0));
  35.       ((Container)var3).add("East", new Label("max", 2));
  36.       ((Container)var3).add("South", this.slider);
  37.       ((Container)this).add(var3);
  38.       Panel var4 = new Panel();
  39.       ((Container)var4).setLayout(new BorderLayout());
  40.       ((Container)var4).add("North", this.ShortCircuitCheckbox = new Checkbox("Stop simulate at short-circuit"));
  41.       if (this.applet.StopAtShortCircuit) {
  42.          this.ShortCircuitCheckbox.setState(true);
  43.       }
  44.  
  45.       ((Container)this).add(var4);
  46.       Panel var5 = new Panel();
  47.       ((Container)var5).setLayout(new BorderLayout());
  48.       ((Container)var5).add("North", this.LoopCheckbox = new Checkbox("Stop simulate at loop"));
  49.       if (this.applet.StopAtLoop) {
  50.          this.LoopCheckbox.setState(true);
  51.       }
  52.  
  53.       ((Container)this).add(var5);
  54.       Panel var6 = new Panel();
  55.       ((Container)var6).setLayout(new BorderLayout());
  56.       ((Container)var6).add("North", this.AnalyzerCheckbox = new Checkbox("Auto pop-up analyzer"));
  57.       if (this.applet.AnalyzerAutoPopUp) {
  58.          this.AnalyzerCheckbox.setState(true);
  59.       }
  60.  
  61.       ((Container)this).add(var6);
  62.       Panel var7 = new Panel();
  63.       ((Container)var7).setLayout(new FlowLayout());
  64.       ((Container)var7).add(new Button("OK"));
  65.       ((Container)var7).add(new Button("Default"));
  66.       ((Container)var7).add(new Button("Cancel"));
  67.       ((Container)this).add(var7);
  68.       ((Component)this).resize(275, 225);
  69.       ((Window)this).show();
  70.       ((Component)this).resize(275, 225);
  71.    }
  72.  
  73.    public boolean handleEvent(Event var1) {
  74.       if (var1.id == 201) {
  75.          ((Component)this).hide();
  76.          this.applet.MyOptionsFrame = null;
  77.          return true;
  78.       } else {
  79.          return super.handleEvent(var1);
  80.       }
  81.    }
  82.  
  83.    public void SetDefaultValues() {
  84.       this.slider.setValue(1000);
  85.       this.ShortCircuitCheckbox.setState(true);
  86.       this.LoopCheckbox.setState(true);
  87.       this.AnalyzerCheckbox.setState(true);
  88.       ((Component)this).repaint();
  89.    }
  90.  
  91.    public void SetNewValues() {
  92.       int var1 = 1010 - this.slider.getValue();
  93.       this.applet.SimulationSpeed = var1;
  94.       this.applet.StopAtShortCircuit = this.ShortCircuitCheckbox.getState();
  95.       this.applet.StopAtLoop = this.LoopCheckbox.getState();
  96.       this.applet.AnalyzerAutoPopUp = this.AnalyzerCheckbox.getState();
  97.    }
  98.  
  99.    public boolean action(Event var1, Object var2) {
  100.       if (var1.target instanceof Button) {
  101.          if (var2.equals("Default")) {
  102.             this.SetDefaultValues();
  103.             return true;
  104.          }
  105.  
  106.          if (var2.equals("Cancel")) {
  107.             ((Component)this).hide();
  108.             this.applet.MyOptionsFrame = null;
  109.             return true;
  110.          }
  111.  
  112.          if (var2.equals("OK")) {
  113.             this.SetNewValues();
  114.             ((Component)this).hide();
  115.             this.applet.MyOptionsFrame = null;
  116.             return true;
  117.          }
  118.       }
  119.  
  120.       return false;
  121.    }
  122. }
  123.