home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicSplitPaneDivider$DragController.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.2 KB  |  89 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Insets;
  5. import java.awt.event.MouseEvent;
  6. import java.util.EventObject;
  7. import javax.swing.JComponent;
  8. import javax.swing.JSplitPane;
  9.  
  10. public class BasicSplitPaneDivider$DragController {
  11.    int initialX;
  12.    int maxX;
  13.    int minX;
  14.    int offset;
  15.    // $FF: synthetic field
  16.    private final BasicSplitPaneDivider this$0;
  17.  
  18.    protected BasicSplitPaneDivider$DragController(BasicSplitPaneDivider var1, MouseEvent var2) {
  19.       this.this$0 = var1;
  20.       JSplitPane var3 = var1.splitPaneUI.getSplitPane();
  21.       Component var4 = var3.getLeftComponent();
  22.       Component var5 = var3.getRightComponent();
  23.       this.initialX = ((Component)var1).getLocation().x;
  24.       if (((EventObject)var2).getSource() == var1) {
  25.          this.offset = var2.getX();
  26.       } else {
  27.          this.offset = var2.getX() - this.initialX;
  28.       }
  29.  
  30.       if (var4 != null && var5 != null && this.offset >= -1 && this.offset <= ((Component)var1).getSize().width) {
  31.          Insets var6 = ((JComponent)var3).getInsets();
  32.          if (var4.isVisible()) {
  33.             this.minX = var4.getMinimumSize().width;
  34.             if (var6 != null) {
  35.                this.minX += var6.left;
  36.             }
  37.          } else {
  38.             this.minX = 0;
  39.          }
  40.  
  41.          if (var5.isVisible()) {
  42.             int var7 = var6 != null ? var6.right : 0;
  43.             this.maxX = Math.max(0, ((Component)var3).getSize().width - (((Component)var1).getSize().width + var7) - var5.getMinimumSize().width);
  44.          } else {
  45.             int var8 = var6 != null ? var6.right : 0;
  46.             this.maxX = Math.max(0, ((Component)var3).getSize().width - (((Component)var1).getSize().width + var8));
  47.          }
  48.  
  49.          if (this.maxX < this.minX) {
  50.             this.minX = this.maxX = 0;
  51.          }
  52.       } else {
  53.          this.maxX = -1;
  54.       }
  55.  
  56.    }
  57.  
  58.    protected boolean isValid() {
  59.       return this.maxX > 0;
  60.    }
  61.  
  62.    protected int positionForMouseEvent(MouseEvent var1) {
  63.       int var2 = ((EventObject)var1).getSource() == this.this$0 ? var1.getX() + this.this$0.getLocation().x : var1.getX();
  64.       var2 = Math.min(this.maxX, Math.max(this.minX, var2 - this.offset));
  65.       return var2;
  66.    }
  67.  
  68.    protected int getNeededLocation(int var1, int var2) {
  69.       int var3 = Math.min(this.maxX, Math.max(this.minX, var1 - this.offset));
  70.       return var3;
  71.    }
  72.  
  73.    protected void continueDrag(int var1, int var2) {
  74.       this.this$0.dragDividerTo(this.getNeededLocation(var1, var2));
  75.    }
  76.  
  77.    protected void continueDrag(MouseEvent var1) {
  78.       this.this$0.dragDividerTo(this.positionForMouseEvent(var1));
  79.    }
  80.  
  81.    protected void completeDrag(int var1, int var2) {
  82.       this.this$0.finishDraggingTo(this.getNeededLocation(var1, var2));
  83.    }
  84.  
  85.    protected void completeDrag(MouseEvent var1) {
  86.       this.this$0.finishDraggingTo(this.positionForMouseEvent(var1));
  87.    }
  88. }
  89.