List of usage examples for com.google.gwt.widgetideas.table.client.overrides FlexTable getFlexCellFormatter
public FlexCellFormatter getFlexCellFormatter()
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();//from ww w. java 2s .com } }); 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); } }