home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FontMetrics;
- import java.awt.Insets;
- import java.awt.Label;
- import java.awt.LayoutManager;
- import java.awt.Rectangle;
- import java.util.Hashtable;
-
- public class DialogLayout implements LayoutManager {
- protected Hashtable m_map = new Hashtable();
- protected int m_width;
- protected int m_height;
-
- public Dimension minimumLayoutSize(Container var1) {
- return new Dimension(this.m_width, this.m_height);
- }
-
- public DialogLayout(Container var1, int var2, int var3) {
- this.Construct(var1, var2, var3);
- }
-
- public DialogLayout(Container var1, Dimension var2) {
- this.Construct(var1, var2.width, var2.height);
- }
-
- protected static void unmapRectangle(Rectangle var0, int var1, int var2) {
- var0.x = var0.x * 4 / var1;
- var0.y = var0.y * 8 / var2;
- var0.width = var0.width * 4 / var1;
- var0.height = var0.height * 8 / var2;
- }
-
- public void setShape(Component var1, int var2, int var3, int var4, int var5) {
- this.m_map.put(var1, new Rectangle(var2, var3, var4, var5));
- }
-
- public void setShape(Component var1, Rectangle var2) {
- this.m_map.put(var1, new Rectangle(var2.x, var2.y, var2.width, var2.height));
- }
-
- public Rectangle getShape(Component var1) {
- Rectangle var2 = (Rectangle)this.m_map.get(var1);
- return new Rectangle(var2.x, var2.y, var2.width, var2.height);
- }
-
- public Dimension getDialogSize() {
- return new Dimension(this.m_width, this.m_height);
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- protected static void mapRectangle(Rectangle var0, int var1, int var2) {
- var0.x = var0.x * var1 / 4;
- var0.y = var0.y * var2 / 8;
- var0.width = var0.width * var1 / 4;
- var0.height = var0.height * var2 / 8;
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- return new Dimension(this.m_width, this.m_height);
- }
-
- protected static int getCharHeight(Container var0) {
- FontMetrics var1 = ((Component)var0).getFontMetrics(((Component)var0).getFont());
- int var2 = var1.getHeight();
- return var2;
- }
-
- public void layoutContainer(Container var1) {
- int var2 = var1.countComponents();
- Rectangle var3 = new Rectangle();
- int var4 = getCharHeight(var1);
- int var5 = getCharWidth(var1);
- Insets var6 = var1.insets();
- ((Component)var1).getFontMetrics(((Component)var1).getFont());
-
- for(int var7 = 0; var7 < var2; ++var7) {
- Component var8 = var1.getComponent(var7);
- Rectangle var9 = (Rectangle)this.m_map.get(var8);
- if (var9 != null) {
- var3.x = var9.x;
- var3.y = var9.y;
- var3.height = var9.height;
- var3.width = var9.width;
- mapRectangle(var3, var5, var4);
- if (var8 instanceof Label && System.getProperty("java.vendor").indexOf("Microsoft") != -1) {
- var3.x -= 12;
- var3.width += 12;
- }
-
- var3.x += var6.left;
- var3.y += var6.top;
- var8.reshape(var3.x, var3.y, var3.width, var3.height);
- }
- }
-
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- }
-
- protected static int getCharWidth(Container var0) {
- FontMetrics var1 = ((Component)var0).getFontMetrics(((Component)var0).getFont());
- String var2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- int var3 = var1.stringWidth(var2) / var2.length();
- if (var3 <= 0) {
- var3 = 1;
- }
-
- return var3;
- }
-
- protected void Construct(Container var1, int var2, int var3) {
- Rectangle var4 = new Rectangle(0, 0, var2, var3);
- mapRectangle(var4, getCharWidth(var1), getCharHeight(var1));
- this.m_width = var4.width;
- this.m_height = var4.height;
- }
- }
-