home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Insets;
- import java.awt.LayoutManager;
- import java.awt.List;
- import java.awt.Scrollbar;
-
- public class JDPRowLayout implements LayoutManager {
- static boolean activated;
- int hgap;
- int vgap;
- Component[] leftc;
- Component[] rightc;
- Scrollbar scrollEast;
- Scrollbar scrollSouth;
- int lastleftpos = -1;
- int lastrightpos = -1;
- int middlepos;
- boolean staticLayout;
-
- public Dimension minimumLayoutSize(Container var1) {
- Dimension var2 = new Dimension(0, 0);
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
-
- for(int var7 = 0; var7 <= this.lastleftpos; ++var7) {
- if (this.leftc[var7] != null && this.leftc[var7].isVisible()) {
- Dimension var8 = this.leftc[var7].minimumSize();
- var3 = Math.max(var3, var8.width);
- var5 = var5 + var8.height + this.vgap;
- }
- }
-
- for(int var9 = 0; var9 <= this.lastrightpos; ++var9) {
- if (this.rightc[var9] != null && this.rightc[var9].isVisible()) {
- Dimension var11 = this.rightc[var9].minimumSize();
- var4 = Math.max(var4, var11.width);
- var6 = var6 + var11.height + this.vgap;
- }
- }
-
- var2.width = var3 + this.hgap + var4 + 10;
- var2.height = Math.max(var5, var6) + 10;
- Insets var10 = var1.insets();
- var2.width += var10.left + var10.right;
- var2.height += var10.top + var10.bottom;
- this.middlepos = var3;
- if (this.middlepos > 0) {
- this.middlepos += this.hgap;
- }
-
- return var2;
- }
-
- final synchronized void ensureCapacity(int var1) {
- int var2 = this.leftc.length;
- if (var1 > var2 - 1) {
- Component[] var3 = this.leftc;
- Component[] var4 = this.rightc;
- int var5 = var2 + 10;
- if (var5 < var1) {
- var5 = var1;
- }
-
- this.leftc = new Component[var5];
- System.arraycopy(var3, 0, this.leftc, 0, this.lastleftpos + 1);
- this.rightc = new Component[var5];
- System.arraycopy(var4, 0, this.rightc, 0, this.lastrightpos + 1);
- }
-
- }
-
- public String toString() {
- return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
- }
-
- public void removeLayoutComponent(Component var1) {
- for(int var2 = 0; var2 <= this.lastleftpos; ++var2) {
- if (this.leftc[var2] != null && var1.equals(this.leftc[var2])) {
- if (this.staticLayout) {
- this.leftc[var2] = null;
- return;
- }
-
- while(var2 < this.lastleftpos) {
- this.leftc[var2] = this.leftc[var2 + 1];
- ++var2;
- }
-
- this.lastleftpos += -1;
- this.leftc[var2] = null;
- return;
- }
- }
-
- for(int var3 = 0; var3 <= this.lastrightpos; ++var3) {
- if (this.rightc[var3] != null && var1.equals(this.rightc[var3])) {
- if (this.staticLayout) {
- this.rightc[var3] = null;
- return;
- }
-
- while(var3 < this.lastrightpos) {
- this.rightc[var3] = this.rightc[var3 + 1];
- ++var3;
- }
-
- this.lastrightpos += -1;
- this.rightc[var3] = null;
- return;
- }
- }
-
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- Dimension var2 = new Dimension(0, 0);
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
-
- for(int var7 = 0; var7 <= this.lastleftpos; ++var7) {
- if (this.leftc[var7] != null && this.leftc[var7].isVisible()) {
- Dimension var8 = this.leftc[var7].preferredSize();
- var3 = Math.max(var3, var8.width);
- var5 = var5 + var8.height + this.vgap;
- }
- }
-
- for(int var9 = 0; var9 <= this.lastrightpos; ++var9) {
- if (this.rightc[var9] != null && this.rightc[var9].isVisible()) {
- Dimension var11 = this.rightc[var9].preferredSize();
- var4 = Math.max(var4, var11.width);
- var6 = var6 + var11.height + this.vgap;
- }
- }
-
- var2.width = var3 + this.hgap + var4 + 10;
- var2.height = Math.max(var5, var6) + 10;
- Insets var10 = var1.insets();
- var2.width += var10.left + var10.right;
- var2.height += var10.top + var10.bottom;
- this.middlepos = var3;
- if (this.middlepos > 0) {
- this.middlepos += this.hgap;
- }
-
- return var2;
- }
-
- public void layoutContainer(Container var1) {
- Insets var2 = var1.insets();
- Dimension var3 = var1.preferredSize();
- Dimension var4 = ((Component)var1).size();
- int var5 = var2.top;
- int var6 = var2.left;
- int var7 = 0;
- int var8 = 0;
- int var9 = Math.max(this.lastleftpos, this.lastrightpos);
- if (this.scrollEast != null) {
- if (var4.height >= var3.height || this.scrollEast.getValue() < 0) {
- this.scrollEast.setValue(0);
- }
-
- var5 -= this.scrollEast.getValue();
- }
-
- if (this.scrollSouth != null) {
- if (var4.width >= var3.width || this.scrollSouth.getValue() < 0) {
- this.scrollSouth.setValue(0);
- }
-
- var6 -= this.scrollSouth.getValue();
- }
-
- for(int var10 = 0; var10 <= var9; ++var10) {
- var7 = 0;
- if (this.leftc[var10] != null && this.leftc[var10].isVisible()) {
- Dimension var11 = this.leftc[var10].preferredSize();
- if (!(this.leftc[var10] instanceof List) && !(this.leftc[var10] instanceof JDPList)) {
- this.leftc[var10].reshape(var6, var5, var11.width, var11.height);
- } else {
- this.leftc[var10].reshape(var6, var5, this.middlepos - this.hgap, var11.height);
- }
-
- var7 = var11.height;
- }
-
- var8 = 0;
- if (this.rightc[var10] != null && this.rightc[var10].isVisible()) {
- Dimension var15 = this.rightc[var10].preferredSize();
- if (!(this.leftc[var10] instanceof List) && !(this.leftc[var10] instanceof JDPList)) {
- this.rightc[var10].reshape(var6 + this.middlepos, var5, var15.width, var15.height);
- } else {
- this.rightc[var10].reshape(var6 + this.middlepos, var5, var4.width - (var6 + this.middlepos), var15.height);
- }
-
- var8 = var15.height;
- }
-
- var5 += Math.max(var7, var8) + this.vgap;
- }
-
- byte var14 = 0;
- byte var16 = 0;
- if (this.scrollEast != null) {
- if (var4.width + 10 < var3.width) {
- var16 = 10;
- }
-
- if (var4.height + 12 - var16 >= var3.height) {
- this.scrollEast.hide();
- var14 = 0;
- } else {
- this.scrollEast.show();
- var14 = 9;
- if (var4.width - 2 >= var3.width) {
- this.scrollEast.reshape(var4.width - 12, var2.top, 12, var4.height - var2.top);
- } else {
- this.scrollEast.reshape(var4.width - 12, var2.top, 12, var4.height - var2.top - 12);
- }
- }
- }
-
- if (this.scrollSouth != null) {
- if (var4.width + 12 - var14 >= var3.width) {
- this.scrollSouth.hide();
- } else {
- this.scrollSouth.show();
- this.scrollSouth.reshape(var2.left, var4.height - 12, var4.width - var2.left, 12);
- }
- }
-
- this.reDrawPanel(var1);
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- activated = JDPUser.classactivated;
- if (!activated) {
- System.out.println("Software Violation - this class may only be used in conjunction with JDesignerPro.");
- } else {
- this.ensureCapacity(this.lastleftpos + 1);
- this.ensureCapacity(this.lastrightpos + 1);
- if (this.staticLayout) {
- if (var1.equals("Left")) {
- for(int var4 = 0; var4 < this.leftc.length; ++var4) {
- if (this.leftc[var4] == null) {
- this.leftc[var4] = var2;
- ++this.lastleftpos;
- return;
- }
- }
-
- return;
- }
-
- if (var1.equals("Right")) {
- for(int var3 = 0; var3 < this.rightc.length; ++var3) {
- if (this.rightc[var3] == null) {
- this.rightc[var3] = var2;
- ++this.lastrightpos;
- return;
- }
- }
-
- return;
- }
-
- if (var1.equals("scrollEast")) {
- this.scrollEast = (Scrollbar)var2;
- return;
- }
-
- if (var1.equals("scrollSouth")) {
- this.scrollSouth = (Scrollbar)var2;
- return;
- }
- } else {
- if (var1.equals("Left")) {
- this.leftc[++this.lastleftpos] = var2;
- return;
- }
-
- if (var1.equals("Right")) {
- this.rightc[++this.lastrightpos] = var2;
- return;
- }
-
- if (var1.equals("scrollEast")) {
- this.scrollEast = (Scrollbar)var2;
- return;
- }
-
- if (var1.equals("scrollSouth")) {
- this.scrollSouth = (Scrollbar)var2;
- return;
- }
-
- this.leftc[++this.lastleftpos] = var2;
- }
-
- }
- }
-
- public JDPRowLayout() {
- this.leftc = new Component[10];
- this.rightc = new Component[10];
- }
-
- public JDPRowLayout(int var1, int var2) {
- this.hgap = var1;
- this.vgap = var2;
- this.leftc = new Component[10];
- this.rightc = new Component[10];
- }
-
- public JDPRowLayout(int var1, int var2, boolean var3) {
- this.hgap = var1;
- this.vgap = var2;
- this.staticLayout = var3;
- this.leftc = new Component[10];
- this.rightc = new Component[10];
- }
-
- public void reDrawPanel(Container var1) {
- Dimension var2 = ((Component)var1).size();
- Dimension var3 = var1.preferredSize();
- if (this.scrollEast != null) {
- int var4 = 0;
- if (System.getProperty("java.vendor").startsWith("Netscape") && System.getProperty("java.version").compareTo("1.1.5") < 0 || System.getProperty("java.vendor").startsWith("Microsoft") && System.getProperty("java.version").compareTo("1.1.4") < 0) {
- var4 = var2.height;
- }
-
- if (var3.width - 10 >= var2.width) {
- this.scrollEast.setValues(this.scrollEast.getValue(), var2.height, 0, var3.height - var4);
- } else {
- this.scrollEast.setValues(this.scrollEast.getValue(), var2.height, 0, var3.height + 5 - var4);
- }
- }
-
- if (this.scrollSouth != null) {
- int var5 = 0;
- if (System.getProperty("java.vendor").startsWith("Netscape") && System.getProperty("java.version").compareTo("1.1.5") < 0 || System.getProperty("java.vendor").startsWith("Microsoft") && System.getProperty("java.version").compareTo("1.1.4") < 0) {
- var5 = var2.width;
- }
-
- this.scrollSouth.setValues(this.scrollSouth.getValue(), var2.width, 0, var3.width - var5);
- }
-
- }
- }
-