home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Cursor;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.event.MouseEvent;
- import javax.swing.event.MouseInputListener;
- import javax.swing.table.TableColumn;
- import javax.swing.table.TableColumnModel;
-
- public class BasicTableHeaderUI$MouseInputHandler implements MouseInputListener {
- private int lastEffectiveMouseX;
- // $FF: synthetic field
- private final BasicTableHeaderUI this$0;
-
- public BasicTableHeaderUI$MouseInputHandler(BasicTableHeaderUI var1) {
- this.this$0 = var1;
- }
-
- public void mouseClicked(MouseEvent var1) {
- }
-
- private boolean canResize(TableColumn var1) {
- return var1 != null && this.this$0.header.getResizingAllowed() && var1.getResizable();
- }
-
- private TableColumn getResizingColumn(Point var1) {
- return this.getResizingColumn(var1, this.this$0.header.getColumnModel().getColumnIndexAtX(var1.x));
- }
-
- private TableColumn getResizingColumn(Point var1, int var2) {
- if (var2 == -1) {
- return null;
- } else {
- Rectangle var3 = this.this$0.header.getHeaderRect(var2);
- var3.grow(-3, 0);
- if (var3.contains(var1)) {
- return null;
- } else {
- int var4 = var3.x + var3.width / 2;
- int var5 = var1.x < var4 ? var2 - 1 : var2;
- return var5 == -1 ? null : this.this$0.header.getColumnModel().getColumn(var5);
- }
- }
- }
-
- public void mousePressed(MouseEvent var1) {
- this.this$0.header.setDraggedColumn((TableColumn)null);
- this.this$0.header.setResizingColumn((TableColumn)null);
- this.this$0.header.setDraggedDistance(0);
- Point var2 = var1.getPoint();
- this.lastEffectiveMouseX = var2.x;
- TableColumnModel var3 = this.this$0.header.getColumnModel();
- int var4 = var3.getColumnIndexAtX(var2.x);
- if (var4 != -1) {
- TableColumn var5 = this.getResizingColumn(var2, var4);
- if (this.canResize(var5)) {
- this.this$0.header.setResizingColumn(var5);
- } else if (this.this$0.header.getReorderingAllowed()) {
- TableColumn var6 = var3.getColumn(var4);
- this.this$0.header.setDraggedColumn(var6);
- }
- }
-
- }
-
- private void setCursor(Cursor var1) {
- if (this.this$0.header.getCursor() != var1) {
- this.this$0.header.setCursor(var1);
- }
-
- }
-
- public void mouseMoved(MouseEvent var1) {
- if (this.canResize(this.getResizingColumn(var1.getPoint()))) {
- this.setCursor(Cursor.getPredefinedCursor(11));
- } else {
- this.setCursor(Cursor.getPredefinedCursor(0));
- }
-
- }
-
- public void mouseDragged(MouseEvent var1) {
- int var2 = var1.getX();
- int var3 = var2 - this.lastEffectiveMouseX;
- if (var3 != 0) {
- TableColumn var4 = this.this$0.header.getResizingColumn();
- TableColumn var5 = this.this$0.header.getDraggedColumn();
- if (var4 != null) {
- int var6 = var4.getWidth();
- int var7 = var6 + var3;
- var4.setWidth(var7);
- int var8 = var4.getWidth() - var6;
- this.lastEffectiveMouseX += var8;
- } else if (var5 != null) {
- this.move(var1, var3);
- this.lastEffectiveMouseX = var2;
- } else {
- this.lastEffectiveMouseX = var2;
- }
-
- }
- }
-
- public void mouseReleased(MouseEvent var1) {
- this.setDraggedDistance(0, BasicTableHeaderUI.access$000(this.this$0, this.this$0.header.getDraggedColumn()));
- this.this$0.header.setResizingColumn((TableColumn)null);
- this.this$0.header.setDraggedColumn((TableColumn)null);
- }
-
- public void mouseEntered(MouseEvent var1) {
- }
-
- public void mouseExited(MouseEvent var1) {
- }
-
- private void setDraggedDistance(int var1, int var2) {
- this.this$0.header.setDraggedDistance(var1);
- if (var2 != -1) {
- this.this$0.header.getColumnModel().moveColumn(var2, var2);
- }
-
- }
-
- private void move(MouseEvent var1, int var2) {
- TableColumnModel var3 = this.this$0.header.getColumnModel();
- int var4 = var3.getColumnCount() - 1;
- TableColumn var5 = this.this$0.header.getDraggedColumn();
- int var6 = this.this$0.header.getDraggedDistance() + var2;
- int var7 = BasicTableHeaderUI.access$000(this.this$0, var5);
- if (var6 < 0 && var7 != 0) {
- int var9 = var3.getColumn(var7 - 1).getWidth();
- if (-var6 > var9 / 2) {
- var3.moveColumn(var7, var7 - 1);
- var6 += var9;
- --var7;
- }
- } else if (var6 > 0 && var7 != var4) {
- int var8 = var3.getColumn(var7 + 1).getWidth();
- if (var6 > var8 / 2) {
- var3.moveColumn(var7, var7 + 1);
- var6 = -(var8 - var6);
- ++var7;
- }
- }
-
- this.this$0.header.setDraggedColumn(var3.getColumn(var7));
- this.setDraggedDistance(var6, var7);
- }
- }
-