home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / INTERNET / NETSCAP4.06 / CP32E406.EXE / nav40.z / java40.jar / netscape / security / XYLayout.class (.txt) < prev   
Encoding:
Java Class File  |  1998-08-13  |  3.5 KB  |  144 lines

  1. package netscape.security;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Label;
  8. import java.awt.LayoutManager;
  9. import java.awt.List;
  10. import java.awt.Rectangle;
  11. import java.util.Hashtable;
  12.  
  13. class XYLayout implements LayoutManager {
  14.    Hashtable rszHash = new Hashtable();
  15.    Rectangle oldSize;
  16.    Rectangle newSize;
  17.  
  18.    XYLayout(Rectangle var1) {
  19.       this.oldSize = var1;
  20.    }
  21.  
  22.    void setSize(Rectangle var1) {
  23.       this.oldSize = var1;
  24.    }
  25.  
  26.    void setHints(Component var1, RszHints var2) {
  27.       this.rszHash.put(var1, var2);
  28.    }
  29.  
  30.    void doLayout(Container var1, Rectangle var2, Rectangle var3, Hashtable var4) {
  31.       int var5 = var1.countComponents();
  32.       if (var5 != 0) {
  33.          Component[] var6 = var1.getComponents();
  34.          int var7 = var3.width - var2.width;
  35.          int var8 = var3.height - var2.height;
  36.          int var9 = 0;
  37.          int var10 = 0;
  38.          int var11 = 0;
  39.          int var12 = 0;
  40.  
  41.          for(int var13 = 0; var13 < var1.countComponents(); ++var13) {
  42.             Component var14 = var6[var13];
  43.             Rectangle var15 = var14.bounds();
  44.             RszHints var16 = (RszHints)var4.get(var14);
  45.             Object var17 = null;
  46.             if (var16 != null) {
  47.                var9 = var15.x + (int)((double)var7 * var16.x);
  48.                var10 = var15.y + (int)((double)var8 * var16.y);
  49.                var11 = var15.width + (int)((double)var7 * var16.wd);
  50.                var12 = var15.height + (int)((double)var8 * var16.ht);
  51.                Rectangle var18 = new Rectangle(var9, var10, var11, var12);
  52.                if (var14 instanceof Label || var14 instanceof Button || var14 instanceof List) {
  53.                   var14.setFont(GlobalCtxt.initFn_g);
  54.                }
  55.  
  56.                if (var16.eexp != (double)0.0F || var16.wexp != (double)0.0F || var16.nexp != (double)0.0F || var16.sexp != (double)0.0F) {
  57.                   Dimension var19 = var14.preferredSize();
  58.                   int var20 = 0;
  59.                   if (var11 < var19.width) {
  60.                      var20 = var19.width - var11;
  61.                      Object var21 = null;
  62.                      if (var16.eexp != (double)0.0F) {
  63.                         Component var31 = var16.ecomp;
  64.                         var11 = (int)((double)var11 + (double)var20 * var16.eexp);
  65.  
  66.                         while(var31 != null) {
  67.                            Rectangle var22 = var31.bounds();
  68.                            var31.reshape(var22.x + (int)((double)var20 * var16.eexp), var22.y, var22.width, var22.height);
  69.                            RszHints var23 = (RszHints)var4.get(var31);
  70.                            var31 = null;
  71.                            if (var23 != null) {
  72.                               var31 = var23.ecomp;
  73.                            }
  74.                         }
  75.                      }
  76.  
  77.                      if (var16.wexp != (double)0.0F) {
  78.                         var9 = (int)((double)var9 - (double)var20 * var16.wexp);
  79.                         var11 += var20;
  80.                         Component var32 = var16.wcomp;
  81.  
  82.                         while(var32 != null) {
  83.                            Rectangle var33 = var32.bounds();
  84.                            var32.reshape(var33.x - (int)((double)var20 * var16.wexp), var33.y, var33.width, var33.height);
  85.                            RszHints var34 = (RszHints)var4.get(var32);
  86.                            var32 = null;
  87.                            if (var34 != null) {
  88.                               var32 = var34.wcomp;
  89.                            }
  90.                         }
  91.                      }
  92.                   }
  93.                }
  94.  
  95.                var14.reshape(var9, var10, var11, var12);
  96.                if (var14 instanceof ImgPanel && var14.isEnabled()) {
  97.                   XYLayout var28 = (XYLayout)((ImgPanel)var14).getLayout();
  98.                   this.doLayout((Container)var14, var15, var18, var28.rszHash);
  99.                   EventEx var29 = new EventEx(var14, -1, var18);
  100.                   var14.handleEvent(var29);
  101.                }
  102.             }
  103.          }
  104.  
  105.       }
  106.    }
  107.  
  108.    public void addLayoutComponent(String var1, Component var2) {
  109.    }
  110.  
  111.    public void removeLayoutComponent(Component var1) {
  112.    }
  113.  
  114.    public Dimension preferredLayoutSize(Container var1) {
  115.       Dimension var2 = ((Component)var1).size();
  116.       return var2;
  117.    }
  118.  
  119.    public Dimension minimumLayoutSize(Container var1) {
  120.       Dimension var2 = ((Component)var1).size();
  121.       return var2;
  122.    }
  123.  
  124.    public void layoutContainer(Container var1) {
  125.       if (!(var1 instanceof ImgPanel)) {
  126.          if (this.oldSize != null) {
  127.             this.newSize = ((Component)var1).bounds();
  128.             if (this.newSize.x >= -1000 || this.newSize.y >= -1000) {
  129.                if (this.newSize != null) {
  130.                   this.doLayout(var1, this.oldSize, this.newSize, this.rszHash);
  131.                   this.oldSize = this.newSize;
  132.                }
  133.             }
  134.          } else {
  135.             this.oldSize = ((Component)var1).bounds();
  136.             if (this.oldSize.width < 110 || this.oldSize.height < 50) {
  137.                this.oldSize = null;
  138.             }
  139.  
  140.          }
  141.       }
  142.    }
  143. }
  144.