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$MouseHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.9 KB  |  120 lines

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Point;
  5. import java.awt.Rectangle;
  6. import java.awt.event.InputEvent;
  7. import java.awt.event.MouseAdapter;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.event.MouseMotionListener;
  10. import java.io.Serializable;
  11. import java.util.EventObject;
  12.  
  13. class BasicSplitPaneDivider$MouseHandler extends MouseAdapter implements MouseMotionListener, Serializable {
  14.    // $FF: synthetic field
  15.    private final BasicSplitPaneDivider this$0;
  16.  
  17.    public void mousePressed(MouseEvent var1) {
  18.       if (((EventObject)var1).getSource() == this.this$0.splitPane && this.this$0.dragger == null && this.this$0.splitPane.isEnabled()) {
  19.          Component var2 = this.this$0.splitPaneUI.getNonContinuousLayoutDivider();
  20.          if (this.this$0.hiddenDivider != var2) {
  21.             if (this.this$0.hiddenDivider != null) {
  22.                this.this$0.hiddenDivider.removeMouseListener(this);
  23.                this.this$0.hiddenDivider.removeMouseMotionListener(this);
  24.             }
  25.  
  26.             this.this$0.hiddenDivider = var2;
  27.             if (this.this$0.hiddenDivider != null) {
  28.                this.this$0.hiddenDivider.addMouseMotionListener(this);
  29.                this.this$0.hiddenDivider.addMouseListener(this);
  30.             }
  31.          }
  32.  
  33.          if (this.this$0.splitPane.getLeftComponent() != null && this.this$0.splitPane.getRightComponent() != null) {
  34.             if (this.this$0.orientation == 1) {
  35.                this.this$0.dragger = new BasicSplitPaneDivider.DragController(this.this$0, var1);
  36.             } else {
  37.                this.this$0.dragger = new BasicSplitPaneDivider.VerticalDragController(this.this$0, var1);
  38.             }
  39.  
  40.             if (!this.this$0.dragger.isValid()) {
  41.                this.this$0.dragger = null;
  42.             } else {
  43.                this.this$0.prepareForDragging();
  44.                this.this$0.dragger.continueDrag(var1);
  45.             }
  46.          }
  47.  
  48.          ((InputEvent)var1).consume();
  49.       }
  50.  
  51.    }
  52.  
  53.    public void mouseReleased(MouseEvent var1) {
  54.       if (this.this$0.dragger != null) {
  55.          if (((EventObject)var1).getSource() == this.this$0.splitPane) {
  56.             this.this$0.dragger.completeDrag(var1.getX(), var1.getY());
  57.          } else if (((EventObject)var1).getSource() == this.this$0.hiddenDivider) {
  58.             this.this$0.getLocation();
  59.             Point var2 = this.this$0.hiddenDivider.getLocation();
  60.             int var3 = var1.getX() + var2.x;
  61.             int var4 = var1.getY() + var2.y;
  62.             this.this$0.dragger.completeDrag(var3, var4);
  63.          }
  64.  
  65.          this.this$0.dragger = null;
  66.       }
  67.  
  68.       this.this$0.splitPane.setCursor(BasicSplitPaneDivider.defaultCursor);
  69.       ((InputEvent)var1).consume();
  70.    }
  71.  
  72.    public void mouseDragged(MouseEvent var1) {
  73.       if (this.this$0.dragger != null) {
  74.          if (((EventObject)var1).getSource() == this.this$0.splitPane) {
  75.             this.this$0.dragger.continueDrag(var1.getX(), var1.getY());
  76.          } else if (((EventObject)var1).getSource() == this.this$0.hiddenDivider) {
  77.             this.this$0.getLocation();
  78.             Point var2 = this.this$0.hiddenDivider.getLocation();
  79.             int var3 = var1.getX() + var2.x;
  80.             int var4 = var1.getY() + var2.y;
  81.             this.this$0.dragger.continueDrag(var3, var4);
  82.          }
  83.  
  84.          ((InputEvent)var1).consume();
  85.       }
  86.  
  87.    }
  88.  
  89.    public void mouseMoved(MouseEvent var1) {
  90.       if (this.this$0.dragger == null) {
  91.          int var2 = var1.getX();
  92.          int var3 = var1.getY();
  93.          Rectangle var4 = this.this$0.getBounds();
  94.          if (var2 >= var4.x && var2 < var4.x + var4.width && var3 >= var4.y && var3 < var4.y + var4.height) {
  95.             if (this.this$0.orientation == 1) {
  96.                if (this.this$0.splitPane.getCursor() != BasicSplitPaneDivider.horizontalCursor) {
  97.                   this.this$0.splitPane.setCursor(BasicSplitPaneDivider.horizontalCursor);
  98.                   return;
  99.                }
  100.  
  101.                return;
  102.             }
  103.  
  104.             if (this.this$0.splitPane.getCursor() != BasicSplitPaneDivider.verticalCursor) {
  105.                this.this$0.splitPane.setCursor(BasicSplitPaneDivider.verticalCursor);
  106.                return;
  107.             }
  108.          } else if (this.this$0.splitPane.getCursor() != BasicSplitPaneDivider.defaultCursor) {
  109.             this.this$0.splitPane.setCursor(BasicSplitPaneDivider.defaultCursor);
  110.          }
  111.  
  112.       }
  113.    }
  114.  
  115.    BasicSplitPaneDivider$MouseHandler(BasicSplitPaneDivider var1) {
  116.       this.this$0 = var1;
  117.       this.this$0 = var1;
  118.    }
  119. }
  120.