Some progress on this native drag-n-drop issue:
Drag-n-drop working only once, then failing on subsequent tries, only fails due to a dead event when you delegate to your UiRenderer (native DnD, in DevMode, using GWT 2.5.1, in an AbstractCell).
Fails after first time:
@Override public void onBrowserEvent( Context context, Element parent, TaskProxy value, NativeEvent event, ValueUpdater<TaskProxy> valueUpdater ) { renderer.onBrowserEvent( this, event, parent, context ); } @UiHandler("root") void onDragStart( DragStartEvent event, Element parent, Context context ) { event.setData( "text", String.valueOf( context.getIndex() ) ); event.getDataTransfer().setDragImage( parent, 25, 15 ); } If you replace the delegation to 'renderer' with code that sets the data to transfer directly on the NativeEvent, everything works great:
@Override public void onBrowserEvent( Context context, Element parent, TaskProxy value, NativeEvent event, ValueUpdater<TaskProxy> valueUpdater ) { // TODO - Add check to ensure event came from "root." if ( DRAGSTART.equals( event.getType() ) ) { DataTransfer dataTransfer = event.getDataTransfer(); dataTransfer.setData( "text", String.valueOf( context.getIndex() ) ); dataTransfer.setDragImage( parent, 25, 15 ); } } I only found out after getting it working, that this is how DesktopTaskEditView originally worked before UiRenderer came along:
Enrique
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment