|
|
gwt-dnd-2.0.7-javadoc.jar gwt-dnd-2.0.7.jar gwt-dnd-2.5.4-javadoc.jar gwt-dnd-2.5.4.jar
APIMigrationGuide_v1_to_v2 GettingStarted ReleaseNotes UsingSourceWithEclipse
Summary
Library providing easy to use drag-and-drop capabilities to Google Web Toolkit (GWT) projects.
Questions?
If you have questions, please post them on http://groups.google.com/group/gwt-dnd and I (or someone else) will try to answer them as best as possible. Using the forum means that others can benefit from any answers and feedback you get. It is always the fastest way to get an answer to a new question.
Is your project using drag and drop?
I'd like to know if you're using gwt-dnd on your project, and how useful (or not) this library is to you. You can send me an email at fred@allen-sauer.com.
Getting started with your own drag-and-drop projects
Read the wiki here: http://code.google.com/p/gwt-dnd/wiki/GettingStarted
Working examples
If a picture is worth a thousand words, then maybe a working demo is worth 1386 lines of source code?
Features
- Drag-and-Drop - classic drag/drop operations for your existing widgets and panels
- Drag-and-Move - allows user to rearrange widgets within a Panel
- Non-invasive - No need to extend or implement special library classes or interfaces; just use your existing widgets and panels
- Any Widget that implements SourcesMouseEvents is draggable. For today's version of GWT that means FocusPanel, HTML, Image and Label are immediately draggable. Listening for mouse events on other widgets is relatively straight forward.
- Any Panel can become a drop target. If you need absolute positioning on the drop target, use AbsolutePanel.
- Quirks mode and Strict mode fully support
- Inline and Block elements are supported for dragging and as drop targets
- AbsolutePanel, IndexedPanel, FlowPanel and FlexTable drop targets
- Drag Handles - grab hold of small part of a larger widget
- Drag Proxies - Leave the original widget in place while you drag a proxy widget around
- Veto Capability - Prevent certain operations from happening, causing the draggable to snap back to its original location
- EventListener for drag-and-drop events via DragHandler interface
- Many examples with source code
OOTB (Out of the Box) provided drag-and-drop or drag-and-move behaviors
| DropController | Description | Example Use |
| SimpleDropController | For simple drop targets which allows a widget to be dropped on them. | A trash can icon. |
| AbsolutePositionDropController | Drag-and-Move widgets around an AbsolutePanel. | Moving drawing elements around on a flow chart. |
| GridConstrainedDropController | Similar to AbsolutePositionDropController, but constrains the position of the draggable widgets to a specified grid. | Allows for 'snap to grid' functionality. |
| IndexedDropController | Allows you to move children among the elements of a supported IndexedPanel. The current GWT version provides this capability for DeckPanel, HorizontalPanel and VerticalPanel. The included helper class IndexedFlowPanel adds this capability to FlowPanel (although you have to use the helper subclass instead). | WYSIWYG HTML editor. |
| BoundaryDropController | All drag operations are ultimately constrained by a panel you specify. By default this panel is RootPanel.get() which means you can drag widgets over the entire page. | For use as part of the gwt-dnd implementation. |
| NoOverlapDropController | Does not allow widgets to overlap when dropped. | WYSIWYG HTML layout editor. |
| FlexTableRowDropController | Rearrange rows in a FlexTable. | Users rearrange results of a query. |
| AbstractDropController | Create your own controllers from this base class. | Anything you can dream up. |
Feedback
Please let me know what you think. Suggestions are always welcome.
Projects using gwt-dnd
Send me an email to add your project to this list.
| Project | Description |
| gwt-mosaic | highly usable, feature rich toolkit for creating Rich Internet Applications and an easy to use API |
| Sliding Block Puzzle Solver | You create the puzzle, and the computer solves it for you. You can find out how here. |
| Nouvelle Cuisine | Build a web portal with no infrastructure; edit site content via an online Google Spreadsheet; that's it! |
| City Builder | Build cities for Final Fantasy Crystal Chronicles |
| wibokr.com | Dashboard, wiki & blog |
| MoonDisk.com | Desktop-like online share platform and file manager with security, sharing and viewing features, and more ... |
| fabset | Upload and organize your clothes. |
| chamaeleo | A gwt based project management application with Gantt chart support and reports |
| scenechronize | Film and television production software. |
| JustAToDoList.com | Online To-Do List Manager. |
| gwt-diagrams | Diagrams library for Google Web Toolkit (GWT). |
| Future Earth library | Library of GWT Widgets. |
| MyHippocampus | Take your ideas, knowledge, & influences and let you connect, visualize & store them in a way that turns them into building blocks, resources which you can draw upon to aid your creative endeavors. |
| Keywatch | Free, open source monitoring system that provides the adaptability of a modern monitoring system without being complex or hard to configure. |
| gwt-scheduler | GWT widget that provides an easy event scheduling UI. |
Third Party gwt-dnd Tutorials
Other drag-and-drop projects
The following projects are not related to gwt-dnd. However, they may still be of interest to you if you have specific needs that these projects address.
| Project | Description |
| gwt-dnd-tree | Project which extends the GWT TreeItem component, adding drag-and-drop support. Note, this is a separate project which does not utilize the gwt-dnd library. |
| dragmovedrop | Provided as a patch to the GWT source code. |
| rocket-gwt | GWT Extension library. |
Other GWT projects by the same author
| Project | Description |
| gwt-voices | Provides sound support for your GWT applications. |
| gwt-log | Provides logging support for your GWT applications. |
Commercial Support Options
Commercial support is available at http://allen-sauer.com/gwt/.

