home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.io.Serializable;
- import java.util.Enumeration;
- import java.util.Hashtable;
-
- public class CardLayout implements LayoutManager2, Serializable {
- Hashtable tab;
- int hgap;
- int vgap;
-
- public CardLayout() {
- this(0, 0);
- }
-
- public CardLayout(int var1, int var2) {
- this.tab = new Hashtable();
- this.hgap = var1;
- this.vgap = var2;
- }
-
- public int getHgap() {
- return this.hgap;
- }
-
- public void setHgap(int var1) {
- this.hgap = var1;
- }
-
- public int getVgap() {
- return this.vgap;
- }
-
- public void setVgap(int var1) {
- this.vgap = var1;
- }
-
- public void addLayoutComponent(Component var1, Object var2) {
- Object var3 = var1.getTreeLock();
- synchronized(var3) {
- if (var2 instanceof String) {
- this.addLayoutComponent((String)var2, var1);
- } else {
- throw new IllegalArgumentException("cannot add to layout: constraint must be a string");
- }
- }
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- Object var3 = var2.getTreeLock();
- synchronized(var3) {
- if (this.tab.size() > 0) {
- var2.hide();
- }
-
- this.tab.put(var1, var2);
- }
- }
-
- public void removeLayoutComponent(Component var1) {
- Object var2 = var1.getTreeLock();
- synchronized(var2) {
- Enumeration var3 = this.tab.keys();
-
- while(var3.hasMoreElements()) {
- String var4 = (String)var3.nextElement();
- if (this.tab.get(var4) == var1) {
- this.tab.remove(var4);
- return;
- }
- }
-
- }
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Insets var3 = var1.getInsets();
- int var4 = var1.getComponentCount();
- int var5 = 0;
- int var6 = 0;
-
- for(int var7 = 0; var7 < var4; ++var7) {
- Component var8 = var1.getComponent(var7);
- Dimension var9 = var8.getPreferredSize();
- if (var9.width > var5) {
- var5 = var9.width;
- }
-
- if (var9.height > var6) {
- var6 = var9.height;
- }
- }
-
- Dimension var12 = new Dimension(var3.left + var3.right + var5 + this.hgap * 2, var3.top + var3.bottom + var6 + this.vgap * 2);
- return var12;
- }
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Insets var3 = var1.getInsets();
- int var4 = var1.getComponentCount();
- int var5 = 0;
- int var6 = 0;
-
- for(int var7 = 0; var7 < var4; ++var7) {
- Component var8 = var1.getComponent(var7);
- Dimension var9 = var8.getMinimumSize();
- if (var9.width > var5) {
- var5 = var9.width;
- }
-
- if (var9.height > var6) {
- var6 = var9.height;
- }
- }
-
- Dimension var12 = new Dimension(var3.left + var3.right + var5 + this.hgap * 2, var3.top + var3.bottom + var6 + this.vgap * 2);
- return var12;
- }
- }
-
- public Dimension maximumLayoutSize(Container var1) {
- return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
- }
-
- public float getLayoutAlignmentX(Container var1) {
- return 0.5F;
- }
-
- public float getLayoutAlignmentY(Container var1) {
- return 0.5F;
- }
-
- public void invalidateLayout(Container var1) {
- }
-
- public void layoutContainer(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Insets var3 = var1.getInsets();
- int var4 = var1.getComponentCount();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- Component var6 = var1.getComponent(var5);
- if (var6.visible) {
- var6.setBounds(this.hgap + var3.left, this.vgap + var3.top, var1.width - (this.hgap * 2 + var3.left + var3.right), var1.height - (this.vgap * 2 + var3.top + var3.bottom));
- }
- }
-
- }
- }
-
- void checkLayout(Container var1) {
- if (var1.getLayout() != this) {
- throw new IllegalArgumentException("wrong parent for CardLayout");
- }
- }
-
- public void first(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- this.checkLayout(var1);
- int var3 = var1.getComponentCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Component var5 = var1.getComponent(var4);
- if (var5.visible) {
- var5.hide();
- var5 = var1.getComponent(0);
- var5.show();
- var1.validate();
- return;
- }
- }
-
- }
- }
-
- public void next(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- this.checkLayout(var1);
- int var3 = var1.getComponentCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Component var5 = var1.getComponent(var4);
- if (var5.visible) {
- var5.hide();
- var5 = var1.getComponent(var4 + 1 < var3 ? var4 + 1 : 0);
- var5.show();
- var1.validate();
- return;
- }
- }
-
- }
- }
-
- public void previous(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- this.checkLayout(var1);
- int var3 = var1.getComponentCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Component var5 = var1.getComponent(var4);
- if (var5.visible) {
- var5.hide();
- var5 = var1.getComponent(var4 > 0 ? var4 - 1 : var3 - 1);
- var5.show();
- var1.validate();
- return;
- }
- }
-
- }
- }
-
- public void last(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- this.checkLayout(var1);
- int var3 = var1.getComponentCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Component var5 = var1.getComponent(var4);
- if (var5.visible) {
- var5.hide();
- var5 = var1.getComponent(var3 - 1);
- var5.show();
- var1.validate();
- return;
- }
- }
-
- }
- }
-
- public void show(Container var1, String var2) {
- Object var3 = ((Component)var1).getTreeLock();
- synchronized(var3) {
- this.checkLayout(var1);
- Component var4 = (Component)this.tab.get(var2);
- if (var4 != null && !var4.visible) {
- int var5 = var1.getComponentCount();
-
- for(int var6 = 0; var6 < var5; ++var6) {
- Component var7 = var1.getComponent(var6);
- if (var7.visible) {
- var7.hide();
- break;
- }
- }
-
- var4.show();
- var1.validate();
- }
-
- }
- }
-
- public String toString() {
- return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
- }
- }
-