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 / BasicTableHeaderUI$MouseInputHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.3 KB  |  151 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Cursor;
  4. import java.awt.Point;
  5. import java.awt.Rectangle;
  6. import java.awt.event.MouseEvent;
  7. import javax.swing.event.MouseInputListener;
  8. import javax.swing.table.TableColumn;
  9. import javax.swing.table.TableColumnModel;
  10.  
  11. public class BasicTableHeaderUI$MouseInputHandler implements MouseInputListener {
  12.    private int lastEffectiveMouseX;
  13.    // $FF: synthetic field
  14.    private final BasicTableHeaderUI this$0;
  15.  
  16.    public BasicTableHeaderUI$MouseInputHandler(BasicTableHeaderUI var1) {
  17.       this.this$0 = var1;
  18.    }
  19.  
  20.    public void mouseClicked(MouseEvent var1) {
  21.    }
  22.  
  23.    private boolean canResize(TableColumn var1) {
  24.       return var1 != null && this.this$0.header.getResizingAllowed() && var1.getResizable();
  25.    }
  26.  
  27.    private TableColumn getResizingColumn(Point var1) {
  28.       return this.getResizingColumn(var1, this.this$0.header.getColumnModel().getColumnIndexAtX(var1.x));
  29.    }
  30.  
  31.    private TableColumn getResizingColumn(Point var1, int var2) {
  32.       if (var2 == -1) {
  33.          return null;
  34.       } else {
  35.          Rectangle var3 = this.this$0.header.getHeaderRect(var2);
  36.          var3.grow(-3, 0);
  37.          if (var3.contains(var1)) {
  38.             return null;
  39.          } else {
  40.             int var4 = var3.x + var3.width / 2;
  41.             int var5 = var1.x < var4 ? var2 - 1 : var2;
  42.             return var5 == -1 ? null : this.this$0.header.getColumnModel().getColumn(var5);
  43.          }
  44.       }
  45.    }
  46.  
  47.    public void mousePressed(MouseEvent var1) {
  48.       this.this$0.header.setDraggedColumn((TableColumn)null);
  49.       this.this$0.header.setResizingColumn((TableColumn)null);
  50.       this.this$0.header.setDraggedDistance(0);
  51.       Point var2 = var1.getPoint();
  52.       this.lastEffectiveMouseX = var2.x;
  53.       TableColumnModel var3 = this.this$0.header.getColumnModel();
  54.       int var4 = var3.getColumnIndexAtX(var2.x);
  55.       if (var4 != -1) {
  56.          TableColumn var5 = this.getResizingColumn(var2, var4);
  57.          if (this.canResize(var5)) {
  58.             this.this$0.header.setResizingColumn(var5);
  59.          } else if (this.this$0.header.getReorderingAllowed()) {
  60.             TableColumn var6 = var3.getColumn(var4);
  61.             this.this$0.header.setDraggedColumn(var6);
  62.          }
  63.       }
  64.  
  65.    }
  66.  
  67.    private void setCursor(Cursor var1) {
  68.       if (this.this$0.header.getCursor() != var1) {
  69.          this.this$0.header.setCursor(var1);
  70.       }
  71.  
  72.    }
  73.  
  74.    public void mouseMoved(MouseEvent var1) {
  75.       if (this.canResize(this.getResizingColumn(var1.getPoint()))) {
  76.          this.setCursor(Cursor.getPredefinedCursor(11));
  77.       } else {
  78.          this.setCursor(Cursor.getPredefinedCursor(0));
  79.       }
  80.  
  81.    }
  82.  
  83.    public void mouseDragged(MouseEvent var1) {
  84.       int var2 = var1.getX();
  85.       int var3 = var2 - this.lastEffectiveMouseX;
  86.       if (var3 != 0) {
  87.          TableColumn var4 = this.this$0.header.getResizingColumn();
  88.          TableColumn var5 = this.this$0.header.getDraggedColumn();
  89.          if (var4 != null) {
  90.             int var6 = var4.getWidth();
  91.             int var7 = var6 + var3;
  92.             var4.setWidth(var7);
  93.             int var8 = var4.getWidth() - var6;
  94.             this.lastEffectiveMouseX += var8;
  95.          } else if (var5 != null) {
  96.             this.move(var1, var3);
  97.             this.lastEffectiveMouseX = var2;
  98.          } else {
  99.             this.lastEffectiveMouseX = var2;
  100.          }
  101.  
  102.       }
  103.    }
  104.  
  105.    public void mouseReleased(MouseEvent var1) {
  106.       this.setDraggedDistance(0, BasicTableHeaderUI.access$000(this.this$0, this.this$0.header.getDraggedColumn()));
  107.       this.this$0.header.setResizingColumn((TableColumn)null);
  108.       this.this$0.header.setDraggedColumn((TableColumn)null);
  109.    }
  110.  
  111.    public void mouseEntered(MouseEvent var1) {
  112.    }
  113.  
  114.    public void mouseExited(MouseEvent var1) {
  115.    }
  116.  
  117.    private void setDraggedDistance(int var1, int var2) {
  118.       this.this$0.header.setDraggedDistance(var1);
  119.       if (var2 != -1) {
  120.          this.this$0.header.getColumnModel().moveColumn(var2, var2);
  121.       }
  122.  
  123.    }
  124.  
  125.    private void move(MouseEvent var1, int var2) {
  126.       TableColumnModel var3 = this.this$0.header.getColumnModel();
  127.       int var4 = var3.getColumnCount() - 1;
  128.       TableColumn var5 = this.this$0.header.getDraggedColumn();
  129.       int var6 = this.this$0.header.getDraggedDistance() + var2;
  130.       int var7 = BasicTableHeaderUI.access$000(this.this$0, var5);
  131.       if (var6 < 0 && var7 != 0) {
  132.          int var9 = var3.getColumn(var7 - 1).getWidth();
  133.          if (-var6 > var9 / 2) {
  134.             var3.moveColumn(var7, var7 - 1);
  135.             var6 += var9;
  136.             --var7;
  137.          }
  138.       } else if (var6 > 0 && var7 != var4) {
  139.          int var8 = var3.getColumn(var7 + 1).getWidth();
  140.          if (var6 > var8 / 2) {
  141.             var3.moveColumn(var7, var7 + 1);
  142.             var6 = -(var8 - var6);
  143.             ++var7;
  144.          }
  145.       }
  146.  
  147.       this.this$0.header.setDraggedColumn(var3.getColumn(var7));
  148.       this.setDraggedDistance(var6, var7);
  149.    }
  150. }
  151.