List of usage examples for com.vaadin.client.ui VButton VButton
public VButton()
From source file:com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadProgressWindow.java
License:Apache License
protected void constructDOM() { setStyleName(CLASSNAME);/* w ww. j a v a2 s .com*/ topTabStop = DOM.createDiv(); topTabStop.setTabIndex(0); header = DOM.createDiv(); header.setClassName(CLASSNAME + "-outerheader"); headerText = DOM.createDiv(); headerText.setClassName(CLASSNAME + "-header"); contents = DOM.createDiv(); contents.setClassName(CLASSNAME + "-contents"); footer = DOM.createDiv(); footer.setClassName(CLASSNAME + "-footer"); resizeBox = DOM.createDiv(); resizeBox.setClassName(CLASSNAME + "-resizebox"); closeBox = DOM.createDiv(); closeBox.setClassName(CLASSNAME + "-closebox"); closeBox.setTabIndex(0); DOM.appendChild(footer, resizeBox); bottomTabStop = DOM.createDiv(); bottomTabStop.setTabIndex(0); wrapper = DOM.createDiv(); wrapper.setClassName(CLASSNAME + "-wrap"); DOM.appendChild(wrapper, topTabStop); DOM.appendChild(wrapper, header); DOM.appendChild(header, closeBox); DOM.appendChild(header, headerText); DOM.appendChild(wrapper, contents); DOM.appendChild(wrapper, footer); DOM.appendChild(wrapper, bottomTabStop); DOM.appendChild(super.getContainerElement(), wrapper); sinkEvents(Event.ONDBLCLICK | Event.MOUSEEVENTS | Event.TOUCHEVENTS | Event.ONCLICK | Event.ONLOSECAPTURE); currentFileLabel = new VLabel(); currentFileLabel.addStyleName("upload-file-label"); currentFileLabel.setWidth("100%"); progressBar = new VProgressBar(); progressBar.addStyleName("upload-progressbar"); progressBar.setIndeterminate(false); progressBar.setState(0); progressBar.setWidth("100%"); cancelButton = new VButton(); cancelButton.addStyleName("upload-cancel-button"); cancelButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { closeWindow(); } }); contentPanel = new SimpleFocusablePanel(); contentPanel.setStyleName("content-pane"); contentPanel.addKeyDownHandler(this); contentPanel.addKeyUpHandler(this); setWidget(contentPanel); final FlowPanel verticalPanel = new FlowPanel(); verticalPanel.setStyleName("vertical-panel"); verticalPanel.addStyleName("v-widget"); verticalPanel.addStyleName("v-has-width"); verticalPanel.addStyleName("v-has-height"); verticalPanel.add(currentFileLabel); verticalPanel.add(progressBar); verticalPanel.add(cancelButton); contentPanel.setWidget(verticalPanel); // do some calculations for window layout Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { @Override public void execute() { Style contentStyle = contents.getStyle(); ComputedStyle headerCs = new ComputedStyle(header); String headerHeight = headerCs.getProperty("height"); contentStyle.setProperty("paddingTop", headerHeight); contentStyle.setProperty("marginTop", "-" + headerHeight); ComputedStyle footerCs = new ComputedStyle(footer); String footerHeight = footerCs.getProperty("height"); contentStyle.setProperty("paddingBottom", footerHeight); contentStyle.setProperty("marginBottom", "-" + footerHeight); } }); // Make the closebox accessible for assistive devices Roles.getButtonRole().set(closeBox); Roles.getButtonRole().setAriaLabelProperty(closeBox, "close button"); // Provide the title to assistive devices AriaHelper.ensureHasId(headerText); Roles.getDialogRole().setAriaLabelledbyProperty(getElement(), Id.of(headerText)); // Handlers to Prevent tab to leave the window // and backspace to cause browser navigation topEventBlocker = new Event.NativePreviewHandler() { @Override public void onPreviewNativeEvent(Event.NativePreviewEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (nativeEvent.getEventTarget().cast() == topTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_TAB && nativeEvent.getShiftKey()) { nativeEvent.preventDefault(); } if (nativeEvent.getEventTarget().cast() == topTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_BACKSPACE) { nativeEvent.preventDefault(); } } }; bottomEventBlocker = new Event.NativePreviewHandler() { @Override public void onPreviewNativeEvent(Event.NativePreviewEvent event) { NativeEvent nativeEvent = event.getNativeEvent(); if (nativeEvent.getEventTarget().cast() == bottomTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_TAB && !nativeEvent.getShiftKey()) { nativeEvent.preventDefault(); } if (nativeEvent.getEventTarget().cast() == bottomTabStop && nativeEvent.getKeyCode() == KeyCodes.KEY_BACKSPACE) { nativeEvent.preventDefault(); } } }; }
From source file:com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadWidget.java
License:Apache License
public CubaFileUploadWidget() { submitButton = new VButton(); submitButton.addClickHandler(new ClickHandler() { @Override/*from w w w . jav a 2 s . c om*/ public void onClick(ClickEvent event) { fireNativeClick(getFileInputElement()); } }); add(submitButton); submitButton.setTabIndex(-1); setStyleName(DEFAULT_CLASSNAME); Element inputElement = Document.get().createFileInputElement(); inputElement.setAttribute("name", "files[]"); inputElement.setAttribute("title", " "); listenToFocusEvents(inputElement); getElement().appendChild(inputElement); fileUpload = new JQueryFileUploadOverlay(this) { protected boolean canceled = false; @Override protected boolean isValidFile(String name, double size) { if (fileSizeLimit > 0 && size > fileSizeLimit) { if (filePermissionsHandler != null) { filePermissionsHandler.fileSizeLimitExceeded(name); } return false; } if (hasInvalidExtension(name)) { if (filePermissionsHandler != null) { filePermissionsHandler.fileExtensionNotAllowed(name); } return false; } return true; } protected boolean hasInvalidExtension(String name) { if (permittedExtensions != null && !permittedExtensions.isEmpty()) { if (name.lastIndexOf(".") > 0) { String fileExtension = name.substring(name.lastIndexOf("."), name.length()); return !permittedExtensions.contains(fileExtension.toLowerCase()); } return true; } return false; } @Override protected void queueUploadStart() { // listen to events of new input element listenToFocusEvents(getFileInputElement()); progressWindow = new CubaFileUploadProgressWindow(); progressWindow.setOwner(CubaFileUploadWidget.this); progressWindow.addStyleName(getStylePrimaryName() + "-progresswindow"); progressWindow.setVaadinModality(true); progressWindow.setDraggable(true); progressWindow.setResizable(false); progressWindow.setClosable(true); progressWindow.setCaption(progressWindowCaption); progressWindow.setCancelButtonCaption(cancelButtonCaption); progressWindow.closeListener = new CubaFileUploadProgressWindow.CloseListener() { @Override public void onClose() { canceled = true; // null progress to prevent repeated hide() call inside cancelUploading progressWindow = null; cancelUploading(); if (queueUploadListener != null) { queueUploadListener.uploadFinished(); } } }; progressWindow.setVisible(false); progressWindow.show(); progressWindow.center(); progressWindow.setVisible(true); canceled = false; } @Override protected void fileUploadStart(String fileName) { if (progressWindow != null) { progressWindow.setCurrentFileName(fileName); } } @Override protected void fileUploadSucceed(String fileName) { if (fileUploadedListener != null) { fileUploadedListener.fileUploaded(fileName); } } @Override protected void uploadProgress(double loaded, double total) { if (progressWindow != null) { float ratio = (float) (loaded / total); progressWindow.setProgress(ratio); } } @Override protected void queueUploadStop() { if (progressWindow != null) { progressWindow.hide(); progressWindow = null; } getFileInputElement().focus(); if (queueUploadListener != null) { queueUploadListener.uploadFinished(); } } @Override protected void uploadFailed(String textStatus, String errorThrown) { if (ignoreExceptions) { if (progressWindow != null) progressWindow.hide(); return; } if (!canceled) { if (unableToUploadFileMessage != null) { // show notification without server round trip, server may be unreachable VNotification notification = VNotification.createNotification(-1, CubaFileUploadWidget.this); String fileName = ""; if (progressWindow != null) { fileName = progressWindow.getCurrentFileName(); } String message = "<h1>" + WidgetUtil.escapeHTML(unableToUploadFileMessage.replace("%s", fileName)) + "</h1>"; notification.show(message, Position.MIDDLE_CENTER, "error"); } canceled = true; cancelUploading(); } } }; }
From source file:com.haulmont.cuba.web.toolkit.ui.client.twincolselect.CubaTwinColSelectWidget.java
License:Apache License
protected void enableAddAllBtn() { HTML br1 = new HTML("<span/>"); br1.setStyleName(CLASSNAME + "-deco"); buttons.add(br1);//w w w .j a v a 2s.c o m buttons.insert(br1, buttons.getWidgetIndex(add) + 1); addAll = new VButton(); addAll.setText(">>"); addAll.addStyleName("addAll"); addAllHandlerRegistration = addAll.addClickHandler(this); buttons.insert(addAll, buttons.getWidgetIndex(br1) + 1); HTML br2 = new HTML("<span/>"); br2.setStyleName(CLASSNAME + "-deco"); buttons.add(br2); removeAll = new VButton(); removeAll.setText("<<"); removeAll.addStyleName("removeAll"); removeAllHandlerRegistration = removeAll.addClickHandler(this); buttons.add(removeAll); }
From source file:com.haulmont.cuba.web.widgets.client.jqueryfileupload.CubaFileUploadWidget.java
License:Apache License
public CubaFileUploadWidget() { submitButton = new VButton(); submitButton.addClickHandler(new ClickHandler() { @Override/* w w w. ja va2 s .c o m*/ public void onClick(ClickEvent event) { fireNativeClick(getFileInputElement()); } }); add(submitButton); submitButton.setTabIndex(-1); setStyleName(DEFAULT_CLASSNAME); Element inputElement = Document.get().createFileInputElement(); inputElement.setAttribute("name", "files[]"); if (!BrowserInfo.get().isIE() && !BrowserInfo.get().isEdge()) { inputElement.setAttribute("title", " "); } listenToFocusEvents(inputElement); getElement().appendChild(inputElement); fileUpload = new JQueryFileUploadOverlay(this) { protected boolean canceled = false; @Override protected boolean isValidFile(String name, double size) { if (fileSizeLimit > 0 && size > fileSizeLimit) { if (filePermissionsHandler != null) { filePermissionsHandler.fileSizeLimitExceeded(name); } return false; } if (hasInvalidExtension(name)) { if (filePermissionsHandler != null) { filePermissionsHandler.fileExtensionNotAllowed(name); } return false; } return true; } protected boolean hasInvalidExtension(String name) { if (permittedExtensions != null && !permittedExtensions.isEmpty()) { if (name.lastIndexOf(".") > 0) { String fileExtension = name.substring(name.lastIndexOf("."), name.length()); return !permittedExtensions.contains(fileExtension.toLowerCase()); } return true; } return false; } @Override protected void queueUploadStart() { // listen to events of new input element listenToFocusEvents(getFileInputElement()); progressWindow = new CubaFileUploadProgressWindow(); progressWindow.setOwner(CubaFileUploadWidget.this); progressWindow.addStyleName(getStylePrimaryName() + "-progresswindow"); progressWindow.setVaadinModality(true); progressWindow.setDraggable(true); progressWindow.setResizable(false); progressWindow.setClosable(true); progressWindow.setCaption(progressWindowCaption); progressWindow.setCancelButtonCaption(cancelButtonCaption); progressWindow.closeListener = new CubaFileUploadProgressWindow.CloseListener() { @Override public void onClose() { canceled = true; // null progress to prevent repeated hide() call inside cancelUploading progressWindow = null; cancelUploading(); if (queueUploadListener != null) { queueUploadListener.uploadFinished(); } } }; progressWindow.setVisible(false); progressWindow.show(); progressWindow.center(); progressWindow.setVisible(true); canceled = false; } @Override protected void fileUploadStart(String fileName) { if (progressWindow != null) { progressWindow.setCurrentFileName(fileName); } } @Override protected void fileUploadSucceed(String fileName) { if (fileUploadedListener != null) { fileUploadedListener.fileUploaded(fileName); } } @Override protected void uploadProgress(double loaded, double total) { if (progressWindow != null) { float ratio = (float) (loaded / total); progressWindow.setProgress(ratio); } } @Override protected void queueUploadStop() { if (progressWindow != null) { progressWindow.hide(); progressWindow = null; } getFileInputElement().focus(); if (queueUploadListener != null) { queueUploadListener.uploadFinished(); } } @Override protected void uploadFailed(String textStatus, String errorThrown) { if (ignoreExceptions) { if (progressWindow != null) progressWindow.hide(); return; } if (!canceled) { if (unableToUploadFileMessage != null) { // show notification without server round trip, server may be unreachable VNotification notification = VNotification.createNotification(-1, CubaFileUploadWidget.this); String fileName = ""; if (progressWindow != null) { fileName = progressWindow.getCurrentFileName(); } String message = "<h1>" + WidgetUtil.escapeHTML(unableToUploadFileMessage.replace("%s", fileName)) + "</h1>"; notification.show(message, Position.MIDDLE_CENTER, "error"); } canceled = true; cancelUploading(); } } }; }
From source file:com.wcs.wcslib.vaadin.widget.multifileupload.client.VMultiUpload.java
License:Apache License
public VMultiUpload() { super(com.google.gwt.dom.client.Document.get().createDivElement()); setWidget(panel);// ww w.j a v a2 s.com panel.add(fu); submitButton = new VButton(); submitButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { // fire click on upload (eg. focused button and hit space) fireNativeClick(fu.getElement()); } }); panel.add(submitButton); setStyleName(CLASSNAME); fu.sinkEvents(Event.ONCHANGE); fu.sinkEvents(Event.ONFOCUS); addStyleName(CLASSNAME + "-immediate"); }