home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin2000.exe / OCbbar.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  5.1 KB  |  349 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.Graphics;
  6. import java.awt.Image;
  7. import java.awt.Panel;
  8. import java.util.Vector;
  9.  
  10. class OCbbar extends Panel {
  11.    private Event the_e = null;
  12.    Color bgColor;
  13.    // $FF: renamed from: d java.awt.Dimension
  14.    Dimension field_0;
  15.    boolean first_run;
  16.    boolean paint_called;
  17.    // $FF: renamed from: ts java.awt.Image
  18.    Image field_1;
  19.    Graphics g_ts;
  20.    // $FF: renamed from: mx int
  21.    int field_2;
  22.    // $FF: renamed from: my int
  23.    int field_3;
  24.    int last_down;
  25.    int last_hl;
  26.    private int[] b_x;
  27.    private int[] b_y;
  28.    private int bwidth;
  29.    private int bheight;
  30.    int lmargin;
  31.    private int type;
  32.    // $FF: renamed from: ia java.awt.Image[]
  33.    private Image[] field_4;
  34.    // $FF: renamed from: iu java.awt.Image[]
  35.    private Image[] field_5;
  36.    private String[] ifiles;
  37.    private String[] unifiles;
  38.    private String[] menuMap;
  39.    private boolean[] isButton;
  40.    private boolean[] takeFocus;
  41.    private boolean[] active;
  42.    private Vector dividers;
  43.  
  44.    public boolean mouseMove(Event var1, int var2, int var3) {
  45.       this.checkMouseMove(var2, var3);
  46.       return true;
  47.    }
  48.  
  49.    private boolean mdown(int var1, int var2) {
  50.       for(int var3 = 0; var3 < this.field_4.length; ++var3) {
  51.          if (this.isButton[var3] && var1 > this.b_x[var3] && var1 < this.b_x[var3] + this.bwidth && var2 > this.b_y[var3] && var2 < this.b_y[var3] + this.bheight && this.active[var3]) {
  52.             if (this.takeFocus[var3]) {
  53.                ((Component)this).requestFocus();
  54.             }
  55.  
  56.             this.last_down = var3;
  57.             this.drawButton(var3, 0);
  58.             this.paintIt();
  59.          }
  60.       }
  61.  
  62.       return true;
  63.    }
  64.  
  65.    public boolean mouseExit(Event var1, int var2, int var3) {
  66.       if (this.last_hl > -1) {
  67.          this.drawButton(this.last_hl, 2);
  68.          this.paintIt();
  69.          this.last_hl = -1;
  70.       }
  71.  
  72.       return true;
  73.    }
  74.  
  75.    public OCbbar() {
  76.       this.bgColor = ACutilb.windowColor;
  77.       this.first_run = true;
  78.       this.last_down = -1;
  79.       this.last_hl = -1;
  80.       this.lmargin = 2;
  81.       this.type = 0;
  82.       this.dividers = new Vector();
  83.       ((Component)this).setBackground(ACutilb.windowColor);
  84.       this.the_e = new Event(this, 900, this);
  85.       this.resize(50, 50);
  86.    }
  87.  
  88.    public void paint(Graphics var1) {
  89.       this.paint_called = true;
  90.       this.paintIt();
  91.    }
  92.  
  93.    public void setbgColor(Color var1) {
  94.       this.bgColor = var1;
  95.       ((Component)this).setBackground(this.bgColor);
  96.       this.paintIt();
  97.    }
  98.  
  99.    public boolean mouseUp(Event var1, int var2, int var3) {
  100.       for(int var4 = 0; var4 < this.field_4.length; ++var4) {
  101.          if (this.isButton[var4] && var2 > this.b_x[var4] && var2 < this.b_x[var4] + this.bwidth && var3 > this.b_y[var4] && var3 < this.b_y[var4] + this.bheight && this.last_down == var4) {
  102.             this.last_down = -1;
  103.             this.drawButton(var4, 1);
  104.             this.paintIt();
  105.             this.takeAction(var4);
  106.             return true;
  107.          }
  108.       }
  109.  
  110.       if (this.last_down > -1) {
  111.          this.drawButton(this.last_down, 0);
  112.          this.checkMouseMove(var2, var3);
  113.          this.paintIt();
  114.          this.last_down = -1;
  115.          return true;
  116.       } else {
  117.          return true;
  118.       }
  119.    }
  120.  
  121.    private synchronized void paintIt() {
  122.       try {
  123.          if (this.paint_called) {
  124.             Graphics var1 = ((Component)this).getGraphics();
  125.             if (!this.first_run) {
  126.                var1.drawImage(this.field_1, 0, 0, this);
  127.             } else {
  128.                ((Component)this).setBackground(this.bgColor);
  129.                this.field_1 = ((Component)this).createImage(this.field_0.width, this.field_0.height);
  130.                this.g_ts = this.field_1.getGraphics();
  131.                this.g_ts.setColor(this.bgColor);
  132.                this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
  133.                this.g_ts.setColor(Color.gray);
  134.                this.g_ts.drawLine(0, 0, this.field_0.width, 0);
  135.                this.g_ts.setColor(Color.white);
  136.                this.g_ts.drawLine(0, 1, this.field_0.width, 1);
  137.                this.g_ts.setColor(Color.gray);
  138.                this.g_ts.drawLine(0, this.bheight + 5, this.field_0.width, this.bheight + 5);
  139.                this.g_ts.setColor(Color.white);
  140.                this.g_ts.drawLine(0, this.bheight + 6, this.field_0.width, this.bheight + 6);
  141.                int var2 = 0;
  142.  
  143.                for(int var3 = 0; var3 < this.dividers.size(); ++var3) {
  144.                   var2 = Integer.parseInt((String)this.dividers.elementAt(var3));
  145.                   this.g_ts.setColor(Color.gray);
  146.                   this.g_ts.drawLine(var2, 3, var2, this.bheight + 3);
  147.                   this.g_ts.setColor(Color.white);
  148.                   this.g_ts.drawLine(var2 + 1, 3, var2 + 1, this.bheight + 3);
  149.                }
  150.  
  151.                this.first_run = false;
  152.                this.DrawButtons();
  153.             }
  154.          }
  155.       } catch (Exception var4) {
  156.       }
  157.    }
  158.  
  159.    public void resize(Dimension var1) {
  160.       if (var1.width * var1.height > 0) {
  161.          this.reDrawButtons();
  162.          super.resize(var1);
  163.       }
  164.    }
  165.  
  166.    public void resize(int var1, int var2) {
  167.       if (var1 * var2 > 0) {
  168.          this.field_0 = new Dimension(var1, var2);
  169.          this.reDrawButtons();
  170.          super.resize(var1, var2);
  171.       }
  172.    }
  173.  
  174.    private boolean takeAction(int var1) {
  175.       this.the_e.id = 1001;
  176.       this.the_e.arg = this.menuMap[var1];
  177.       super.postEvent(this.the_e);
  178.       return true;
  179.    }
  180.  
  181.    public void setButtons(String[] var1, String[] var2, String[] var3, boolean[] var4, boolean[] var5, int var6, int var7) {
  182.       this.bwidth = var6;
  183.       this.bheight = var7;
  184.       this.ifiles = var1;
  185.       this.menuMap = var3;
  186.       this.takeFocus = var4;
  187.       this.active = var5;
  188.       this.unifiles = var2;
  189.       this.field_4 = new Image[this.ifiles.length];
  190.       this.field_5 = new Image[this.ifiles.length];
  191.       this.b_x = new int[this.ifiles.length];
  192.       this.b_y = new int[this.ifiles.length];
  193.       this.isButton = new boolean[this.ifiles.length];
  194.       int var8 = 2;
  195.  
  196.       for(int var9 = 0; var9 < this.field_4.length; ++var9) {
  197.          if (this.ifiles[var9].equals("-")) {
  198.             this.b_x[var9] = var8 + 2;
  199.             var8 += 9;
  200.             this.dividers.addElement((new Integer(this.b_x[var9])).toString());
  201.             this.isButton[var9] = false;
  202.          } else {
  203.             this.b_x[var9] = var8;
  204.             var8 = var8 + this.bwidth + 4;
  205.             this.isButton[var9] = true;
  206.          }
  207.  
  208.          this.b_y[var9] = 3;
  209.       }
  210.  
  211.       this.loadImages();
  212.    }
  213.  
  214.    private void loadImages() {
  215.       ACutil var1 = new ACutil();
  216.  
  217.       for(int var2 = 0; var2 < this.field_4.length; ++var2) {
  218.          if (this.isButton[var2]) {
  219.             this.field_4[var2] = var1.getImage(this.ifiles[var2]);
  220.             this.field_5[var2] = var1.getImage(this.unifiles[var2]);
  221.             if (this.field_5[var2] == null) {
  222.                this.field_5[var2] = this.field_4[var2];
  223.             }
  224.          } else {
  225.             this.field_4[var2] = null;
  226.          }
  227.       }
  228.  
  229.    }
  230.  
  231.    private void drawButton(int var1, int var2) {
  232.       if (!this.first_run) {
  233.          int var3 = this.b_x[var1];
  234.          int var4 = this.b_y[var1];
  235.          int var5 = this.bwidth;
  236.          int var6 = this.bheight;
  237.          this.g_ts.setColor(ACutilb.windowColor);
  238.          this.g_ts.fillRect(var3 - 1, var4 - 1, var5 + 2, var6 + 2);
  239.          if (var2 == 2) {
  240.             if (this.field_4[var1] != null) {
  241.                if (this.active[var1]) {
  242.                   this.g_ts.drawImage(this.field_4[var1], var3 + 1, var4 + 1, this);
  243.                   return;
  244.                }
  245.  
  246.                this.g_ts.drawImage(this.field_5[var1], var3 + 1, var4 + 1, this);
  247.             }
  248.  
  249.          } else {
  250.             if (var2 == 1) {
  251.                this.g_ts.setColor(Color.gray);
  252.                this.g_ts.drawRect(var3, var4, var5, var6);
  253.                this.g_ts.setColor(Color.white);
  254.                this.g_ts.drawLine(var3, var4, var3 + var5, var4);
  255.                this.g_ts.drawLine(var3, var4, var3, var4 + var6);
  256.                if (this.field_4[var1] != null) {
  257.                   this.g_ts.drawImage(this.field_4[var1], var3 + 1, var4 + 1, this);
  258.                   return;
  259.                }
  260.             } else {
  261.                this.g_ts.setColor(Color.gray);
  262.                this.g_ts.drawRect(var3, var4, var5, var6);
  263.                this.g_ts.setColor(Color.white);
  264.                this.g_ts.drawLine(var3, var4 + var6, var3 + var5, var4 + var6);
  265.                this.g_ts.drawLine(var3 + var5, var4, var3 + var5, var4 + var6);
  266.                if (this.field_4[var1] != null) {
  267.                   this.g_ts.drawImage(this.field_4[var1], var3 + 2, var4 + 2, this);
  268.                }
  269.             }
  270.  
  271.          }
  272.       }
  273.    }
  274.  
  275.    public void DrawButtons() {
  276.       if (this.field_4 != null) {
  277.          for(int var1 = 0; var1 < this.field_4.length; ++var1) {
  278.             if (this.isButton[var1]) {
  279.                this.drawButton(var1, 2);
  280.             }
  281.          }
  282.       }
  283.  
  284.       this.paintIt();
  285.    }
  286.  
  287.    public Dimension preferredSize() {
  288.       return new Dimension(this.field_0.width, 29);
  289.    }
  290.  
  291.    public void setActiveButtons(boolean[] var1) {
  292.       this.active = var1;
  293.       this.DrawButtons();
  294.    }
  295.  
  296.    public void reDrawButtons() {
  297.       this.first_run = true;
  298.       this.paintIt();
  299.    }
  300.  
  301.    public boolean handleEvent(Event var1) {
  302.       if (var1.id == 501) {
  303.          this.mdown(var1.x, var1.y);
  304.       }
  305.  
  306.       return super.handleEvent(var1);
  307.    }
  308.  
  309.    public boolean mouseDrag(Event var1, int var2, int var3) {
  310.       return true;
  311.    }
  312.  
  313.    private void checkMouseMove(int var1, int var2) {
  314.       for(int var3 = 0; var3 < this.field_4.length; ++var3) {
  315.          if (this.isButton[var3] && var1 > this.b_x[var3] && var1 < this.b_x[var3] + this.bwidth && var2 > this.b_y[var3] && var2 < this.b_y[var3] + this.bheight) {
  316.             if (this.last_hl != var3) {
  317.                if (this.last_hl > -1) {
  318.                   this.drawButton(this.last_hl, 2);
  319.                }
  320.  
  321.                if (this.active[var3]) {
  322.                   this.last_hl = var3;
  323.                   this.drawButton(var3, 1);
  324.                }
  325.  
  326.                this.paintIt();
  327.             }
  328.  
  329.             return;
  330.          }
  331.       }
  332.  
  333.       if (this.last_hl > -1) {
  334.          this.drawButton(this.last_hl, 2);
  335.          this.paintIt();
  336.          this.last_hl = -1;
  337.       }
  338.  
  339.    }
  340.  
  341.    public void reshape(int var1, int var2, int var3, int var4) {
  342.       if (var3 * var4 > 0) {
  343.          this.field_0 = new Dimension(var3, var4);
  344.          this.reDrawButtons();
  345.          super.reshape(var1, var2, var3, var4);
  346.       }
  347.    }
  348. }
  349.