Example usage for com.google.gwt.event.dom.client DragLeaveHandler DragLeaveHandler

List of usage examples for com.google.gwt.event.dom.client DragLeaveHandler DragLeaveHandler

Introduction

In this page you can find the example usage for com.google.gwt.event.dom.client DragLeaveHandler DragLeaveHandler.

Prototype

DragLeaveHandler

Source Link

Usage

From source file:org.openelis.ui.widget.Browser.java

License:Open Source License

/**
 * Constructor that takes an arguments if the browser should auto-size to the window,
 * and the number of allowed screens to show at once.
 * @param size/*  w w  w.j  a va 2 s. com*/
 * @param limit
 */
@UiConstructor
public Browser(int limit) {

    browser = new AbsolutePanel();
    browser.setWidth("100%");
    browser.setHeight("100%");
    layout = new LayoutPanel();
    windows = new HashMap<WindowInt, WindowValues>();
    windowsByKey = new HashMap<String, WindowInt>();

    dragController = new PickupDragController(browser, true);

    dropController = new AbsolutePositionDropController(browser) {
        @Override
        public void onDrop(DragContext context) {
            super.onDrop(context);
            ((WindowInt) context.draggable).positionGlass();
        }
    };

    this.limit = limit;

    layout.add(browser);
    initWidget(layout);

    dragController.setBehaviorDragProxy(true);
    dragController.registerDropController(dropController);
    DOM.setStyleAttribute(browser.getElement(), "overflow", "auto");

    setKeyHandling();

    setCSS(UIResources.INSTANCE.window());

    // These handlers are added to prevent the default drag/drop from happening

    addDomHandler(new DropHandler() {

        @Override
        public void onDrop(DropEvent event) {
            event.preventDefault();
            event.stopPropagation();
        }
    }, DropEvent.getType());

    addDomHandler(new DragEnterHandler() {

        @Override
        public void onDragEnter(DragEnterEvent event) {
            event.preventDefault();
            event.stopPropagation();
        }
    }, DragEnterEvent.getType());

    addDomHandler(new DragLeaveHandler() {

        @Override
        public void onDragLeave(DragLeaveEvent event) {
            event.preventDefault();
            event.stopPropagation();
        }
    }, DragLeaveEvent.getType());

    addDomHandler(new DragOverHandler() {

        @Override
        public void onDragOver(DragOverEvent event) {
            event.stopPropagation();
            event.preventDefault();
        }
    }, DragOverEvent.getType());
}

From source file:org.roda.wui.client.ingest.transfer.TransferUpload.java

private void updateUploadForm() {
    String uploadUrl = getUploadUrl();

    if (uploadUrl != null) {
        SafeHtml html = SafeHtmlUtils.fromSafeConstant(
                "<form id='upload' method='post' action='" + uploadUrl + "' enctype='multipart/form-data'>"
                        + "<div id='drop'><h4>" + messages.ingestTransferUploadDropHere() + "</h4><a>"
                        + messages.ingestTransferUploadBrowseFiles() + "</a>" + "<input title='"
                        + RodaConstants.API_PARAM_UPLOAD + "' type='file' name='"
                        + RodaConstants.API_PARAM_UPLOAD + "' multiple='true' />" + " </div>"
                        + "<input title='hiddenSubmit' type='submit' hidden/> </form>");

        uploadForm.setHTML(html);//  w  w w  . j a va2s  .  co  m
        uploadList.setHTML(SafeHtmlUtils.fromSafeConstant("<ul id='upload-list'></ul>"));

        uploadForm.addDomHandler(new DragOverHandler() {

            @Override
            public void onDragOver(DragOverEvent event) {
                uploadForm.addStyleName(DRAGOVER);
            }
        }, DragOverEvent.getType());

        uploadForm.addDomHandler(new DragLeaveHandler() {

            @Override
            public void onDragLeave(DragLeaveEvent event) {
                uploadForm.removeStyleName(DRAGOVER);
            }
        }, DragLeaveEvent.getType());

        uploadForm.addDomHandler(new DropHandler() {

            @Override
            public void onDrop(DropEvent event) {
                uploadForm.removeStyleName(DRAGOVER);
            }
        }, DropEvent.getType());

        JavascriptUtils.runMiniUploadForm();
    } else {
        uploadForm.setHTML(SafeHtmlUtils.EMPTY_SAFE_HTML);
    }
}

From source file:org.uberfire.ext.layout.editor.client.dnd.DropColumnPanel.java

License:Apache License

public DropColumnPanel(final ColumnEditorWidget parent) {
    super();//  www. jav a2 s.c  o  m
    this.parent = parent;

    Label label = GWT.create(Label.class);
    label.setText(CommonConstants.INSTANCE.Column());
    this.add(label);

    addCSSClass(WebAppResource.INSTANCE.CSS().dropInactive());
    addDragOverHandler(new DragOverHandler() {
        @Override
        public void onDragOver(DragOverEvent event) {
            dragOverHandler();
        }
    });
    addDragLeaveHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            dragLeaveHandler();
        }
    });
    addDropHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            dropHandler(event);
        }
    });
}

