๐Ÿ“ฆ fredsa / gwt-dnd

Library providing easy to use mouse or touch based drag-and-drop capabilities to GWT

โ˜… 44 stars โ‘‚ 40 forks ๐Ÿ‘ 44 watching
๐Ÿ“ฅ Clone https://github.com/fredsa/gwt-dnd.git
HTTPS git clone https://github.com/fredsa/gwt-dnd.git
SSH git clone git@github.com:fredsa/gwt-dnd.git
CLI gh repo clone fredsa/gwt-dnd
Fred Sauer Fred Sauer inactive status badge 66cf688 8 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ DragDrop
๐Ÿ“„ .gitignore
๐Ÿ“„ README.md
๐Ÿ“„ README.md
status: inactive

This project is no longer actively developed or maintained.

Summary #

Library providing easy to use mouse or touch (for mobile devices) based 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 fredsa@gmail.com.

Getting started with your own drag-and-drop projects #

Read the wiki here: https://github.com/fredsa/gwt-dnd/wiki/GettingStarted

Working examples #

Try the working demo:

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 #

DropControllerDescriptionExample Use
AbsolutePositionDropControllerDrag-and-Move widgets around an AbsolutePanel.Moving drawing elements around on a flow chart.
AbstractDropControllerCreate your own controllers from this base class.Anything you can dream up.
BoundaryDropControllerAll 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.
FlexTableRowDropControllerRearrange rows in a FlexTable.Users rearrange results of a query.
FlowPanelDropControllerDrop controller for instances of FlowPanel.Moving elements around in flowed text.
HorizontalPanelDropControllerDrop controller for instances of HorizontalPanel.Moving widgets in a horizontal list.
GridConstrainedDropControllerSimilar to AbsolutePositionDropController, but constrains the position of the draggable widgets to a specified grid.Allows for 'snap to grid' functionality.
SimpleDropControllerFor simple drop targets which allows a widget to be dropped on them.A trash can icon.
VerticalPanelDropControllerDrop controller for instances of VerticalPanel.Moving widgets in a vertical list.

Feedback #

Please let me know what you think. Suggestions are always welcome.

Other GWT projects by the same author #

ProjectDescription
gwt-voicesProvides sound support for your GWT applications.
gwt-logProvides logging support for your GWT applications.