litesoft
@ HEAD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client.widgets.nonpublic; import org.litesoft.GWT.client.widgets.nonpublic.external.*; public abstract class AbstractDragger implements DragGesture { private XY mMouseStartDrag; private boolean mCancelled; @Override public void start( MouseEvent e ) { mCancelled = false; mMouseStartDrag = new XY( e.getWidgetX(), e.getWidgetY() ); // StatusBar.set( "dragStart" + mMouseStartDrag ); // matg: disabled due to poor performance w/ complex windows // mTarget.addStyleName( "Dragging" ); } @Override public void step( DragEvent e ) { if ( !mCancelled ) { XY xy = new XY( e.getWidgetX(), e.getWidgetY() ); XY delta = xy.minus( mMouseStartDrag ); // StatusBar.set( "MouseMove" + xy + "-" + mMouseStartDrag + "=" + delta ); if ( !dragBy( delta.getX(), delta.getY() ) ) { finish(); mCancelled = true; } } } @Override public void finish() { // StatusBar.set( "dragStop" ); if ( !mCancelled ) { mMouseStartDrag = null; // matg: disabled due to poor performance w/ complex windows // mTarget.removeStyleName( "Dragging" ); } } /** * @return false to prevent additional dragging */ protected abstract boolean dragBy( int pDeltaX, int pDeltaY ); private static class XY { private int mX, mY; public XY( int pX, int pY ) { mX = pX; mY = pY; } public int getX() { return mX; } public int getY() { return mY; } @Override public String toString() { return "(" + mX + ", " + mY + ")"; } public XY add( XY them ) { return new XY( this.mX + them.mX, this.mY + them.mY ); } public XY minus( XY them ) { return new XY( this.mX - them.mX, this.mY - them.mY ); } public XY addX( int pX ) { return new XY( this.mX + pX, this.mY ); } public XY minusX( int pX ) { return new XY( this.mX - pX, this.mY ); } public XY addY( int pY ) { return new XY( this.mX, this.mY + pY ); } public XY minusY( int pY ) { return new XY( this.mX, this.mY - pY ); } } } |
Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/nonpublic/AbstractDragger.java
Revision | Author | Commited | Message |
---|---|---|---|
950 Diff | GeorgeS | Thu 19 Jun, 2014 17:57:04 +0000 | New Lines |
948 Diff | GeorgeS | Sat 07 Jun, 2014 23:42:39 +0000 | Jusefuls Formatter Updated to New Code Format |
947 Diff | GeorgeS | Fri 06 Jun, 2014 23:36:56 +0000 | Correct Spelling of package! |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
23 Diff | GeorgeS | Wed 24 Feb, 2010 00:34:32 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |