home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / esc / BaseStatusBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  3.3 KB  |  95 lines

  1. package com.extensibility.esc;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Graphics;
  8. import java.awt.GridBagConstraints;
  9. import java.awt.GridBagLayout;
  10. import java.awt.Insets;
  11. import java.util.Enumeration;
  12. import java.util.Vector;
  13. import javax.swing.JPanel;
  14.  
  15. public class BaseStatusBar extends JPanel {
  16.    public static int TOTAL_HEIGHT_GAP = 7;
  17.    Vector sbs = new Vector(5, 1);
  18.    protected boolean dinamic;
  19.    private float pos = 0.0F;
  20.    private GridBagConstraints gbc = new GridBagConstraints();
  21.  
  22.    public BaseStatusBar() {
  23.       super(new GridBagLayout());
  24.       this.gbc.insets = new Insets(3, 0, 0, 0);
  25.       this.gbc.gridy = 0;
  26.       this.gbc.weighty = (double)1.0F;
  27.       this.gbc.anchor = 17;
  28.       this.gbc.fill = 1;
  29.       this.init(new Object[][]{{"sbNone", "1"}});
  30.    }
  31.  
  32.    public void init(Object[][] var1) {
  33.       this.sbs.removeAllElements();
  34.       ((Container)this).removeAll();
  35.       float var2 = 0.0F;
  36.  
  37.       for(int var3 = 0; var3 < var1.length; ++var3) {
  38.          float var4 = new Float((String)var1[var3][1]);
  39.          var2 += var4;
  40.       }
  41.  
  42.       if (var2 == (float)1) {
  43.          for(int var5 = 0; var5 < var1.length; ++var5) {
  44.             this.addSb(this.gbc, (String)var1[var5][0], new Float((String)var1[var5][1]));
  45.          }
  46.       }
  47.  
  48.    }
  49.  
  50.    public IStatusBar getSBArea(String var1) {
  51.       Enumeration var2 = this.sbs.elements();
  52.  
  53.       while(var2.hasMoreElements()) {
  54.          SBArea var3 = (SBArea)var2.nextElement();
  55.          if (var3.getID().equals(var1)) {
  56.             return var3;
  57.          }
  58.       }
  59.  
  60.       return null;
  61.    }
  62.  
  63.    public Dimension getPreferredSize() {
  64.       int var1 = ((Component)this).getParent().getSize().width;
  65.       int var2 = ((Component)this).getFontMetrics(((Component)this).getFont()).getHeight() + TOTAL_HEIGHT_GAP;
  66.       return new Dimension(var1, var2);
  67.    }
  68.  
  69.    public void paintComponent(Graphics var1) {
  70.       super.paintComponent(var1);
  71.       var1.setColor(Color.white);
  72.       var1.drawLine(0, 1, ((Component)this).getSize().width, 1);
  73.    }
  74.  
  75.    public boolean isDinamic() {
  76.       return this.dinamic;
  77.    }
  78.  
  79.    public void setStaticSize(boolean var1) {
  80.       this.dinamic = var1;
  81.    }
  82.  
  83.    private void addSb(GridBagConstraints var1, String var2, float var3) {
  84.       var1.gridx = (new Float(this.pos)).intValue();
  85.       var1.weightx = (double)(var3 * (float)100);
  86.       this.pos = (float)((double)this.pos + var1.weightx);
  87.       SBArea var4 = new SBArea(var2, var3, true);
  88.       if (!this.sbs.contains(var4)) {
  89.          this.sbs.addElement(var4);
  90.          ((Container)this).add(var4, var1, this.sbs.size() - 1);
  91.       }
  92.  
  93.    }
  94. }
  95.