home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin2000.exe / ACRlev.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  5.2 KB  |  342 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.Panel;
  10.  
  11. class ACRlev extends Panel {
  12.    int curLevel = 1;
  13.    int maxLevel = 1;
  14.    private Event the_e = null;
  15.    Color bgColor;
  16.    // $FF: renamed from: d java.awt.Dimension
  17.    Dimension field_0;
  18.    boolean first_run;
  19.    boolean paint_called;
  20.    // $FF: renamed from: ts java.awt.Image
  21.    Image field_1;
  22.    Graphics g_ts;
  23.    Font font;
  24.    // $FF: renamed from: fm java.awt.FontMetrics
  25.    FontMetrics field_2;
  26.    Font recFont;
  27.    FontMetrics recfm;
  28.    // $FF: renamed from: mx int
  29.    int field_3;
  30.    // $FF: renamed from: my int
  31.    int field_4;
  32.    private int last_down;
  33.    private int cur_down;
  34.    int[] b_x;
  35.    int[] b_y;
  36.    int[] b_w;
  37.    int[] b_h;
  38.    int[] b_s;
  39.    String[] b_msg;
  40.    private int type;
  41.    private boolean showTotal;
  42.  
  43.    public boolean mouseMove(Event var1, int var2, int var3) {
  44.       return true;
  45.    }
  46.  
  47.    public boolean mouseExit(Event var1, int var2, int var3) {
  48.       if (this.cur_down > -1) {
  49.          this.drawButton(this.b_x[this.cur_down], this.b_y[this.cur_down], this.b_w[this.cur_down], this.b_h[this.cur_down], 1, this.b_msg[this.cur_down], this.b_s[this.cur_down]);
  50.          this.last_down = this.cur_down;
  51.          this.cur_down = -1;
  52.          this.paintIt();
  53.       }
  54.  
  55.       return true;
  56.    }
  57.  
  58.    public ACRlev(boolean var1) {
  59.       this.bgColor = ACutilb.windowColor;
  60.       this.first_run = true;
  61.       this.font = new Font("Helvetica", 0, 10);
  62.       this.recFont = new Font("Helvetica", 1, 11);
  63.       this.last_down = -1;
  64.       this.cur_down = -1;
  65.       this.b_x = new int[2];
  66.       this.b_y = new int[2];
  67.       this.b_w = new int[2];
  68.       this.b_h = new int[2];
  69.       this.b_s = new int[2];
  70.       this.b_msg = new String[2];
  71.       this.type = 0;
  72.       this.showTotal = false;
  73.       this.showTotal = var1;
  74.       ((Component)this).setBackground(ACutilb.windowColor);
  75.       this.field_2 = ((Component)this).getFontMetrics(this.font);
  76.       this.the_e = new Event(this, 900, this);
  77.    }
  78.  
  79.    public void paint(Graphics var1) {
  80.       this.paint_called = true;
  81.       this.paintIt();
  82.    }
  83.  
  84.    public void setbgColor(Color var1) {
  85.       this.bgColor = var1;
  86.       ((Component)this).setBackground(this.bgColor);
  87.       this.paintIt();
  88.    }
  89.  
  90.    public boolean mouseUp(Event var1, int var2, int var3) {
  91.       this.last_down = -1;
  92.       if (this.cur_down > -1) {
  93.          this.takeAction(this.cur_down);
  94.          this.drawButton(this.b_x[this.cur_down], this.b_y[this.cur_down], this.b_w[this.cur_down], this.b_h[this.cur_down], 1, this.b_msg[this.cur_down], this.b_s[this.cur_down]);
  95.          this.cur_down = -1;
  96.          this.paintIt();
  97.       }
  98.  
  99.       return true;
  100.    }
  101.  
  102.    public void setRecInfo(int var1, int var2) {
  103.       this.curLevel = var1;
  104.       this.maxLevel = var2;
  105.       this.updateNums();
  106.       this.paintIt();
  107.    }
  108.  
  109.    private synchronized void paintIt() {
  110.       if (this.paint_called) {
  111.          Graphics var1 = ((Component)this).getGraphics();
  112.          if (this.first_run) {
  113.             ((Component)this).setBackground(this.bgColor);
  114.             this.field_1 = ((Component)this).createImage(this.field_0.width, this.field_0.height);
  115.             this.g_ts = this.field_1.getGraphics();
  116.             this.g_ts.setFont(this.font);
  117.             this.field_2 = ((Component)this).getFontMetrics(this.font);
  118.             this.g_ts.setColor(this.bgColor);
  119.             this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
  120.             this.first_run = false;
  121.             this.DrawButtons();
  122.          } else {
  123.             var1.drawImage(this.field_1, 0, 0, this);
  124.          }
  125.       }
  126.    }
  127.  
  128.    public void resize(Dimension var1) {
  129.       if (var1.width * var1.height > 0) {
  130.          this.reDrawButtons();
  131.          super.resize(var1);
  132.       }
  133.    }
  134.  
  135.    public void resize(int var1, int var2) {
  136.       if (var1 * var2 > 0) {
  137.          this.field_0 = new Dimension(var1, var2);
  138.          this.reDrawButtons();
  139.          super.resize(var1, var2);
  140.       }
  141.    }
  142.  
  143.    private boolean takeAction(int var1) {
  144.       this.the_e.id = 952;
  145.       this.the_e.arg = (new Integer(var1)).toString();
  146.       super.postEvent(this.the_e);
  147.       return true;
  148.    }
  149.  
  150.    public void DrawButtons() {
  151.       int var1 = 0;
  152.  
  153.       do {
  154.          this.b_y[var1] = 2;
  155.          this.b_h[var1] = 14;
  156.          this.b_w[var1] = 16;
  157.          this.b_s[var1] = 0;
  158.          ++var1;
  159.       } while(var1 < 2);
  160.  
  161.       this.b_x[0] = this.field_0.width - 35;
  162.       this.b_s[0] = 1;
  163.       this.b_x[1] = this.field_0.width - 18;
  164.       this.b_s[1] = 2;
  165.       var1 = 0;
  166.  
  167.       do {
  168.          this.drawButton(this.b_x[var1], this.b_y[var1], this.b_w[var1], this.b_h[var1], 1, this.b_msg[var1], this.b_s[var1]);
  169.          ++var1;
  170.       } while(var1 < 2);
  171.  
  172.       this.updateNums();
  173.       this.paintIt();
  174.    }
  175.  
  176.    private void drawButton(int var1, int var2, int var3, int var4, int var5, String var6, int var7) {
  177.       this.g_ts.setColor(ACutilb.windowColor);
  178.       if (var5 == 1) {
  179.          this.g_ts.fillRect(var1 + 2, var2 + 2, var3 - 2, var4 - 2);
  180.       } else {
  181.          this.g_ts.fillRect(var1 + 1, var2 + 1, var3 - 1, var4 - 1);
  182.       }
  183.  
  184.       if (var5 == 1) {
  185.          this.g_ts.setColor(ACutilb.windowColor);
  186.          this.g_ts.drawRect(var1 + 1, var2 + 1, var3 - 1, var4 - 1);
  187.          this.g_ts.setColor(Color.gray);
  188.          this.g_ts.drawLine(var1 + 1, var2 + var4 - 1, var1 + var3 - 1, var2 + var4 - 1);
  189.          this.g_ts.drawLine(var1 + var3 - 1, var2 + 1, var1 + var3 - 1, var2 + var4 - 1);
  190.          this.g_ts.setColor(Color.white);
  191.          this.g_ts.drawRect(var1, var2, var3, var4);
  192.          this.g_ts.setColor(Color.black);
  193.          this.g_ts.drawLine(var1, var2 + var4, var1 + var3, var2 + var4);
  194.          this.g_ts.drawLine(var1 + var3, var2, var1 + var3, var2 + var4);
  195.          if (var6 != null) {
  196.             this.g_ts.drawString(var6, var1 + (var3 - this.field_2.stringWidth(var6)) / 2, var2 + this.field_2.getHeight() - this.field_2.getLeading() - 2);
  197.             return;
  198.          }
  199.  
  200.          int var8 = var1 + var4 / 2 - 2;
  201.          int var9 = var2 + var4 / 2 - 1;
  202.          if (var7 == 1) {
  203.             int var10 = 6;
  204.  
  205.             do {
  206.                this.g_ts.drawLine(var8, var9, var8 + var10, var9);
  207.                ++var9;
  208.                ++var8;
  209.                var10 -= 2;
  210.             } while(var10 >= 0);
  211.          }
  212.  
  213.          if (var7 == 2) {
  214.             var9 += 2;
  215.             int var15 = 6;
  216.  
  217.             do {
  218.                this.g_ts.drawLine(var8, var9, var8 + var15, var9);
  219.                --var9;
  220.                ++var8;
  221.                var15 -= 2;
  222.             } while(var15 >= 0);
  223.  
  224.             return;
  225.          }
  226.       } else {
  227.          this.g_ts.setColor(Color.gray);
  228.          this.g_ts.drawRect(var1, var2, var3, var4);
  229.          this.g_ts.setColor(Color.black);
  230.          if (var6 != null) {
  231.             this.g_ts.drawString(var6, var1 + 1 + (var3 - this.field_2.stringWidth(var6)) / 2, var2 + this.field_2.getHeight() - this.field_2.getLeading() - 2 + 1);
  232.             return;
  233.          }
  234.  
  235.          int var11 = var1 + var4 / 2 - 2 + 1;
  236.          int var13 = var2 + var4 / 2 - 1 + 1;
  237.          if (var7 == 1) {
  238.             int var16 = 6;
  239.  
  240.             do {
  241.                this.g_ts.drawLine(var11, var13, var11 + var16, var13);
  242.                ++var13;
  243.                ++var11;
  244.                var16 -= 2;
  245.             } while(var16 >= 0);
  246.          }
  247.  
  248.          if (var7 == 2) {
  249.             var13 += 2;
  250.             int var17 = 6;
  251.  
  252.             do {
  253.                this.g_ts.drawLine(var11, var13, var11 + var17, var13);
  254.                --var13;
  255.                ++var11;
  256.                var17 -= 2;
  257.             } while(var17 >= 0);
  258.          }
  259.       }
  260.  
  261.    }
  262.  
  263.    public void reDrawButtons() {
  264.       this.first_run = true;
  265.       this.paintIt();
  266.    }
  267.  
  268.    public boolean mouseDown(Event var1, int var2, int var3) {
  269.       int var4 = 0;
  270.  
  271.       do {
  272.          if (var2 > this.b_x[var4] && var2 < this.b_x[var4] + this.b_w[var4] && var3 > this.b_y[var4] && var3 < this.b_y[var4] + this.b_h[var4]) {
  273.             ((Component)this).requestFocus();
  274.             this.cur_down = var4;
  275.             this.drawButton(this.b_x[var4], this.b_y[var4], this.b_w[var4], this.b_h[var4], 0, this.b_msg[var4], this.b_s[var4]);
  276.             this.paintIt();
  277.          }
  278.  
  279.          ++var4;
  280.       } while(var4 < 2);
  281.  
  282.       return true;
  283.    }
  284.  
  285.    public boolean mouseDrag(Event var1, int var2, int var3) {
  286.       if (this.cur_down > -1) {
  287.          if (var2 < this.b_x[this.cur_down] || var2 > this.b_x[this.cur_down] + this.b_w[this.cur_down] || var3 < this.b_y[this.cur_down] || var3 > this.b_y[this.cur_down] + this.b_h[this.cur_down]) {
  288.             this.drawButton(this.b_x[this.cur_down], this.b_y[this.cur_down], this.b_w[this.cur_down], this.b_h[this.cur_down], 1, this.b_msg[this.cur_down], this.b_s[this.cur_down]);
  289.             this.last_down = this.cur_down;
  290.             this.cur_down = -1;
  291.             this.paintIt();
  292.          }
  293.       } else {
  294.          int var4 = 0;
  295.  
  296.          do {
  297.             if (var2 > this.b_x[var4] && var2 < this.b_x[var4] + this.b_w[var4] && var3 > this.b_y[var4] && var3 < this.b_y[var4] + this.b_h[var4] && this.last_down == var4) {
  298.                this.cur_down = var4;
  299.                this.drawButton(this.b_x[var4], this.b_y[var4], this.b_w[var4], this.b_h[var4], 0, this.b_msg[var4], this.b_s[var4]);
  300.                this.paintIt();
  301.             }
  302.  
  303.             ++var4;
  304.          } while(var4 < 2);
  305.       }
  306.  
  307.       return true;
  308.    }
  309.  
  310.    public void setRecInfoOnly(int var1, int var2) {
  311.       this.curLevel = var1;
  312.       this.maxLevel = var2;
  313.    }
  314.  
  315.    public void updateNums() {
  316.       this.g_ts.setFont(this.recFont);
  317.       this.recfm = this.g_ts.getFontMetrics(this.recFont);
  318.       String var1 = "";
  319.       if (this.showTotal) {
  320.          var1 = "Level: " + (new Integer(this.curLevel)).toString() + " of " + (new Integer(this.maxLevel)).toString();
  321.       } else {
  322.          var1 = "Level: " + (new Integer(this.curLevel)).toString();
  323.       }
  324.  
  325.       int var2 = this.recfm.stringWidth(var1);
  326.       this.g_ts.setColor(ACutilb.windowColor);
  327.       this.g_ts.fillRect(this.field_0.width - 45 - var2 - 20, 0, var2 + 20, this.field_0.height);
  328.       this.g_ts.setColor(Color.black);
  329.       this.g_ts.drawString(var1, this.field_0.width - 45 - var2, 14);
  330.       this.g_ts.setFont(this.font);
  331.       this.recfm = this.g_ts.getFontMetrics(this.font);
  332.    }
  333.  
  334.    public void reshape(int var1, int var2, int var3, int var4) {
  335.       if (var3 * var4 > 0) {
  336.          this.field_0 = new Dimension(var3, var4);
  337.          this.reDrawButtons();
  338.          super.reshape(var1, var2, var3, var4);
  339.       }
  340.    }
  341. }
  342.