home *** CD-ROM | disk | FTP | other *** search
- package sun.awt;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.Insets;
-
- public class VariableGridLayout extends GridLayout {
- double[] rowFractions;
- double[] colFractions;
- int rows;
- int cols;
- int hgap;
- int vgap;
-
- public VariableGridLayout(int var1, int var2) {
- this(var1, var2, 0, 0);
- if (var1 != 0) {
- this.stdRowFractions(var1);
- }
-
- if (var2 != 0) {
- this.stdColFractions(var2);
- }
-
- }
-
- public VariableGridLayout(int var1, int var2, int var3, int var4) {
- super(var1, var2, var3, var4);
- this.rows = var1;
- this.cols = var2;
- this.hgap = var3;
- this.vgap = var4;
- if (var1 != 0) {
- this.stdRowFractions(var1);
- }
-
- if (var2 != 0) {
- this.stdColFractions(var2);
- }
-
- }
-
- void stdRowFractions(int var1) {
- this.rowFractions = new double[var1];
-
- for(int var2 = 0; var2 < var1; ++var2) {
- this.rowFractions[var2] = (double)1.0F / (double)var1;
- }
-
- }
-
- void stdColFractions(int var1) {
- this.colFractions = new double[var1];
-
- for(int var2 = 0; var2 < var1; ++var2) {
- this.colFractions[var2] = (double)1.0F / (double)var1;
- }
-
- }
-
- public void setRowFraction(int var1, double var2) {
- this.rowFractions[var1] = var2;
- }
-
- public void setColFraction(int var1, double var2) {
- this.colFractions[var1] = var2;
- }
-
- public double getRowFraction(int var1) {
- return this.rowFractions[var1];
- }
-
- public double getColFraction(int var1) {
- return this.colFractions[var1];
- }
-
- public void layoutContainer(Container var1) {
- Insets var2 = var1.insets();
- int var3 = var1.countComponents();
- int var4 = this.rows;
- int var5 = this.cols;
- if (var4 > 0) {
- var5 = (var3 + var4 - 1) / var4;
- } else {
- var4 = (var3 + var5 - 1) / var5;
- }
-
- if (this.rows == 0) {
- this.stdRowFractions(var4);
- }
-
- if (this.cols == 0) {
- this.stdColFractions(var5);
- }
-
- Dimension var6 = ((Component)var1).size();
- int var7 = var6.width - (var2.left + var2.right);
- int var8 = var6.height - (var2.top + var2.bottom);
- var7 -= (var5 - 1) * this.hgap;
- var8 -= (var4 - 1) * this.vgap;
- int var9 = 0;
-
- for(int var10 = var2.left; var9 < var5; ++var9) {
- int var11 = (int)(this.getColFraction(var9) * (double)var7);
- int var12 = 0;
-
- for(int var13 = var2.top; var12 < var4; ++var12) {
- int var14 = var12 * var5 + var9;
- int var15 = (int)(this.getRowFraction(var12) * (double)var8);
- if (var14 < var3) {
- var1.getComponent(var14).reshape(var10, var13, var11, var15);
- }
-
- var13 += var15 + this.vgap;
- }
-
- var10 += var11 + this.hgap;
- }
-
- }
-
- static String fracsToString(double[] var0) {
- String var1 = "[" + var0.length + "]";
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- var1 = var1 + "<" + var0[var2] + ">";
- }
-
- return var1;
- }
-
- public String toString() {
- return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + ",rowFracs=" + fracsToString(this.rowFractions) + ",colFracs=" + fracsToString(this.colFractions) + "]";
- }
- }
-