home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / plaf / basic / BasicSplitPaneDivider$DragController.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  2.3 KB  |  78 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 javax.swing.JComponent;
  7. import javax.swing.JSplitPane;
  8.  
  9. public class BasicSplitPaneDivider$DragController {
  10.    // $FF: synthetic field
  11.    private final BasicSplitPaneDivider this$0;
  12.    int initialX;
  13.    int maxX;
  14.    int minX;
  15.    int offset;
  16.  
  17.    protected BasicSplitPaneDivider$DragController(BasicSplitPaneDivider var1, MouseEvent var2) {
  18.       this.this$0 = var1;
  19.       JSplitPane var5 = var1.splitPaneUI.getSplitPane();
  20.       Insets var6 = ((JComponent)var5).getInsets();
  21.       int var7;
  22.       if (var6 != null) {
  23.          var7 = var6.right;
  24.       } else {
  25.          var7 = 0;
  26.       }
  27.  
  28.       this.initialX = ((Component)var1).getLocation().x;
  29.       Component var3 = var5.getLeftComponent();
  30.       Component var4 = var5.getRightComponent();
  31.       if (var3 != null && var4 != null) {
  32.          this.minX = var3.getMinimumSize().width + var3.getLocation().x;
  33.          this.maxX = Math.max(0, ((Component)var5).getSize().width - (2 + ((Component)var1).getSize().width + var7) - var4.getMinimumSize().width);
  34.          if (this.maxX < this.minX) {
  35.             this.minX = this.maxX = 0;
  36.          }
  37.       } else {
  38.          this.minX = this.maxX = 0;
  39.       }
  40.  
  41.       this.offset = var2.getX() - this.initialX;
  42.       if (this.offset < -1 || this.offset > ((Component)var1).getSize().width) {
  43.          this.maxX = -1;
  44.       }
  45.  
  46.    }
  47.  
  48.    protected void completeDrag(int var1, int var2) {
  49.       this.this$0.finishDraggingTo(this.getNeededLocation(var1, var2));
  50.    }
  51.  
  52.    protected void completeDrag(MouseEvent var1) {
  53.       this.this$0.finishDraggingTo(this.positionForMouseEvent(var1));
  54.    }
  55.  
  56.    protected void continueDrag(int var1, int var2) {
  57.       this.this$0.dragDividerTo(this.getNeededLocation(var1, var2));
  58.    }
  59.  
  60.    protected void continueDrag(MouseEvent var1) {
  61.       this.this$0.dragDividerTo(this.positionForMouseEvent(var1));
  62.    }
  63.  
  64.    protected int getNeededLocation(int var1, int var2) {
  65.       int var3 = Math.min(this.maxX, Math.max(this.minX, var1 - this.offset));
  66.       return var3;
  67.    }
  68.  
  69.    protected boolean isValid() {
  70.       return this.maxX > 0;
  71.    }
  72.  
  73.    protected int positionForMouseEvent(MouseEvent var1) {
  74.       int var2 = Math.min(this.maxX, Math.max(this.minX, var1.getX() - this.offset));
  75.       return var2;
  76.    }
  77. }
  78.