home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / CONVERS.EXE / unitPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-21  |  4.1 KB  |  188 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.GridLayout;
  8. import java.awt.Label;
  9. import java.awt.List;
  10. import java.awt.Panel;
  11. import java.awt.TextArea;
  12. import java.awt.TextField;
  13.  
  14. class unitPanel extends Panel {
  15.    units owner;
  16.    String name;
  17.    unitDatum[] array;
  18.    Panel topPanel;
  19.    Panel inputPanel;
  20.    Panel choicePanel;
  21.    TextArea output;
  22.    TextField inputVal;
  23.    List inputUnit;
  24.  
  25.    public boolean mouseEnter(Event var1, int var2, int var3) {
  26.       return this.owner.mouseEnter(var1, var2, var3);
  27.    }
  28.  
  29.    void process() {
  30.       String var1 = "";
  31.       int var2 = this.inputUnit.getSelectedIndex();
  32.       double var3 = this.array[var2].m;
  33.       double var5 = this.array[var2].b;
  34.       double var7 = Double.valueOf(this.inputVal.getText());
  35.       var1 = var1 + this.stringFormat(this.name + " Output Values", this.name + " Output Units");
  36.       var1 = var1 + this.stringFormat("---------------------------", "---------------------------");
  37.  
  38.       for(int var9 = 0; var9 < this.array.length; ++var9) {
  39.          double var10 = this.array[var9].m;
  40.          double var12 = this.array[var9].b;
  41.          double var14 = (var7 - var5) / var3 * var10 + var12;
  42.          var1 = var1 + this.stringFormat(this.doubleToString(var14), this.array[var9].name);
  43.       }
  44.  
  45.       var1 = var1 + "\n " + this.owner.noClicks;
  46.       this.output.setText(var1);
  47.    }
  48.  
  49.    String stringFormat(String var1, String var2) {
  50.       while(var1.length() < 30) {
  51.          var1 = var1 + " ";
  52.       }
  53.  
  54.       return " " + var1 + var2 + "\n";
  55.    }
  56.  
  57.    public boolean mouseExit(Event var1, int var2, int var3) {
  58.       return this.owner.mouseExit(var1, var2, var3);
  59.    }
  60.  
  61.    String doubleToString(double var1) {
  62.       String var3 = "";
  63.       String var4 = var1 < (double)0.0F ? "-" : " ";
  64.       var1 = Math.abs(var1);
  65.       double var5;
  66.       int var7;
  67.       if (var1 == (double)0.0F) {
  68.          var7 = 0;
  69.          var5 = (double)0.0F;
  70.       } else {
  71.          var7 = (int)(Math.log(var1) / Math.log((double)10.0F));
  72.          var5 = var1 * Math.pow((double)10.0F, (double)(-var7)) + 5.0E-16;
  73.          if ((int)var5 > 9) {
  74.             var5 /= (double)10.0F;
  75.             ++var7;
  76.          }
  77.  
  78.          if ((int)var5 < 1) {
  79.             var5 *= (double)10.0F;
  80.             --var7;
  81.          }
  82.       }
  83.  
  84.       boolean var8 = var7 >= -2 && var7 <= 3;
  85.       if (var8 && var7 < 0) {
  86.          var3 = var3 + "0.";
  87.  
  88.          for(int var9 = var7; var9 < -1; ++var9) {
  89.             var3 = var3 + "0";
  90.          }
  91.       }
  92.  
  93.       int var17 = 0;
  94.  
  95.       do {
  96.          int var10 = (int)var5;
  97.          var5 -= (double)var10;
  98.          var5 *= (double)10.0F;
  99.          var3 = var3 + "" + var10;
  100.          if (var8) {
  101.             if (var17 == var7) {
  102.                var3 = var3 + ".";
  103.             }
  104.          } else if (var17 == 0) {
  105.             var3 = var3 + ".";
  106.          }
  107.  
  108.          ++var17;
  109.       } while(var17 < 15);
  110.  
  111.       int var19 = 14;
  112.  
  113.       do {
  114.          var17 = var3.endsWith("0") || var3.endsWith(".");
  115.          if (var17) {
  116.             var3 = var3.substring(0, var3.length() - 1);
  117.          }
  118.  
  119.          if (var8 && var19 <= var7) {
  120.             var17 = 0;
  121.          }
  122.  
  123.          --var19;
  124.       } while(var17);
  125.  
  126.       String var11 = "E" + ((double)var7 < (double)0.0F ? "-" : "+");
  127.       var7 = Math.abs(var7);
  128.  
  129.       String var12;
  130.       for(var12 = "" + var7; var12.length() < 2; var12 = "0" + var12) {
  131.       }
  132.  
  133.       if (var8) {
  134.          var3 = var4 + var3;
  135.       } else {
  136.          var3 = var4 + var3 + var11 + var12;
  137.       }
  138.  
  139.       return var3;
  140.    }
  141.  
  142.    public boolean action(Event var1, Object var2) {
  143.       this.process();
  144.       return true;
  145.    }
  146.  
  147.    public boolean mouseDown(Event var1, int var2, int var3) {
  148.       return this.owner.mouseDown(var1, var2, var3);
  149.    }
  150.  
  151.    unitPanel(String var1, unitDatum[] var2, units var3) {
  152.       this.owner = var3;
  153.       this.name = var1;
  154.       ((Container)this).add(new Label(var1));
  155.       this.array = var2;
  156.       ((Container)this).setLayout(new BorderLayout());
  157.       this.inputPanel = new Panel();
  158.       this.inputPanel.setLayout(new GridLayout(2, 1));
  159.       this.choicePanel = new Panel();
  160.       this.choicePanel.setLayout(new GridLayout(1, 1));
  161.       this.topPanel = new Panel();
  162.       this.topPanel.setLayout(new GridLayout(1, 2));
  163.       this.topPanel.add(this.inputPanel);
  164.       this.topPanel.add(this.choicePanel);
  165.       this.inputPanel.add(new Label("Enter " + this.name + " input value and units", 1));
  166.       this.inputPanel.add(this.inputVal = new TextField(12));
  167.       this.inputUnit = new List();
  168.  
  169.       for(int var4 = 0; var4 < this.array.length; ++var4) {
  170.          this.inputUnit.addItem(this.array[var4].name, var4);
  171.       }
  172.  
  173.       this.inputUnit.setBackground(Color.white);
  174.       this.choicePanel.add(this.inputUnit);
  175.       ((Container)this).add("North", this.topPanel);
  176.       this.output = new TextArea();
  177.       this.output.setEditable(false);
  178.       this.output.setBackground(Color.white);
  179.       this.output.setFont(new Font("Courier", 0, 12));
  180.       ((Container)this).add("Center", this.output);
  181.       this.inputVal.setText("1");
  182.       this.inputUnit.select(0);
  183.       this.process();
  184.       ((Component)this).show();
  185.       this.inputUnit.makeVisible(0);
  186.    }
  187. }
  188.