Example usage for com.google.gwt.user.client.ui Label addClickHandler

List of usage examples for com.google.gwt.user.client.ui Label addClickHandler

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui Label addClickHandler.

Prototype

public HandlerRegistration addClickHandler(ClickHandler handler) 

Source Link

Usage

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++;
    }
}