Example usage for com.google.gwt.widgetideas.client ProgressBar ProgressBar

List of usage examples for com.google.gwt.widgetideas.client ProgressBar ProgressBar

Introduction

In this page you can find the example usage for com.google.gwt.widgetideas.client ProgressBar ProgressBar.

Prototype

public ProgressBar(double minProgress, double maxProgress, double curProgress, TextFormatter textFormatter) 

Source Link

Document

Create a progress bar within the given range starting at the specified progress amount.

Usage

From source file:eml.studio.client.ui.panel.Uploader.FileUploader.java

License:Open Source License

private void initFacet() {
    this.getUploader().setUploadURL(GWT.getModuleBaseURL() + "fileupload").setFileSizeLimit("20 GB")
            .setButtonAction(Uploader.ButtonAction.SELECT_FILES).setFileQueueLimit(2)
            .setFileQueuedHandler(new FileQueuedHandler() {

                @Override//from ww  w.  ja va  2  s  . co  m
                public boolean onFileQueued(final FileQueuedEvent fileQueuedEvent) {
                    // Create a Progress Bar for this file
                    if (FileUploader.this.getFileQueuedId() != null)
                        FileUploader.this.getUploader().cancelUpload(FileUploader.this.getFileQueuedId(),
                                false);// delete the last
                    FileUploader.this.getProgressBarPanel().clear();
                    FileUploader.this.getProgressBarAndButtonPanel().clear();
                    // choose file
                    FileUploader.this.setIsFileQueued(true);
                    final ProgressBar progressBar = new ProgressBar(0.0, 1.0, 0.0,
                            FileUploader.this.getCancelProgressBarTextFormatter());
                    progressBar.setTitle(fileQueuedEvent.getFile().getName());
                    FileUploader.this.setFileQueuedName(fileQueuedEvent.getFile().getName());
                    FileUploader.this.setFileQueuedId(fileQueuedEvent.getFile().getId());
                    progressBar.addStyleName("bda-fileupload-progressbar");
                    progressBar.setTextVisible(true);
                    FileUploader.this.getProgressBars().put(fileQueuedEvent.getFile().getId(), progressBar);

                    // Add Cancel Button Image
                    FileUploader.this.getCancelButton().setStyleName("cancelButton");
                    FileUploader.this.getCancelButton().addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            FileUploader.this.getUploader().cancelUpload(fileQueuedEvent.getFile().getId(),
                                    false);
                            FileUploader.this.getProgressBars().get(fileQueuedEvent.getFile().getId())
                                    .setProgress(-1.0d);
                            FileUploader.this.getCancelButton().removeFromParent();
                            FileUploader.this.setIsFileQueued(false);
                        }
                    });
                    FileUploader.this.getCancelButtons().put(fileQueuedEvent.getFile().getId(),
                            FileUploader.this.getCancelButton());
                    // Add the Bar and Button to the interface
                    progressBarAndButtonPanel.setSpacing(5);
                    Label tit = new Label(fileQueuedEvent.getFile().getName());
                    // tit.setWidth("100px");
                    progressBarAndButtonPanel.add(tit);
                    progressBarAndButtonPanel.setCellVerticalAlignment(tit, HasVerticalAlignment.ALIGN_MIDDLE);
                    progressBarAndButtonPanel.add(progressBar);
                    progressBarAndButtonPanel.setCellVerticalAlignment(progressBar,
                            HasVerticalAlignment.ALIGN_MIDDLE);
                    progressBarAndButtonPanel.add(FileUploader.this.getCancelButton());
                    progressBarAndButtonPanel.setCellVerticalAlignment(FileUploader.this.getCancelButton(),
                            HasVerticalAlignment.ALIGN_MIDDLE);
                    progressBarPanel.add(FileUploader.this.getProgressBarAndButtonPanel());
                    progressBarPanel.setCellVerticalAlignment(progressBarAndButtonPanel,
                            HasVerticalAlignment.ALIGN_MIDDLE);
                    return true;
                }
            }).setUploadProgressHandler(new UploadProgressHandler() {
                @Override
                public boolean onUploadProgress(UploadProgressEvent uploadProgressEvent) {
                    ProgressBar progressBar = FileUploader.this.getProgressBars()
                            .get(uploadProgressEvent.getFile().getId());
                    progressBar.setProgress((double) uploadProgressEvent.getBytesComplete()
                            / uploadProgressEvent.getBytesTotal());

                    return true;
                }
            }).setFileDialogStartHandler(new FileDialogStartHandler() {
                @Override
                public boolean onFileDialogStartEvent(FileDialogStartEvent fileDialogStartEvent) {
                    if (FileUploader.this.getUploader().getStats().getUploadsInProgress() <= 0) {
                        // Clear the uploads that have completed, if none are in process
                        FileUploader.this.getProgressBarPanel().clear();
                        FileUploader.this.getProgressBars().clear();
                        FileUploader.this.getCancelButtons().clear();
                    }
                    return true;
                }
            }).setFileDialogCompleteHandler(new FileDialogCompleteHandler() {
                @Override
                public boolean onFileDialogComplete(FileDialogCompleteEvent fileDialogCompleteEvent) {
                    if (fileDialogCompleteEvent.getTotalFilesInQueue() > 0) {
                        if (FileUploader.this.getUploader().getStats().getUploadsInProgress() <= 0) {
                            // uploader.startUpload();
                        }
                    }
                    return true;
                }
            }).setFileQueueErrorHandler(new FileQueueErrorHandler() {
                @Override
                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() {
                @Override
                public boolean onUploadError(UploadErrorEvent uploadErrorEvent) {
                    FileUploader.this.getCancelButtons().get(uploadErrorEvent.getFile().getId())
                            .removeFromParent();
                    Window.alert("Upload of file " + uploadErrorEvent.getFile().getName() + " failed due to ["
                            + uploadErrorEvent.getErrorCode().toString() + "]: "
                            + uploadErrorEvent.getMessage());
                    return true;
                }
            });
    FileUploader.this.getDropFilesLabel().addDragOverHandler(new DragOverHandler() {
        @Override
        public void onDragOver(DragOverEvent event) {
            if (!FileUploader.this.getUploader().getButtonDisabled()) {
                //uploader.getDropFilesLabel().addStyleName("dropFilesLabelHover");
            }
        }
    });
    FileUploader.this.getDropFilesLabel().addDragLeaveHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            //uploader.getDropFilesLabel().removeStyleName("dropFilesLabelHover");
        }
    });
    FileUploader.this.getDropFilesLabel().addDropHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            //uploader.getDropFilesLabel().removeStyleName("dropFilesLabelHover");

            if (FileUploader.this.getUploader().getStats().getUploadsInProgress() <= 0) {
                FileUploader.this.getProgressBarPanel().clear();
                FileUploader.this.getProgressBars().clear();
                FileUploader.this.getCancelButtons().clear();
            }

            FileUploader.this.getUploader().addFilesToQueue(Uploader.getDroppedFiles(event.getNativeEvent()));
            event.preventDefault();
        }
    });
}