List of usage examples for com.google.gwt.user.client.ui Label addClickHandler
public HandlerRegistration addClickHandler(ClickHandler handler)
From source file:com.haulmont.cuba.web.toolkit.ui.client.tableshared.TableWidgetDelegate.java
License:Apache License
public void showSortMenu(final Element target, final String columnId) { final VOverlay sortDirectionPopup = GWT.create(VOverlay.class); sortDirectionPopup.setOwner(tableWidget.getOwner()); FlowPanel sortDirectionMenu = new FlowPanel(); Label sortByDescendingButton = new Label(tableWidget.getSortDescendingLabel()); Label sortByAscendingButton = new Label(tableWidget.getSortAscendingLabel()); Label sortClearSortButton = new Label(tableWidget.getSortResetLabel()); sortByDescendingButton.addStyleName(TABLE_SORT_CONTEXTMENU_ITEM); sortByAscendingButton.addStyleName(TABLE_SORT_CONTEXTMENU_ITEM); sortClearSortButton.addStyleName(TABLE_SORT_CONTEXTMENU_ITEM); sortDirectionMenu.add(sortByAscendingButton); sortDirectionMenu.add(sortByDescendingButton); sortDirectionMenu.add(sortClearSortButton); sortByDescendingButton.addClickHandler(event -> { updateVariable("sortcolumn", columnId, false); updateVariable("sortascending", false, false); tableWidget.getRowRequestHandler().deferRowFetch(); // some validation + // defer 250ms tableWidget.getRowRequestHandler().cancel(); // instead of waiting tableWidget.getRowRequestHandler().run(); // run immediately sortDirectionPopup.hide();// ww w . j ava2 s . c om }); sortByAscendingButton.addClickHandler(event -> { updateVariable("sortcolumn", columnId, false); updateVariable("sortascending", true, false); tableWidget.getRowRequestHandler().deferRowFetch(); // some validation + // defer 250ms tableWidget.getRowRequestHandler().cancel(); // instead of waiting tableWidget.getRowRequestHandler().run(); // run immediately sortDirectionPopup.hide(); }); sortClearSortButton.addClickHandler(event -> { updateVariable("resetsortorder", columnId, true); sortDirectionPopup.hide(); }); sortDirectionMenu.addStyleName("c-table-contextmenu"); sortDirectionPopup.setWidget(sortDirectionMenu); sortDirectionPopup.setAutoHideEnabled(true); ComputedStyle sortIndicatorStyle = new ComputedStyle(target); Tools.showPopup(sortDirectionPopup, target.getAbsoluteLeft(), target.getAbsoluteTop() + ((int) sortIndicatorStyle.getHeight())); }
From source file:com.haulmont.cuba.web.toolkit.ui.client.tablesort.TableCustomSortDelegate.java
License:Apache License
public void showSortMenu(final Element sortIndicator, final String columnId) { final VOverlay sortDirectionPopup = new VOverlay(); sortDirectionPopup.setOwner(tableWidget.getOwner()); FlowPanel sortDirectionMenu = new FlowPanel(); Label sortByDescendingButton = new Label(tableWidget.getSortDescendingLabel()); Label sortByAscendingButton = new Label(tableWidget.getSortAscendingLabel()); Label sortClearSortButton = new Label(tableWidget.getSortResetLabel()); sortByDescendingButton.addStyleName("cuba-table-contextmenu-item"); sortByAscendingButton.addStyleName("cuba-table-contextmenu-item"); sortClearSortButton.addStyleName("cuba-table-contextmenu-item"); sortDirectionMenu.add(sortByAscendingButton); sortDirectionMenu.add(sortByDescendingButton); sortDirectionMenu.add(sortClearSortButton); sortByDescendingButton.addClickHandler(new ClickHandler() { @Override/*from www . j a va 2 s . c om*/ public void onClick(ClickEvent event) { tableWidget.getClient().updateVariable(tableWidget.getPaintableId(), "sortcolumn", columnId, false); tableWidget.getClient().updateVariable(tableWidget.getPaintableId(), "sortascending", false, false); tableWidget.getRowRequestHandler().deferRowFetch(); // some validation + // defer 250ms tableWidget.getRowRequestHandler().cancel(); // instead of waiting tableWidget.getRowRequestHandler().run(); // run immediately sortDirectionPopup.hide(); } }); sortByAscendingButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { tableWidget.getClient().updateVariable(tableWidget.getPaintableId(), "sortcolumn", columnId, false); tableWidget.getClient().updateVariable(tableWidget.getPaintableId(), "sortascending", true, false); tableWidget.getRowRequestHandler().deferRowFetch(); // some validation + // defer 250ms tableWidget.getRowRequestHandler().cancel(); // instead of waiting tableWidget.getRowRequestHandler().run(); // run immediately sortDirectionPopup.hide(); } }); sortClearSortButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { tableWidget.getClient().updateVariable(tableWidget.getPaintableId(), "resetsortorder", columnId, true); sortIndicator.addClassName("cuba-sort-indicator-visible"); sortDirectionPopup.hide(); } }); sortDirectionMenu.addStyleName("cuba-table-contextmenu"); sortDirectionPopup.setWidget(sortDirectionMenu); sortDirectionPopup.addCloseHandler(new CloseHandler<PopupPanel>() { @Override public void onClose(CloseEvent<PopupPanel> event) { sortIndicator.removeClassName("cuba-sort-indicator-visible"); } }); sortDirectionPopup.setAutoHideEnabled(true); ComputedStyle sortIndicatorStyle = new ComputedStyle(sortIndicator); Tools.showPopup(sortDirectionPopup, sortIndicator.getAbsoluteLeft(), sortIndicator.getAbsoluteTop() + ((int) sortIndicatorStyle.getHeight())); sortIndicator.addClassName("cuba-sort-indicator-visible"); }
From source file:com.mcherm.zithiacharsheet.client.SkillCatalogDisplay.java
License:Apache License
public SkillCatalogDisplay(SkillCatalog skillCatalog) { final FlexCellFormatter formatter = this.getFlexCellFormatter(); this.addStyleName("skillCatalog"); int categoryRow = 0; for (final SkillCatalog.SkillCategory skillCategory : skillCatalog.getSkillCategories()) { final int CATEGORY_ROW = categoryRow; formatter.setColSpan(CATEGORY_ROW, 0, 2); // This spans 2 columns formatter.addStyleName(CATEGORY_ROW, 0, "categoryRow"); Label categoryLabel = new Label(skillCategory.getName()); ClickHandler categoryClickHandler = new ClickHandler() { public void onClick(ClickEvent event) { // toggle visibility of the next row formatter.setVisible(CATEGORY_ROW + 1, 0, !formatter.isVisible(CATEGORY_ROW + 1, 0)); }//from w w w . java 2 s .c o m }; categoryLabel.addClickHandler(categoryClickHandler); this.setWidget(CATEGORY_ROW, 0, categoryLabel); categoryRow++; formatter.addStyleName(CATEGORY_ROW, 0, "subtable"); formatter.setVisible(categoryRow, 0, false); setWidget(categoryRow, 0, makeCategorySkillsSubtable(skillCategory)); categoryRow++; } }
From source file:com.mcherm.zithiacharsheet.client.SkillCatalogDisplay.java
License:Apache License
/** * Subroutine of constructor to set up a smaller table with the skills * from an individual category.//from ww w . j a v a2s. c o m */ private FlexTable makeCategorySkillsSubtable(final SkillCatalog.SkillCategory skillCategory) { // FIXME: Make this a subroutine FlexTable subTable = new FlexTable(); final FlexCellFormatter subFormatter = subTable.getFlexCellFormatter(); int skillRow = 0; for (final ZithiaSkill skill : skillCategory.getSkills()) { final int SKILL_ROW = skillRow; ClickHandler rowClickHandler = new ClickHandler() { public void onClick(ClickEvent event) { onSkillClicked(event, skill, SKILL_ROW); } }; String statsText; if (skill.hasRoll()) { statsText = skill.getStat().getName() + "/" + skill.getBaseCost() + "/" + skill.getFirstLevelCost(); } else { statsText = Integer.toString(skill.getBaseCost()); } subFormatter.addStyleName(SKILL_ROW, 0, "statsCol"); Label statsLabel = new Label(statsText); statsLabel.addClickHandler(rowClickHandler); subTable.setWidget(SKILL_ROW, 0, statsLabel); subFormatter.addStyleName(SKILL_ROW, 1, "nameCol"); Label nameLabel = new Label(skill.getName()); nameLabel.addClickHandler(rowClickHandler); subTable.setWidget(SKILL_ROW, 1, nameLabel); skillRow++; } return subTable; }
From source file:com.qualogy.qafe.gwt.client.component.DialogComponent.java
License:Apache License
public static void showDialog(final String dialogTitle, String dialogMessage, String dialogType, String detailedMessage, int left, int top) { final ShowPanelComponent dialogBox = new ShowPanelComponent(false, true, left, top); final boolean expandAndShrinkDisclosureInCenter = left > 0 ? false : true; boolean showSendReportButton = false; FlexTable dialogComponentMainContainer = new FlexTable(); Label close = new Label("X"); close.setStyleName("qafe_close_on_showPanel"); close.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { dialogBox.hide();/* ww w .j ava 2s . c o m*/ } }); Label dialogTitleLabel = new Label(dialogTitle); if (dialogMessage != null && dialogMessage.length() > 1000) { detailedMessage = dialogMessage; dialogMessage = dialogTitle; } HTML dialogMessageHTML = new HTML(dialogMessage); String imageURL = null; if (dialogType.equals(GenericDialogGVO.TYPE_ALERT)) { imageURL = "images/alertDialogIcon.png"; } else if (dialogType.equals(GenericDialogGVO.TYPE_ERROR)) { showSendReportButton = true; imageURL = "images/errorDialogIcon.png"; } else { imageURL = "images/infoDialogIcon.png"; } Image dialogTypeImage = new Image(imageURL); FlexTable buttonsHolder = new FlexTable(); Button okButton = new Button("OK"); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { glassPanel.removeFromParent(); dialogBox.hide(); } }); okButton.setWidth("90px"); buttonsHolder.setWidget(0, 1, okButton); if (detailedMessage != null) { if (showSendReportButton) { Button sendReportButton = new Button("Send Report"); final String detailedMessageFinal = detailedMessage; final String dialogMessageFinal = dialogMessage; sendReportButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.notify("QAFE ERROR Report[" + dialogTitle + "]", dialogMessageFinal + " \n" + detailedMessageFinal); glassPanel.removeFromParent(); dialogBox.hide(); } }); sendReportButton.setWidth("90px"); buttonsHolder.setWidget(0, 2, sendReportButton); } final ScrollPanel scrollPanel = new ScrollPanel(new HTML(detailedMessage)); if (dialogMessage != null && dialogMessage.length() > 100) { scrollPanel.setSize("1000px", "200px"); } else { scrollPanel.setSize("500px", "200px"); } DisclosurePanel disclosurePanel = new DisclosurePanel("Details"); disclosurePanel.add(scrollPanel); disclosurePanel.addOpenHandler(new OpenHandler<DisclosurePanel>() { public void onOpen(OpenEvent<DisclosurePanel> arg0) { if (expandAndShrinkDisclosureInCenter) { dialogBox.center(); } } }); disclosurePanel.addCloseHandler(new CloseHandler<DisclosurePanel>() { public void onClose(CloseEvent<DisclosurePanel> arg0) { if (expandAndShrinkDisclosureInCenter) { dialogBox.center(); } } }); dialogComponentMainContainer.setWidget(3, 1, disclosurePanel); } dialogComponentMainContainer.setWidget(0, 3, close); dialogComponentMainContainer.setWidget(1, 0, dialogTitleLabel); dialogComponentMainContainer.setWidget(2, 0, dialogTypeImage); dialogComponentMainContainer.setWidget(2, 1, dialogMessageHTML); dialogComponentMainContainer.setWidget(4, 1, buttonsHolder); dialogComponentMainContainer.getFlexCellFormatter().setWidth(2, 0, "40px"); dialogComponentMainContainer.getFlexCellFormatter().setColSpan(1, 0, 2); dialogComponentMainContainer.getFlexCellFormatter().setColSpan(3, 1, 2); dialogComponentMainContainer.getFlexCellFormatter().setColSpan(4, 1, 1); dialogBox.add(dialogComponentMainContainer); RootPanel.get().add(glassPanel, 0, 0); if (left == 0 && top == 0) { dialogBox.center(); } else { dialogBox.setVisible(false); dialogBox.show(); int dialogHalfWidth = (int) (dialogBox.getOffsetWidth() / 3); int dialogHalfHeight = (int) (dialogBox.getOffsetHeight() / 3); left = left - dialogHalfWidth < 0 ? 0 : left - dialogHalfWidth; top = top - dialogHalfHeight; dialogBox.setPopupPosition(left, top); dialogBox.setVisible(true); } }
From source file:com.qualogy.qafe.gwt.client.ui.renderer.FileUploadRenderer.java
License:Apache License
public UIObject render(ComponentGVO component, String uuid, String parent, String context) { HorizontalPanel uiObject = null;/*from w ww. j av a 2 s .co m*/ final String finalParent = parent; if (component != null) { if (component instanceof FileUploadGVO) { if (component.getMenu() != null) { final ComponentGVO finalComponentGVO = component; final String finalUuid = uuid; uiObject = new HorizontalPanel() { @Override public void onBrowserEvent(Event event) { if (event.getTypeInt() == Event.ONCONTEXTMENU) { DOM.eventPreventDefault(event); applyContextMenu(event, finalComponentGVO, finalUuid, finalParent); } super.onBrowserEvent(event); } @Override protected void setElement(Element elem) { super.setElement(elem); sinkEvents(Event.ONCONTEXTMENU); } }; } else { uiObject = new HorizontalPanel(); } final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); final Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); final FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); fileUploadComponent.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { String filename = fileUploadComponent.getFilename(); boolean enabled = (filename != null) && (filename.length() > 0); uploadButtonComponent.setEnabled(enabled); } }); Hidden appId = new Hidden(); final String appID = ClientApplicationContext.getInstance().getWindowSession(); appId.setName("APPUUID=" + appID); Hidden windowId = new Hidden(); windowId.setName("WINDOWID=" + parent); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(0, 2, appId); gridPanel.setWidget(0, 3, windowId); formPanel.add(gridPanel); RendererHelper.fillIn(component, formPanel, uuid, parent, context); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); boolean success = false; if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); success = true; } if (formPanel instanceof HasWidgets) { HasWidgets hasWidgets = (HasWidgets) formPanel; Iterator<Widget> itr = hasWidgets.iterator(); while (itr.hasNext()) { Widget widget = itr.next(); if (widget instanceof Grid) { Grid gridPanel = (Grid) widget; final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0); final Button uploadButton = (Button) gridPanel.getWidget(0, 1); if (success) { fileUpload.setVisible(false); uploadButton.setVisible(false); String fileName = event.getResults().substring(0, event.getResults().indexOf("#")); final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID + "&WINDOWID=" + finalParent + "&VIEW=" + uuId; final Label fileNameLabel = new Label(fileName); DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand"); fileNameLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.open(viewUrl, "UploadedFile", null); } }); fileNameLabel.setVisible(true); final Label clearLabel = new Label("Clear"); clearLabel.setVisible(true); final String finalUuId = uuId; DOM.setStyleAttribute(clearLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(clearLabel.getElement(), "cursor", "hand"); clearLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.removeUploadedFile(appID, finalParent, finalUuId); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", ""); fileNameLabel.setVisible(false); clearLabel.setVisible(false); fileUpload.setVisible(true); uploadButton.setVisible(true); init(fileUpload, uploadButton); } }); gridPanel.setWidget(1, 0, fileNameLabel); gridPanel.setWidget(1, 1, clearLabel); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId); CallbackHandler.createCallBack(formPanel, "onfinish", null, null); } else { Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0); fileNameLabel.setText("Uploading unsuccessfull."); fileNameLabel.setVisible(true); } } } } } }); uiObject.add(formPanel); init(fileUploadComponent, uploadButtonComponent); } } return uiObject; }
From source file:com.qualogy.qafe.gwt.client.vo.functions.execute.ShowPanelExecute.java
License:Apache License
@SuppressWarnings("deprecation") public void execute(BuiltInFunctionGVO builtInFunction) { if (builtInFunction instanceof ShowPanelGVO) { ShowPanelGVO showPanelGVO = (ShowPanelGVO) builtInFunction; String id = "showPanel_" + showPanelGVO.getBuiltInComponentGVO().getComponentIdUUID(); final ShowPanelComponent showPanel = new ShowPanelComponent(showPanelGVO.isAutoHide(), showPanelGVO.isModal(), showPanelGVO.getLeft(), showPanelGVO.getTop()); // We have to make sure that all other showPanels using the same panel-definition is cleared List<UIObject> uiObjects = ComponentRepository.getInstance().getComponent(id); if (uiObjects != null) { UIObject uiObject = uiObjects.iterator().next(); if (uiObject instanceof ShowPanelComponent) { ShowPanelComponent showPanelComponent = (ShowPanelComponent) uiObject; showPanelComponent.hide();// This will call showPanelComponent.onDetach() }/* ww w .j a v a 2s.c o m*/ } UIObject ui = AnyComponentRenderer.getInstance().render(showPanelGVO.getSrc(), showPanelGVO.getUuid(), showPanelGVO.getBuiltInComponentGVO().getWindowId(), showPanelGVO.getSrc().getContext()); Widget w = null; if (ui instanceof Widget) { w = (Widget) ui; } FlexTable panel = new FlexTable(); if (!showPanelGVO.isAutoHide()) { Label close = new Label("X"); close.setStyleName("qafe_close_on_showPanel"); close.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { showPanel.hide(); } }); panel.setWidget(0, 1, close); } panel.setWidget(1, 0, w); showPanel.setWidget(panel); showPanel.setId(id); showPanel.setWindow(showPanelGVO.getBuiltInComponentGVO().getWindowId()); String componentUUID = showPanelGVO.getBuiltInComponentGVO().getComponentIdUUID(); String windowIdentifier = componentUUID.substring(componentUUID.indexOf('|')); windowIdentifier = showPanelGVO.getBuiltInComponentGVO().getWindowId() + windowIdentifier; showPanel.setWindowIdentifier(windowIdentifier); // Adding to component repository to be picked up when executing close-panel. ComponentRepository.getInstance().putComponent(id, (UIObject) showPanel); handleMask(showPanelGVO, id, windowIdentifier); showPanel.show(); handleStyle(showPanelGVO, showPanel, w); handleSize(showPanelGVO, showPanel, panel); String position = showPanelGVO.getPosition(); if (CENTER_POSITION.equals(position)) { showPanel.center(); } } }
From source file:com.qualogy.qafe.gwt.client.vo.handlers.ShowPanelHandler.java
License:Apache License
private void showPanel(ShowPanelGVO showPanelGVO, Map<String, String> mouseInfo, String appId, String windowId, String eventSessionId) {//w ww . jav a2 s .com final ComponentGVO panelDefGVO = showPanelGVO.getSrc(); final String panelDefId = panelDefGVO.getId(); BuiltinHandlerHelper.closeOpenedPanelDefinition(panelDefId, appId, windowId, eventSessionId); final boolean autoHide = showPanelGVO.isAutoHide(); final boolean modal = showPanelGVO.isModal(); int left = showPanelGVO.getLeft(); int top = showPanelGVO.getTop(); String position = showPanelGVO.getPosition(); if ((left > 0) && (top > 0)) { position = null; } else { left = 0; top = 0; if (position == null) { if (mouseInfo.containsKey(EventDataI.MOUSE_X)) { left = Integer.parseInt(mouseInfo.get(EventDataI.MOUSE_X)); } if (mouseInfo.containsKey(EventDataI.MOUSE_Y)) { top = Integer.parseInt(mouseInfo.get(EventDataI.MOUSE_Y)); } } } final ShowPanelComponent showPanel = new ShowPanelComponent(autoHide, modal, left, top); Widget panelDef = (Widget) renderComponent(panelDefGVO, eventSessionId, windowId, appId); FlexTable panel = new FlexTable(); if (!autoHide) { Label close = new Label("X"); close.setStyleName("qafe_close_on_showPanel"); close.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { showPanel.hide(); } }); panel.setWidget(0, 1, close); } panel.setWidget(1, 0, panelDef); showPanel.setWidget(panel); String panelDefKey = BuiltinHandlerHelper.generatePanelDefinitionKey(panelDefId, appId, windowId); String windowKey = RendererHelper.generateId(windowId, windowId, appId); showPanel.setId(panelDefKey); showPanel.setWindow(windowId); showPanel.setWindowIdentifier(windowKey); ComponentRepository.getInstance().putComponent(panelDefKey, (UIObject) showPanel, true); handleMask(showPanelGVO, panelDefKey, windowKey, windowId); showPanel.show(); handleStyle(showPanelGVO, showPanel, panelDef); handleSize(showPanelGVO, showPanel, panel); if (CENTER_POSITION.equals(position)) { showPanel.center(); } }
From source file:com.qualogy.qafe.mgwt.client.ui.renderer.FileUploadRenderer.java
License:Apache License
public UIObject render(ComponentGVO component, String owner, String uuid, String parent, String context, AbstractActivity activity) {//from w ww. j av a 2 s. c o m HorizontalPanel uiObject = null; final String finalParent = parent; if (component != null) { if (component instanceof FileUploadGVO) { if (component.getMenu() != null) { final ComponentGVO finalComponentGVO = component; final String finalUuid = uuid; uiObject = new HorizontalPanel() { @Override public void onBrowserEvent(Event event) { if (event.getTypeInt() == Event.ONCONTEXTMENU) { DOM.eventPreventDefault(event); applyContextMenu(event, finalComponentGVO, finalUuid, finalParent); } super.onBrowserEvent(event); } @Override protected void setElement(Element elem) { super.setElement(elem); sinkEvents(Event.ONCONTEXTMENU); } }; } else { uiObject = new HorizontalPanel(); } final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); Hidden appId = new Hidden(); appId.setName("APPUUID=" + uuid); final String appID = uuid; Hidden windowId = new Hidden(); windowId.setName("WINDOWID=" + parent); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(0, 2, appId); gridPanel.setWidget(0, 3, windowId); formPanel.add(gridPanel); RendererHelper.fillIn(component, formPanel, uuid, parent, context); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); boolean success = false; if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); success = true; } if (formPanel instanceof HasWidgets) { HasWidgets hasWidgets = (HasWidgets) formPanel; Iterator<Widget> itr = hasWidgets.iterator(); while (itr.hasNext()) { Widget widget = itr.next(); if (widget instanceof Grid) { Grid gridPanel = (Grid) widget; final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0); final Button uploadButton = (Button) gridPanel.getWidget(0, 1); if (success) { fileUpload.setVisible(false); uploadButton.setVisible(false); String fileName = event.getResults().substring(0, event.getResults().indexOf("#")); final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID + "&WINDOWID=" + finalParent + "&VIEW=" + uuId; final Label fileNameLabel = new Label(fileName); DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand"); fileNameLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.open(viewUrl, "UploadedFile", null); } }); fileNameLabel.setVisible(true); final Label removeLabel = new Label("Remove"); removeLabel.setVisible(true); final String finalUuId = uuId; DOM.setStyleAttribute(removeLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(removeLabel.getElement(), "cursor", "hand"); removeLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.removeUploadedFile(appID, finalParent, finalUuId); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", ""); fileNameLabel.setVisible(false); removeLabel.setVisible(false); fileUpload.setVisible(true); uploadButton.setVisible(true); } }); gridPanel.setWidget(1, 0, fileNameLabel); gridPanel.setWidget(1, 1, removeLabel); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId); CallbackHandler.createCallBack(formPanel, "onfinish", null, null); } else { Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0); fileNameLabel.setText("Uploading unsuccessfull."); fileNameLabel.setVisible(true); } } } } } }); uiObject.add(formPanel); } } return uiObject; }
From source file:com.seanchenxi.gwt.serenity.client.widget.PopupLabelBox.java
License:Apache License
public void addLabel(String id, String text) { Label label = new Label(text); label.getElement().setId(id);// w w w . j a v a 2 s . c o m label.setStyleName(getResources().style().popLabelBoxLabel()); label.addClickHandler(this); table.setWidget(row, col, label); table.getCellFormatter().setVerticalAlignment(row, col, HasAlignment.ALIGN_MIDDLE); col++; if (col >= columns) { col = 0; row++; } }