home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / basic / BasicSplitPaneDivider$DragController.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  2.9 KB  |  80 lines

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