From source file:org.uberfire.ext.layout.editor.client.dnd.DropRowPanel.java

License:Apache License

public DropRowPanel(final LayoutEditorWidget parent) {
    this.parent = parent;

    Label label = GWT.create(Label.class);
    label.setText(CommonConstants.INSTANCE.NewRow());
    this.add(label);

    addCSSClass(WebAppResource.INSTANCE.CSS().dropInactive());
    addDragOverHandler(new DragOverHandler() {
        @Override/*from   w w  w. j a v  a 2s. c o  m*/
        public void onDragOver(DragOverEvent event) {
            dragOverHandler();
        }
    });
    addDragLeaveHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            dragLeaveHandler();
        }
    });
    addDropHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            dropHandler(event);
        }
    });
}

From source file:org.vectomatic.svg.edit.client.command.edit.EditImageGeometryManipulator.java

License:Open Source License

/**
 * Binds this manipulator to the specified SVG rect.
 * @param element// www  .j  a  v a2s .  c o  m
 * The SVG rect this manipulator is applied to.
 * @return The root element of the manipulator
 */
@Override
public OMSVGElement bind(Record record) {
    this.record = record;
    SVGElementModel model = (SVGElementModel) record.getModel();
    mode = Mode.PASSIVE;
    // Create the graphical representations for the manipulator
    // The manipulator has the following SVG structure
    // <g>
    //  <rect/>    position
    //  <g>
    //   <rect/>   top-left corner
    //   <rect/>   bottom-right corner
    //  </g>
    // </g>
    svg = model.getOwner().getSvgElement();
    g = new OMSVGGElement();
    g.setClassNameBaseVal(AppBundle.INSTANCE.css().imageGeometryManipulator());
    posHandle = new OMSVGRectElement();
    OMSVGGElement handleGroup = new OMSVGGElement();
    topLeftHandle = new OMSVGRectElement();
    bottomRightHandle = new OMSVGRectElement();
    g.appendChild(posHandle);
    g.appendChild(handleGroup);
    handleGroup.appendChild(topLeftHandle);
    handleGroup.appendChild(bottomRightHandle);
    monitorModel = true;
    model.addChangeListener(this);
    scheduleInit();

    g.addDragEnterHandler(new DragEnterHandler() {
        @Override
        public void onDragEnter(DragEnterEvent event) {
            g.getElement().setAttribute(ATT_ACCEPT, ATT_ACCEPT_YES);
            event.stopPropagation();
            event.preventDefault();
        }
    });
    g.addDragLeaveHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            g.getElement().setAttribute(ATT_ACCEPT, ATT_ACCEPT_NO);
            event.stopPropagation();
            event.preventDefault();
        }
    });
    g.addDragOverHandler(new DragOverHandler() {
        @Override
        public void onDragOver(DragOverEvent event) {
            event.stopPropagation();
            event.preventDefault();
        }
    });
    g.addDropHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            g.getElement().setAttribute(ATT_ACCEPT, ATT_ACCEPT_NO);
            processFiles(event.getDataTransfer().<DataTransferExt>cast().getFiles());
            event.stopPropagation();
            event.preventDefault();
        }
    });

    return g;
}

From source file:org.wisepersist.gwt.uploader.demo.client.MultiUploadWithProgressBarAndDragAndDrop.java

License:Apache License

