home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2003 July / PCpro_2003_07.ISO / vollvers / edhtml / EdHTMLv5.0.exe / Main / DialogLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  2003-05-14  |  3.0 KB  |  123 lines

  1. import java.awt.Component;
  2. import java.awt.Container;
  3. import java.awt.Dimension;
  4. import java.awt.FontMetrics;
  5. import java.awt.Insets;
  6. import java.awt.Label;
  7. import java.awt.LayoutManager;
  8. import java.awt.Rectangle;
  9. import java.util.Hashtable;
  10.  
  11. public class DialogLayout implements LayoutManager {
  12.    protected Hashtable m_map = new Hashtable();
  13.    protected int m_width;
  14.    protected int m_height;
  15.  
  16.    public Dimension minimumLayoutSize(Container var1) {
  17.       return new Dimension(this.m_width, this.m_height);
  18.    }
  19.  
  20.    public DialogLayout(Container var1, int var2, int var3) {
  21.       this.Construct(var1, var2, var3);
  22.    }
  23.  
  24.    public DialogLayout(Container var1, Dimension var2) {
  25.       this.Construct(var1, var2.width, var2.height);
  26.    }
  27.  
  28.    protected static void unmapRectangle(Rectangle var0, int var1, int var2) {
  29.       var0.x = var0.x * 4 / var1;
  30.       var0.y = var0.y * 8 / var2;
  31.       var0.width = var0.width * 4 / var1;
  32.       var0.height = var0.height * 8 / var2;
  33.    }
  34.  
  35.    public void setShape(Component var1, int var2, int var3, int var4, int var5) {
  36.       this.m_map.put(var1, new Rectangle(var2, var3, var4, var5));
  37.    }
  38.  
  39.    public void setShape(Component var1, Rectangle var2) {
  40.       this.m_map.put(var1, new Rectangle(var2.x, var2.y, var2.width, var2.height));
  41.    }
  42.  
  43.    public Rectangle getShape(Component var1) {
  44.       Rectangle var2 = (Rectangle)this.m_map.get(var1);
  45.       return new Rectangle(var2.x, var2.y, var2.width, var2.height);
  46.    }
  47.  
  48.    public Dimension getDialogSize() {
  49.       return new Dimension(this.m_width, this.m_height);
  50.    }
  51.  
  52.    public void removeLayoutComponent(Component var1) {
  53.    }
  54.  
  55.    protected static void mapRectangle(Rectangle var0, int var1, int var2) {
  56.       var0.x = var0.x * var1 / 4;
  57.       var0.y = var0.y * var2 / 8;
  58.       var0.width = var0.width * var1 / 4;
  59.       var0.height = var0.height * var2 / 8;
  60.    }
  61.  
  62.    public Dimension preferredLayoutSize(Container var1) {
  63.       return new Dimension(this.m_width, this.m_height);
  64.    }
  65.  
  66.    protected static int getCharHeight(Container var0) {
  67.       FontMetrics var1 = ((Component)var0).getFontMetrics(((Component)var0).getFont());
  68.       int var2 = var1.getHeight();
  69.       return var2;
  70.    }
  71.  
  72.    public void layoutContainer(Container var1) {
  73.       int var2 = var1.countComponents();
  74.       Rectangle var3 = new Rectangle();
  75.       int var4 = getCharHeight(var1);
  76.       int var5 = getCharWidth(var1);
  77.       Insets var6 = var1.insets();
  78.       ((Component)var1).getFontMetrics(((Component)var1).getFont());
  79.  
  80.       for(int var7 = 0; var7 < var2; ++var7) {
  81.          Component var8 = var1.getComponent(var7);
  82.          Rectangle var9 = (Rectangle)this.m_map.get(var8);
  83.          if (var9 != null) {
  84.             var3.x = var9.x;
  85.             var3.y = var9.y;
  86.             var3.height = var9.height;
  87.             var3.width = var9.width;
  88.             mapRectangle(var3, var5, var4);
  89.             if (var8 instanceof Label && System.getProperty("java.vendor").indexOf("Microsoft") != -1) {
  90.                var3.x -= 12;
  91.                var3.width += 12;
  92.             }
  93.  
  94.             var3.x += var6.left;
  95.             var3.y += var6.top;
  96.             var8.reshape(var3.x, var3.y, var3.width, var3.height);
  97.          }
  98.       }
  99.  
  100.    }
  101.  
  102.    public void addLayoutComponent(String var1, Component var2) {
  103.    }
  104.  
  105.    protected static int getCharWidth(Container var0) {
  106.       FontMetrics var1 = ((Component)var0).getFontMetrics(((Component)var0).getFont());
  107.       String var2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  108.       int var3 = var1.stringWidth(var2) / var2.length();
  109.       if (var3 <= 0) {
  110.          var3 = 1;
  111.       }
  112.  
  113.       return var3;
  114.    }
  115.  
  116.    protected void Construct(Container var1, int var2, int var3) {
  117.       Rectangle var4 = new Rectangle(0, 0, var2, var3);
  118.       mapRectangle(var4, getCharWidth(var1), getCharHeight(var1));
  119.       this.m_width = var4.width;
  120.       this.m_height = var4.height;
  121.    }
  122. }
  123.