home *** CD-ROM | disk | FTP | other *** search
- package com.ms.awt;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Font;
- 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;
-
- protected void Construct(Container var1, int var2, int var3) {
- Rectangle var4 = new Rectangle(0, 0, var2, var3);
- this.mapRectangle(var4, this.getCharWidth(var1), this.getCharHeight(var1));
- this.m_width = var4.width;
- this.m_height = var4.height;
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- return new Dimension(this.m_width, this.m_height);
- }
-
- 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 void addLayoutComponent(String var1, Component var2) {
- }
-
- 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 int getCharHeight(Container var1) {
- FontMetrics var2 = ((Component)var1).getFontMetrics(((Component)var1).getFont());
- int var3 = var2.getHeight();
- return var3;
- }
-
- public Dimension getDialogSize() {
- return new Dimension(this.m_width, this.m_height);
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- return new Dimension(this.m_width, this.m_height);
- }
-
- public void layoutContainer(Container var1) {
- int var2 = var1.countComponents();
- Rectangle var3 = new Rectangle();
- int var4 = this.getCharHeight(var1);
- int var5 = this.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;
- this.mapRectangle(var3, var5, var4);
- if (var8 instanceof Label) {
- var3.x -= 12;
- var3.width += 12;
- }
-
- var3.x += var6.left;
- var3.y += var6.top;
- var8.reshape(var3.x, var3.y, var3.width, var3.height);
- }
- }
-
- }
-
- protected int getCharWidth(Container var1) {
- Object var2 = ((Component)var1).getFont();
- if (var2 == null) {
- var2 = new FontX("Helv", 0, 8);
- }
-
- FontMetrics var3 = ((Component)var1).getFontMetrics((Font)var2);
- String var4 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- int var5 = var3.stringWidth(var4) / var4.length();
- if (var5 <= 0) {
- var5 = 1;
- }
-
- return var5;
- }
-
- protected void mapRectangle(Rectangle var1, int var2, int var3) {
- var1.x = var1.x * var2 / 4;
- var1.y = var1.y * var3 / 8;
- var1.width = var1.width * var2 / 4;
- var1.height = var1.height * var3 / 8;
- }
- }
-