List of usage examples for com.google.gwt.dom.client DataTransfer getData
public final native String getData(String format) ;
From source file:com.google.gwt.sample.mobilewebapp.client.desktop.DesktopTaskEditView.java
License:Apache License
/** * Construct a new {@link DesktopTaskEditView}. */// w w w.ja v a 2 s. c om public DesktopTaskEditView() { // Initialize the styles. resources = GWT.create(Resources.class); resources.style().ensureInjected(); // Create the template list. templateList = createTaskTemplateList(); initWidget(uiBinder.createAndBindUi(this)); nameEditor = EditorDecorator.create(nameField.asEditor(), nameViolation); driver.initialize(this); // Hide the template list if it isn't supported. if (!DragDropEventBase.isSupported()) { dockLayoutPanel.setWidgetSize(templateListContainer, 0); } // Create a new task or modify the current task when done is pressed. saveButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (presenter != null) { presenter.saveTask(); } } }); // Delete the current task or cancel when delete is pressed. deleteButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (presenter != null) { presenter.deleteTask(); } } }); // Add the form as a drop target. editForm.addDomHandler(new DragOverHandler() { public void onDragOver(DragOverEvent event) { // Highlight the name and notes box. nameField.getElement().getStyle().setBackgroundColor("#ffa"); notesEditor.getElement().getStyle().setBackgroundColor("#ffa"); } }, DragOverEvent.getType()); editForm.addDomHandler(new DragLeaveHandler() { public void onDragLeave(DragLeaveEvent event) { EventTarget eventTarget = event.getNativeEvent().getEventTarget(); if (!Element.is(eventTarget)) { return; } Element target = Element.as(eventTarget); if (target == editForm.getElement()) { // Un-highlight the name and notes box. nameField.getElement().getStyle().clearBackgroundColor(); notesEditor.getElement().getStyle().clearBackgroundColor(); } } }, DragLeaveEvent.getType()); editForm.addDomHandler(new DropHandler() { public void onDrop(DropEvent event) { // Prevent the default text drop. event.preventDefault(); // Un-highlight the name and notes box. nameField.getElement().getStyle().clearBackgroundColor(); notesEditor.getElement().getStyle().clearBackgroundColor(); // Fill in the form. try { // Get the template the from the data transfer object. DataTransfer dataTransfer = event.getNativeEvent().getDataTransfer(); int templateIndex = Integer.parseInt(dataTransfer.getData("text")); TaskProxy template = templateList.getVisibleItem(templateIndex); nameField.setValue(template.getName()); notesEditor.setValue(template.getNotes()); } catch (NumberFormatException e) { // The user probably dragged something other than a template. } } }, DropEvent.getType()); }