@Override
public Widget getUploaderPanel() {
    final VerticalPanel progressBarPanel = new VerticalPanel();
    final Map<String, ProgressBar> progressBars = new LinkedHashMap<String, ProgressBar>();
    final Map<String, Image> cancelButtons = new LinkedHashMap<String, Image>();
    uploader.setUploadURL("/upload").setButtonImageURL(AppResources.INSTANCE.upload().getSafeUri().asString())
            .setButtonWidth(133).setButtonHeight(22).setFileSizeLimit("50 MB")
            .setButtonCursor(Uploader.Cursor.HAND).setButtonAction(Uploader.ButtonAction.SELECT_FILES)
            .setFileQueuedHandler(new FileQueuedHandler() {
                public boolean onFileQueued(final FileQueuedEvent fileQueuedEvent) {
                    // Create a Progress Bar for this file
                    final ProgressBar progressBar = new ProgressBar(0.0, 1.0, 0.0,
                            new CancelProgressBarTextFormatter());
                    progressBar.setTitle(fileQueuedEvent.getFile().getName());
                    progressBar.setHeight("18px");
                    progressBar.setWidth("200px");
                    progressBars.put(fileQueuedEvent.getFile().getId(), progressBar);

                    // Add Cancel Button Image
                    final Image cancelButton = new Image(
                            AppResources.INSTANCE.cancel().getSafeUri().asString());
                    cancelButton.setStyleName("cancelButton");
                    cancelButton.addClickHandler(new ClickHandler() {
                        public void onClick(ClickEvent event) {
                            uploader.cancelUpload(fileQueuedEvent.getFile().getId(), false);
                            progressBars.get(fileQueuedEvent.getFile().getId()).setProgress(-1.0d);
                            cancelButton.removeFromParent();
                        }/* w w  w  .j a v a2 s  . c  o  m*/
                    });
                    cancelButtons.put(fileQueuedEvent.getFile().getId(), cancelButton);

                    // Add the Bar and Button to the interface
                    HorizontalPanel progressBarAndButtonPanel = new HorizontalPanel();
                    progressBarAndButtonPanel.add(progressBar);
                    progressBarAndButtonPanel.add(cancelButton);
                    progressBarPanel.add(progressBarAndButtonPanel);

                    return true;
                }
            }).setUploadProgressHandler(new UploadProgressHandler() {
                public boolean onUploadProgress(UploadProgressEvent uploadProgressEvent) {
                    ProgressBar progressBar = progressBars.get(uploadProgressEvent.getFile().getId());
                    progressBar.setProgress((double) uploadProgressEvent.getBytesComplete()
                            / uploadProgressEvent.getBytesTotal());
                    return true;
                }
            }).setUploadCompleteHandler(new UploadCompleteHandler() {
                public boolean onUploadComplete(UploadCompleteEvent uploadCompleteEvent) {
                    cancelButtons.get(uploadCompleteEvent.getFile().getId()).removeFromParent();
                    uploader.startUpload();
                    return true;
                }
            }).setFileDialogStartHandler(new FileDialogStartHandler() {
                public boolean onFileDialogStartEvent(FileDialogStartEvent fileDialogStartEvent) {
                    if (uploader.getStats().getUploadsInProgress() <= 0) {
                        // Clear the uploads that have completed, if none are in process
                        progressBarPanel.clear();
                        progressBars.clear();
                        cancelButtons.clear();
                    }
                    return true;
                }
            }).setFileDialogCompleteHandler(new FileDialogCompleteHandler() {
                public boolean onFileDialogComplete(FileDialogCompleteEvent fileDialogCompleteEvent) {
                    if (fileDialogCompleteEvent.getTotalFilesInQueue() > 0) {
                        if (uploader.getStats().getUploadsInProgress() <= 0) {
                            uploader.startUpload();
                        }
                    }
                    return true;
                }
            }).setFileQueueErrorHandler(new FileQueueErrorHandler() {
                public boolean onFileQueueError(FileQueueErrorEvent fileQueueErrorEvent) {
                    Window.alert("Upload of file " + fileQueueErrorEvent.getFile().getName()
                            + " failed due to [" + fileQueueErrorEvent.getErrorCode().toString() + "]: "
                            + fileQueueErrorEvent.getMessage());
                    return true;
                }
            }).setUploadErrorHandler(new UploadErrorHandler() {
                public boolean onUploadError(UploadErrorEvent uploadErrorEvent) {
                    cancelButtons.get(uploadErrorEvent.getFile().getId()).removeFromParent();
                    Window.alert("Upload of file " + uploadErrorEvent.getFile().getName() + " failed due to ["
                            + uploadErrorEvent.getErrorCode().toString() + "]: "
                            + uploadErrorEvent.getMessage());
                    return true;
                }
            });

    VerticalPanel verticalPanel = new VerticalPanel();
    verticalPanel.add(uploader);

    if (Uploader.isAjaxUploadWithProgressEventsSupported()) {
        final Label dropFilesLabel = new Label("Drop Files Here");
        dropFilesLabel.setStyleName("dropFilesLabel");
        dropFilesLabel.addDragOverHandler(new DragOverHandler() {
            public void onDragOver(DragOverEvent event) {
                if (!uploader.getButtonDisabled()) {
                    dropFilesLabel.addStyleName("dropFilesLabelHover");
                }
            }
        });
        dropFilesLabel.addDragLeaveHandler(new DragLeaveHandler() {
            public void onDragLeave(DragLeaveEvent event) {
                dropFilesLabel.removeStyleName("dropFilesLabelHover");
            }
        });
        dropFilesLabel.addDropHandler(new DropHandler() {
            public void onDrop(DropEvent event) {
                dropFilesLabel.removeStyleName("dropFilesLabelHover");

                if (uploader.getStats().getUploadsInProgress() <= 0) {
                    progressBarPanel.clear();
                    progressBars.clear();
                    cancelButtons.clear();
                }

                uploader.addFilesToQueue(Uploader.getDroppedFiles(event.getNativeEvent()));
                event.preventDefault();
            }
        });
        verticalPanel.add(dropFilesLabel);
    }

    HorizontalPanel horizontalPanel = new HorizontalPanel();
    horizontalPanel.add(verticalPanel);
    horizontalPanel.add(progressBarPanel);
    horizontalPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
    horizontalPanel.setCellHorizontalAlignment(uploader, HorizontalPanel.ALIGN_LEFT);
    horizontalPanel.setCellHorizontalAlignment(progressBarPanel, HorizontalPanel.ALIGN_RIGHT);
    return horizontalPanel;
}