home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSplitLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  3.8 KB  |  272 lines

  1. import java.awt.Component;
  2. import java.awt.Container;
  3. import java.awt.Dimension;
  4. import java.awt.Insets;
  5. import java.awt.LayoutManager;
  6. import java.awt.Rectangle;
  7.  
  8. public class JDPSplitLayout implements LayoutManager {
  9.    int hgap = 1;
  10.    int vgap = 1;
  11.    float currXsplit = 50.0F;
  12.    float currYsplit = 50.0F;
  13.    Component upperLeft;
  14.    Component upperRight;
  15.    Component lowerLeft;
  16.    Component lowerRight;
  17.    Component dragXPanel;
  18.    Component dragYPanel;
  19.    Container target;
  20.  
  21.    public void moveYdivider(int var1) {
  22.       Insets var2 = this.target.insets();
  23.       Rectangle var3 = this.target.bounds();
  24.       int var4 = var2.top;
  25.       int var5 = var3.height - var2.bottom;
  26.       float var6 = (float)(var1 - var4) / (float)(var5 - var4) * 100.0F;
  27.       this.setTopPercentage(var6);
  28.    }
  29.  
  30.    public Dimension minimumLayoutSize(Container var1) {
  31.       Dimension var2 = new Dimension(0, 0);
  32.       Dimension var3 = new Dimension(0, 0);
  33.       Dimension var4 = new Dimension(0, 0);
  34.       Dimension var5 = new Dimension(0, 0);
  35.       Dimension var6 = new Dimension(0, 0);
  36.       if (this.upperLeft != null) {
  37.          var3 = this.upperLeft.minimumSize();
  38.       }
  39.  
  40.       if (this.upperRight != null) {
  41.          var4 = this.upperRight.minimumSize();
  42.       }
  43.  
  44.       if (this.lowerLeft != null) {
  45.          var5 = this.lowerLeft.minimumSize();
  46.       }
  47.  
  48.       if (this.lowerRight != null) {
  49.          var6 = this.lowerRight.minimumSize();
  50.       }
  51.  
  52.       var2.width = Math.max(var3.width, var5.width);
  53.       var2.width += Math.max(var4.width, var6.width);
  54.       var2.height = Math.max(var3.height, var4.height);
  55.       var2.height += Math.max(var5.height, var6.height);
  56.       var2.width += this.hgap + 1;
  57.       var2.height += this.vgap + 1;
  58.       Insets var7 = var1.insets();
  59.       var2.width += var7.left + var7.right;
  60.       var2.height += var7.top + var7.bottom;
  61.       return var2;
  62.    }
  63.  
  64.    public void setLeftPercentage(float var1) {
  65.       if (var1 < 0.0F) {
  66.          var1 = 0.0F;
  67.       }
  68.  
  69.       if (var1 > 100.0F) {
  70.          var1 = 100.0F;
  71.       }
  72.  
  73.       this.currXsplit = var1;
  74.    }
  75.  
  76.    public float getLeftPercentage() {
  77.       return this.currXsplit;
  78.    }
  79.  
  80.    public String toString() {
  81.       return this.getClass().getName() + "[hgap=" + this.hgap + "]";
  82.    }
  83.  
  84.    public void setTopPercentage(float var1) {
  85.       if (var1 < 0.0F) {
  86.          var1 = 0.0F;
  87.       }
  88.  
  89.       if (var1 > 100.0F) {
  90.          var1 = 100.0F;
  91.       }
  92.  
  93.       this.currYsplit = var1;
  94.    }
  95.  
  96.    public void removeLayoutComponent(Component var1) {
  97.       if (var1.equals(this.upperLeft)) {
  98.          this.upperLeft = null;
  99.       } else if (var1.equals(this.upperRight)) {
  100.          this.upperRight = null;
  101.       } else if (var1.equals(this.lowerLeft)) {
  102.          this.lowerLeft = null;
  103.       } else {
  104.          if (var1.equals(this.lowerRight)) {
  105.             this.lowerRight = null;
  106.          }
  107.  
  108.       }
  109.    }
  110.  
  111.    public JDPSplitLayout() {
  112.    }
  113.  
  114.    public JDPSplitLayout(int var1, int var2) {
  115.       this.hgap = var1;
  116.       this.vgap = var2;
  117.    }
  118.  
  119.    public float getTopPercentage() {
  120.       return this.currYsplit;
  121.    }
  122.  
  123.    public void showXdragPanel(int var1) {
  124.       Insets var2 = this.target.insets();
  125.       Rectangle var3 = this.target.bounds();
  126.       int var4 = var2.top;
  127.       int var5 = var3.height - var2.bottom;
  128.       this.dragXPanel.reshape(var1 - this.hgap - 1, var4, this.hgap * 2 + 2, var5);
  129.    }
  130.  
  131.    public Dimension preferredLayoutSize(Container var1) {
  132.       return this.minimumLayoutSize(var1);
  133.    }
  134.  
  135.    public void layoutContainer(Container var1) {
  136.       this.target = var1;
  137.       if (var1 != null) {
  138.          Insets var2 = var1.insets();
  139.          Rectangle var3 = ((Component)var1).bounds();
  140.          int var4 = var2.top;
  141.          int var5 = var3.height - var2.bottom;
  142.          int var6 = var2.left;
  143.          int var7 = var3.width - var2.right;
  144.          int var8 = (int)(this.currXsplit * (float)(var7 - var6) / 100.0F);
  145.          int var9 = (int)(this.currYsplit * (float)(var5 - var4) / 100.0F);
  146.          if ((this.upperRight == null || !this.upperRight.isVisible()) && (this.lowerRight == null || !this.lowerRight.isVisible())) {
  147.             var8 = var7 + this.hgap;
  148.          }
  149.  
  150.          this.dragXPanel.reshape(var8 - this.hgap, var4, this.hgap * 2 + 1, var5);
  151.          this.dragXPanel.show();
  152.          if ((this.lowerLeft == null || !this.lowerLeft.isVisible()) && (this.lowerRight == null || !this.lowerRight.isVisible())) {
  153.             var9 = var5 + this.vgap;
  154.          }
  155.  
  156.          this.dragYPanel.reshape(var6, var9 - this.vgap, var7, this.vgap * 2 + 1);
  157.          this.dragYPanel.show();
  158.          if (this.upperLeft != null && this.upperLeft.isVisible()) {
  159.             this.upperLeft.preferredSize();
  160.             this.upperLeft.reshape(var6, var4, var8 - var6 - this.hgap, var9 - var4 - this.vgap);
  161.          }
  162.  
  163.          if (this.upperRight != null && this.upperRight.isVisible()) {
  164.             this.upperRight.preferredSize();
  165.             this.upperRight.reshape(var8 + this.hgap + 1, var4, var7 - var8 - this.hgap - 1, var9 - var4 - this.vgap);
  166.          }
  167.  
  168.          if (this.lowerLeft != null && this.lowerLeft.isVisible()) {
  169.             this.lowerLeft.preferredSize();
  170.             this.lowerLeft.reshape(var6, var9 + this.vgap + 1, var8 - var6 - this.hgap, var5 - var9 - this.vgap - 1);
  171.          }
  172.  
  173.          if (this.lowerRight != null && this.lowerRight.isVisible()) {
  174.             this.lowerRight.preferredSize();
  175.             this.lowerRight.reshape(var8 + this.hgap + 1, var9 + this.vgap + 1, var7 - var8 - this.hgap - 1, var5 - var9 - this.vgap - 1);
  176.          }
  177.  
  178.       }
  179.    }
  180.  
  181.    public void moveXdivider(int var1) {
  182.       Insets var2 = this.target.insets();
  183.       Rectangle var3 = this.target.bounds();
  184.       int var4 = var2.left;
  185.       int var5 = var3.width - var2.right;
  186.       float var6 = (float)(var1 - var4) / (float)(var5 - var4) * 100.0F;
  187.       this.setLeftPercentage(var6);
  188.    }
  189.  
  190.    public void addLayoutComponent(String var1, Component var2) {
  191.       if (var1.equals("dragX")) {
  192.          this.dragXPanel = var2;
  193.       } else if (var1.equals("dragY")) {
  194.          this.dragYPanel = var2;
  195.       } else {
  196.          if (!var1.equals("Left") && !var1.equals("West")) {
  197.             if (!var1.equals("Right") && !var1.equals("East")) {
  198.                if (var1.equals("North")) {
  199.                   if (this.upperLeft == null) {
  200.                      this.upperLeft = var2;
  201.                      return;
  202.                   }
  203.  
  204.                   if (this.upperRight == null) {
  205.                      this.upperRight = var2;
  206.                      return;
  207.                   }
  208.                } else if (var1.equals("South")) {
  209.                   if (this.lowerLeft == null) {
  210.                      this.lowerLeft = var2;
  211.                      return;
  212.                   }
  213.  
  214.                   if (this.lowerRight == null) {
  215.                      this.lowerRight = var2;
  216.                      return;
  217.                   }
  218.                } else if (var1.equals("Center")) {
  219.                   if (this.upperLeft == null) {
  220.                      this.upperLeft = var2;
  221.                      return;
  222.                   }
  223.  
  224.                   if (this.lowerLeft == null) {
  225.                      this.lowerLeft = var2;
  226.                      return;
  227.                   }
  228.  
  229.                   if (this.upperRight == null) {
  230.                      this.upperRight = var2;
  231.                      return;
  232.                   }
  233.  
  234.                   if (this.lowerRight == null) {
  235.                      this.lowerRight = var2;
  236.                   }
  237.                }
  238.             } else {
  239.                if (this.upperRight == null) {
  240.                   this.upperRight = var2;
  241.                   return;
  242.                }
  243.  
  244.                if (this.lowerRight == null) {
  245.                   this.lowerRight = var2;
  246.                   return;
  247.                }
  248.             }
  249.          } else {
  250.             if (this.upperLeft == null) {
  251.                this.upperLeft = var2;
  252.                return;
  253.             }
  254.  
  255.             if (this.lowerLeft == null) {
  256.                this.lowerLeft = var2;
  257.                return;
  258.             }
  259.          }
  260.  
  261.       }
  262.    }
  263.  
  264.    public void showYdragPanel(int var1) {
  265.       Insets var2 = this.target.insets();
  266.       Rectangle var3 = this.target.bounds();
  267.       int var4 = var2.left;
  268.       int var5 = var3.width - var2.right;
  269.       this.dragYPanel.reshape(var4, var1 - this.vgap - 1, var5, this.vgap * 2 + 2);
  270.    }
  271. }
  272.