Example usage for com.google.gwt.user.client.ui CheckBox setValue

List of usage examples for com.google.gwt.user.client.ui CheckBox setValue

Introduction

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

Prototype

@Override
public void setValue(Boolean value) 

Source Link

Document

Checks or unchecks the check box.

Usage

From source file:com.gwtmobile.ui.client.widgets.CheckBoxGroup.java

License:Apache License

@Override
public void onClick(ClickEvent e) {
    final EventTarget target = e.getNativeEvent().getEventTarget();
    String targetTagName = ((Element) target.cast()).getTagName().toUpperCase();
    Utils.Console("onClick target " + targetTagName);
    if (targetTagName.equals("LABEL")) {
        return; // if check box label is click, another (simulated) click event with
        // check box INPUT as target will fire after this one. So this click event
        // can be safely ignored.
    }/*from w  w w . j  a v a  2s  .  c  om*/
    Element div = Element.as(target);
    while (!div.getNodeName().toUpperCase().equals("SPAN") || div.getParentElement() != this.getElement()) {
        div = div.getParentElement();
        if (div == null) {
            Utils.Console("CheckBoxGroup onClick: span not found");
            return;
        }
    }
    final int index = DOM.getChildIndex(this.getElement(), (com.google.gwt.user.client.Element) div);
    com.google.gwt.user.client.ui.CheckBox checkbox = (com.google.gwt.user.client.ui.CheckBox) getWidget(index);
    Utils.Console("onClick " + checkbox.getValue());
    if (targetTagName.equals("INPUT")) {
        Utils.Console("onClick value changed");
        checkbox.setValue(checkbox.getValue()); // if target is check box INPUT, check box value is 
        // already changed when click event is fired.
        // just need to set its current value back to the check box
        // to update style.
    } else {
        checkbox.setValue(!checkbox.getValue());
    }

    Scheduler.get().scheduleDeferred(new ScheduledCommand() {
        @Override
        public void execute() {
            SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(index, target);
            fireEvent(selectionChangedEvent);
        }
    });
}

From source file:com.ikon.frontend.client.widget.filebrowser.ExtendedScrollTable.java

License:Open Source License

/**
 * selectAllMassive//from  ww  w  .jav  a  2s.com
 */
public void selectAllMassive() {
    massiveSelected = new ArrayList<Integer>();
    for (int i = 0; dataTable.getRowCount() > i; i++) {
        CheckBox checkBox = (CheckBox) dataTable.getWidget(i, colMassiveIndex);
        checkBox.setValue(true);
        massiveSelected.add(Integer.parseInt(dataTable.getText(i, colDataIndex)));
    }
}

From source file:com.ikon.frontend.client.widget.filebrowser.ExtendedScrollTable.java

License:Open Source License

/**
 * selectAllFoldersMassive//from  w w  w . j a va 2 s .co m
 */
public void selectAllFoldersMassive() {
    massiveSelected = new ArrayList<Integer>();
    for (int i = 0; dataTable.getRowCount() > i; i++) {
        if (data.get(Integer.parseInt(dataTable.getText(i, colDataIndex))) instanceof GWTFolder) {
            CheckBox checkBox = (CheckBox) dataTable.getWidget(i, colMassiveIndex);
            checkBox.setValue(true);
            massiveSelected.add(Integer.parseInt(dataTable.getText(i, colDataIndex)));
        }
    }
}

From source file:com.ikon.frontend.client.widget.filebrowser.ExtendedScrollTable.java

License:Open Source License

/**
 * selectAllDocumentsMassive/* ww w.j a  v  a2 s .  c  om*/
 */
public void selectAllDocumentsMassive() {
    massiveSelected = new ArrayList<Integer>();
    for (int i = 0; dataTable.getRowCount() > i; i++) {
        if (data.get(Integer.parseInt(dataTable.getText(i, colDataIndex))) instanceof GWTDocument) {
            CheckBox checkBox = (CheckBox) dataTable.getWidget(i, colMassiveIndex);
            checkBox.setValue(true);
            massiveSelected.add(Integer.parseInt(dataTable.getText(i, colDataIndex)));
        }
    }
}

From source file:com.ikon.frontend.client.widget.filebrowser.ExtendedScrollTable.java

License:Open Source License

/**
 * selectAllMailsMassive/*from   w  w  w .  j a  v a 2s  .  c o m*/
 */
public void selectAllMailsMassive() {
    massiveSelected = new ArrayList<Integer>();
    for (int i = 0; dataTable.getRowCount() > i; i++) {
        if (data.get(Integer.parseInt(dataTable.getText(i, colDataIndex))) instanceof GWTMail) {
            CheckBox checkBox = (CheckBox) dataTable.getWidget(i, colMassiveIndex);
            checkBox.setValue(true);
            massiveSelected.add(Integer.parseInt(dataTable.getText(i, colDataIndex)));
        }
    }
}

From source file:com.ikon.frontend.client.widget.filebrowser.ExtendedScrollTable.java

License:Open Source License

/**
 * removeAllMassive/*ww  w . j av a2s.c  o  m*/
 */
public void removeAllMassive() {
    massiveSelected = new ArrayList<Integer>();
    for (int i = 0; dataTable.getRowCount() > i; i++) {
        CheckBox checkBox = (CheckBox) dataTable.getWidget(i, colMassiveIndex);
        checkBox.setValue(false);
    }
}

From source file:com.ikon.frontend.client.widget.form.FormManager.java

License:Open Source License

/**
 * drawFormElement//from  ww w  . jav a2 s.  c om
 */
private void drawFormElement(int row, final GWTFormElement gwtFormElement, boolean readOnly,
        boolean searchView) {
    final String propertyName = gwtFormElement.getName();

    if (gwtFormElement instanceof GWTButton) {
        final GWTButton gWTButton = (GWTButton) gwtFormElement;

        if (submitForm != null) {
            submitForm.setVisible(false); // Always set form hidden because there's new buttons
        }

        Button transButton = new Button(gWTButton.getLabel());
        String style = Character.toUpperCase(gWTButton.getStyle().charAt(0))
                + gWTButton.getStyle().substring(1);
        transButton.setStyleName("okm-" + style + "Button");
        HTML space = new HTML("&nbsp;");
        submitButtonPanel.add(transButton);
        submitButtonPanel.add(space);
        submitButtonPanel.setCellWidth(space, "5px");

        // Setting submit button
        transButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                if (gWTButton.getConfirmation() != null && !gWTButton.getConfirmation().equals("")) {
                    Main.get().confirmPopup.setConfirm(ConfirmPopup.CONFIRM_WORKFLOW_ACTION);
                    Main.get().confirmPopup.setConfirmationText(gWTButton.getConfirmation());
                    ValidationButton validationButton = new ValidationButton(gWTButton, singleton);
                    Main.get().confirmPopup.setValue(validationButton);
                    Main.get().confirmPopup.center();
                } else {
                    if (gWTButton.isValidate()) {
                        if (validationProcessor.validate()) {
                            if (gWTButton.getTransition().equals("")) {
                                workflow.setTaskInstanceValues(taskInstance.getId(), null);
                            } else {
                                workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition());
                            }
                            disableAllButtonList();
                        }
                    } else {
                        if (gWTButton.getTransition().equals("")) {
                            workflow.setTaskInstanceValues(taskInstance.getId(), null);
                        } else {
                            workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition());
                        }
                        disableAllButtonList();
                    }
                }
            }
        });

        // Adding button to control list
        if (!buttonControlList.contains(transButton)) {
            buttonControlList.add(transButton);
        }
    } else if (gwtFormElement instanceof GWTTextArea) {
        HorizontalPanel hPanel = new HorizontalPanel();
        TextArea textArea = new TextArea();
        textArea.setEnabled((!readOnly && !((GWTTextArea) gwtFormElement).isReadonly()) || isSearchView); // read only
        hPanel.add(textArea);
        textArea.setStyleName("okm-TextArea");
        textArea.setText(((GWTTextArea) gwtFormElement).getValue());
        textArea.setSize(gwtFormElement.getWidth(), gwtFormElement.getHeight());
        HTML text = new HTML(); // Create a widget for this property
        text.setHTML(((GWTTextArea) gwtFormElement).getValue().replaceAll("\n", "<br>"));
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, text);
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });

            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                textArea.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTInput) {
        final HorizontalPanel hPanel = new HorizontalPanel();
        final TextBox textBox = new TextBox(); // Create a widget for this property
        textBox.setEnabled((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only
        hPanel.add(textBox);
        String value = "";

        if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_TEXT)
                || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK)
                || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) {
            textBox.setText(((GWTInput) gwtFormElement).getValue());
            value = ((GWTInput) gwtFormElement).getValue();
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
            if (((GWTInput) gwtFormElement).getDate() != null) {
                DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                textBox.setText(dtf.format(((GWTInput) gwtFormElement).getDate()));
                value = dtf.format(((GWTInput) gwtFormElement).getDate());
            }
        }

        textBox.setWidth(gwtFormElement.getWidth());
        textBox.setStyleName("okm-Input");
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setHTML(row, 1, value);

        if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
            final PopupPanel calendarPopup = new PopupPanel(true);
            final CalendarWidget calendar = new CalendarWidget();

            calendar.addChangeHandler(new ChangeHandler() {
                @Override
                public void onChange(ChangeEvent event) {
                    calendarPopup.hide();
                    DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                    textBox.setText(dtf.format(calendar.getDate()));
                    ((GWTInput) gwtFormElement).setDate(calendar.getDate());

                    if (search != null) {
                        search.metadataValueChanged();
                    }
                }
            });

            calendarPopup.add(calendar);
            final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar());

            if (readOnly || ((GWTInput) gwtFormElement).isReadonly()) { // read only
                calendarIcon.setResource(OKMBundleResources.INSTANCE.calendarDisabled());
            } else {
                calendarIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(),
                                calendarIcon.getAbsoluteTop() - 2);
                        if (calendar.getDate() != null) {
                            calendar.setNow((Date) calendar.getDate().clone());
                        } else {
                            calendar.setNow(null);
                        }
                        calendarPopup.show();
                    }
                });
            }

            calendarIcon.setStyleName("okm-Hyperlink");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(calendarIcon);
            textBox.setEnabled(false);
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK)) {
            if (!value.equals("")) {
                HorizontalPanel hLinkPanel = new HorizontalPanel();
                Anchor anchor = new Anchor(value, true);
                final String url = value;

                anchor.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        Window.open(url, url, "");
                    }
                });

                anchor.setStyleName("okm-Hyperlink");
                String containerName = ((GWTInput) gwtFormElement).getName() + "ContainerName";
                hLinkPanel.add(new HTML("<div id=\"" + containerName + "\"></div>\n"));
                HTML space = new HTML("");
                hLinkPanel.add(space);
                hLinkPanel.add(anchor);
                hLinkPanel.setCellWidth(space, "5px");
                table.setWidget(row, 1, hLinkPanel);
                Util.createLinkClipboardButton(url, containerName);
            } else {
                table.setHTML(row, 1, "");
            }
        } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) {
            if (!value.equals("")) {
                Anchor anchor = new Anchor();
                final GWTFolder folder = ((GWTInput) gwtFormElement).getFolder();

                // remove first ocurrence
                String path = value.substring(value.indexOf("/", 1) + 1);

                // Looks if must change icon on parent if now has no childs and properties with user security
                // atention
                if (folder.isHasChildren()) {
                    anchor.setHTML(Util.imageItemHTML("img/menuitem_childs.gif", path, "top"));
                } else {
                    anchor.setHTML(Util.imageItemHTML("img/menuitem_empty.gif", path, "top"));
                }

                anchor.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent arg0) {
                        CommonUI.openPath(folder.getPath(), null);
                    }
                });

                anchor.setStyleName("okm-KeyMap-ImageHover");
                table.setWidget(row, 1, anchor);
            } else {
                table.setHTML(row, 1, "");
            }

            Image pathExplorer = new Image(OKMBundleResources.INSTANCE.folderExplorer());
            pathExplorer.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    // when any changes is done is fired search.metadataValueChanged();
                    folderSelectPopup.show(textBox, search);
                }
            });

            pathExplorer.setStyleName("okm-KeyMap-ImageHover");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(pathExplorer);
            hPanel.setCellVerticalAlignment(pathExplorer, HasAlignment.ALIGN_MIDDLE);
            pathExplorer.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only
            textBox.setEnabled(false);
        }

        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            // Second date input
            if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) {
                final TextBox textBoxTo = new TextBox();
                textBoxTo.setWidth(gwtFormElement.getWidth());
                textBoxTo.setStyleName("okm-Input");
                hPanel.add(new HTML("&nbsp;&harr;&nbsp;"));
                hPanel.add(textBoxTo);

                if (((GWTInput) gwtFormElement).getDateTo() != null) {
                    DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                    textBoxTo.setText(dtf.format(((GWTInput) gwtFormElement).getDateTo()));
                }

                final PopupPanel calendarPopup = new PopupPanel(true);
                final CalendarWidget calendar = new CalendarWidget();
                calendar.addChangeHandler(new ChangeHandler() {
                    @Override
                    public void onChange(ChangeEvent event) {
                        calendarPopup.hide();
                        DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern"));
                        textBoxTo.setText(dtf.format(calendar.getDate()));
                        ((GWTInput) gwtFormElement).setDateTo(calendar.getDate());

                        if (search != null) {
                            search.metadataValueChanged();
                        }
                    }
                });

                calendarPopup.add(calendar);
                final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar());
                calendarIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(),
                                calendarIcon.getAbsoluteTop() - 2);
                        calendarPopup.show();
                    }
                });

                calendarIcon.setStyleName("okm-Hyperlink");
                hPanel.add(Util.hSpace("5"));
                hPanel.add(calendarIcon);
                textBoxTo.setEnabled(false);

                // Clean
                final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon());
                cleanIcon.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        TextBox textBox = (TextBox) hPanel.getWidget(0);
                        textBox.setText("");
                        textBoxTo.setText("");
                        ((GWTInput) gwtFormElement).setDate(null);
                        ((GWTInput) gwtFormElement).setDateTo(null);
                    }
                });
                cleanIcon.setStyleName("okm-Hyperlink");
                hPanel.add(Util.hSpace("5"));
                hPanel.add(cleanIcon);
            }

            // Delete
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                textBox.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            // Clean icon ( case is not readonly )
            final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon());
            cleanIcon.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    TextBox textBox = (TextBox) hPanel.getWidget(0);
                    textBox.setText("");
                    ((GWTInput) gwtFormElement).setDate(null);
                    ((GWTInput) gwtFormElement).setFolder(new GWTFolder());
                }
            });
            cleanIcon.setStyleName("okm-Hyperlink");
            hPanel.add(Util.hSpace("5"));
            hPanel.add(cleanIcon);
            cleanIcon.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly())); // read only

            setRowWordWarp(row, 2, true);
        }

    } else if (gwtFormElement instanceof GWTSuggestBox) {
        HorizontalPanel hPanel = new HorizontalPanel();
        final GWTSuggestBox suggestBox = (GWTSuggestBox) gwtFormElement;
        final TextBox textBox = new TextBox(); // Create a widget for this property
        textBox.setWidth(gwtFormElement.getWidth());
        textBox.setStyleName("okm-Input");
        textBox.setReadOnly(true);
        textBox.setEnabled((!readOnly && !suggestBox.isReadonly()) || isSearchView); // read only 
        final HTML hiddenKey = new HTML("");
        hiddenKey.setVisible(false);

        if (suggestBox.getValue() != null) {
            hiddenKey.setHTML(suggestBox.getValue());
        }

        hPanel.add(textBox);
        hPanel.add(hiddenKey);
        final HTML value = new HTML("");
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, value);
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (textBox.isEnabled()) {
            final Image databaseRecordImage = new Image(OKMBundleResources.INSTANCE.databaseRecord());
            databaseRecordImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    List<String> tables = new ArrayList<String>();
                    if (suggestBox.getTable() != null) {
                        tables.add(suggestBox.getTable());
                    }

                    DatabaseRecord databaseRecord = new DatabaseRecord(hiddenKey, textBox);
                    // when any changes is done is fired search.metadataValueChanged();
                    DatabaseRecordSelectPopup drsPopup = new DatabaseRecordSelectPopup(suggestBox,
                            databaseRecord, search);
                    drsPopup.setWidth("300");
                    drsPopup.setHeight("220");
                    drsPopup.setStyleName("okm-Popup");
                    drsPopup.setPopupPosition(databaseRecordImage.getAbsoluteLeft(),
                            databaseRecordImage.getAbsoluteTop() - 2);
                    drsPopup.show();
                }
            });
            databaseRecordImage.setStyleName("okm-Hyperlink");
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(databaseRecordImage);
        }

        hWidgetProperties.put(propertyName, hPanel);
        if (!suggestBox.getValue().equals("")) {
            textBox.setValue(suggestBox.getText());
            value.setHTML(suggestBox.getText());
            hiddenKey.setHTML(suggestBox.getValue());

            /*List<String> tables = new ArrayList<String>();
                    
            if (suggestBox.getTable() != null) {
               tables.add(suggestBox.getTable());
            }
                    
            String formatedQuery = MessageFormat.format(suggestBox.getValueQuery(), suggestBox.getValue());
            keyValueService.getKeyValues(tables, formatedQuery, new AsyncCallback<List<GWTKeyValue>>() {
               @Override
               public void onSuccess(List<GWTKeyValue> result) {
                  if (!result.isEmpty()) {
             GWTKeyValue keyValue = result.get(0);
             textBox.setValue(keyValue.getValue());
             value.setHTML(keyValue.getValue());
             hiddenKey.setHTML(keyValue.getKey());
                  }
               }
                       
               @Override
               public void onFailure(Throwable caught) {
                  Main.get().showError("getKeyValues", caught);
               }
            }); */
        }

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);
            textBox.addKeyUpHandler(
                    Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler);
            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTCheckBox) {
        CheckBox checkBox = new CheckBox();
        checkBox.setEnabled((!readOnly && !((GWTCheckBox) gwtFormElement).isReadonly()) || isSearchView); // read only
        checkBox.setValue(((GWTCheckBox) gwtFormElement).getValue());
        hWidgetProperties.put(propertyName, checkBox);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");

        if (checkBox.getValue()) {
            table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.yes()));
        } else {
            table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.no()));
        }

        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");

        if (searchView) {
            final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
            removeImage.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    for (int row = 0; row < table.getRowCount(); row++) {
                        if (table.getWidget(row, 2).equals(removeImage)) {
                            table.removeRow(row);
                            break;
                        }
                    }

                    hWidgetProperties.remove(propertyName);
                    hPropertyParams.remove(propertyName);
                    formElementList.remove(gwtFormElement);
                    search.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (search != null) {
                checkBox.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        search.metadataValueChanged();
                    }
                });
            }

            setRowWordWarp(row, 3, true);
        } else {
            setRowWordWarp(row, 2, true);
        }
    } else if (gwtFormElement instanceof GWTSelect) {
        final GWTSelect gwtSelect = (GWTSelect) gwtFormElement;

        if (!gwtSelect.getOptionsData().equals("")
                && workflowVarMap.keySet().contains(gwtSelect.getOptionsData())) {
            gwtSelect.setOptions(getOptionsFromVariable(workflowVarMap.get(gwtSelect.getOptionsData())));
        }

        if (gwtSelect.getType().equals(GWTSelect.TYPE_SIMPLE)) {
            String selectedLabel = "";
            HorizontalPanel hPanel = new HorizontalPanel();
            ListBox listBox = new ListBox();
            listBox.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            hPanel.add(listBox);
            listBox.setStyleName("okm-Select");
            listBox.addItem("", ""); // Always we set and empty value

            for (GWTOption option : gwtSelect.getOptions()) {
                listBox.addItem(option.getLabel(), option.getValue());
                if (option.isSelected()) {
                    listBox.setItemSelected(listBox.getItemCount() - 1, true);
                    selectedLabel = option.getLabel();
                }
            }

            hWidgetProperties.put(propertyName, hPanel);

            table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
            table.setHTML(row, 1, selectedLabel);
            table.getCellFormatter().setWidth(row, 1, "100%");

            if (searchView) {
                final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
                removeImage.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        for (int row = 0; row < table.getRowCount(); row++) {
                            if (table.getWidget(row, 2).equals(removeImage)) {
                                table.removeRow(row);
                                break;
                            }
                        }

                        hWidgetProperties.remove(propertyName);
                        hPropertyParams.remove(propertyName);
                        formElementList.remove(gwtFormElement);
                        search.propertyRemoved();
                    }
                });
                removeImage.addStyleName("okm-Hyperlink");
                table.setWidget(row, 2, removeImage);
                table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

                if (search != null) {
                    listBox.addChangeHandler(new ChangeHandler() {
                        @Override
                        public void onChange(ChangeEvent event) {
                            search.metadataValueChanged();
                        }
                    });
                }

                setRowWordWarp(row, 3, true);
            } else {
                setRowWordWarp(row, 2, true);
            }

        } else if (gwtSelect.getType().equals(GWTSelect.TYPE_MULTIPLE)) {
            final HorizontalPanel hPanel = new HorizontalPanel();
            ListBox listMulti = new ListBox();
            listMulti.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            listMulti.setStyleName("okm-Select");
            listMulti.addItem("", ""); // Always we set and empty value

            // Table for values
            FlexTable tableMulti = new FlexTable();

            Button addButton = new Button(Main.i18n("button.add"), new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                    FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                    ListBox listMulti = (ListBox) hPanel.getWidget(2);
                    Button addButton = (Button) hPanel.getWidget(4);

                    if (listMulti.getSelectedIndex() > 0) {
                        final HTML htmlValue = new HTML(listMulti.getValue(listMulti.getSelectedIndex()));
                        int rowTableMulti = tableMulti.getRowCount();
                        Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());

                        removeImage.addClickHandler(new ClickHandler() {
                            @Override
                            public void onClick(ClickEvent event) {
                                Widget sender = (Widget) event.getSource();
                                HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                                FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                                ListBox listMulti = (ListBox) hPanel.getWidget(2);
                                Button addButton = (Button) hPanel.getWidget(4);
                                String value = htmlValue.getText();
                                String optionLabel = "";

                                for (Iterator<GWTOption> itOptions = gwtSelect.getOptions()
                                        .iterator(); itOptions.hasNext();) {
                                    GWTOption option = itOptions.next();
                                    if (option.getValue().equals(htmlValue.getText())) {
                                        optionLabel = option.getLabel();
                                        break;
                                    }
                                }

                                listMulti.addItem(optionLabel, value);
                                listMulti.setVisible(true);
                                addButton.setVisible(true);

                                // Looking for row to delete
                                for (int i = 0; i < tableMulti.getRowCount(); i++) {
                                    if (tableMulti.getWidget(i, 1).equals(sender)) {
                                        tableMulti.removeRow(i);
                                    }
                                }

                                if (search != null) {
                                    search.metadataValueChanged();
                                }
                            }
                        });
                        removeImage.setStyleName("okm-Hyperlink");

                        tableMulti.setWidget(rowTableMulti, 0, htmlValue);
                        tableMulti.setWidget(rowTableMulti, 1, removeImage);
                        tableMulti.setHTML(rowTableMulti, 2,
                                listMulti.getItemText(listMulti.getSelectedIndex()));

                        setRowWordWarp(tableMulti, rowTableMulti, 2, true);
                        listMulti.removeItem(listMulti.getSelectedIndex());
                        htmlValue.setVisible(false);

                        if (listMulti.getItemCount() <= 1) {
                            listMulti.setVisible(false);
                            addButton.setVisible(false);
                        }

                        if (search != null) {
                            search.metadataValueChanged();
                        }
                    }
                }
            });

            addButton.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only
            addButton.setStyleName("okm-AddButton");

            hPanel.add(tableMulti);
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(listMulti);
            hPanel.add(new HTML("&nbsp;"));
            hPanel.add(addButton);
            hPanel.setVisible(true);
            listMulti.setVisible(false);
            addButton.setVisible(false);
            hPanel.setCellVerticalAlignment(tableMulti, VerticalPanel.ALIGN_TOP);
            hPanel.setCellVerticalAlignment(listMulti, VerticalPanel.ALIGN_TOP);
            hPanel.setCellVerticalAlignment(addButton, VerticalPanel.ALIGN_TOP);
            hPanel.setHeight("100%");

            table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
            table.setWidget(row, 1, hPanel);
            table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
            table.getCellFormatter().setVerticalAlignment(row, 1, VerticalPanel.ALIGN_TOP);
            table.getCellFormatter().setWidth(row, 1, "100%");

            for (Iterator<GWTOption> itData = gwtSelect.getOptions().iterator(); itData.hasNext();) {
                final GWTOption option = itData.next();

                // Looks if there's some selected value
                if (option.isSelected()) {
                    int rowTableMulti = tableMulti.getRowCount();
                    HTML htmlValue = new HTML(option.getValue());

                    Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); // read only for this element goes at edit() logic
                    removeImage.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            Widget sender = (Widget) event.getSource();
                            HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName);
                            FlexTable tableMulti = (FlexTable) hPanel.getWidget(0);
                            ListBox listMulti = (ListBox) hPanel.getWidget(2);
                            Button addButton = (Button) hPanel.getWidget(4);

                            listMulti.addItem(option.getLabel(), option.getValue());
                            listMulti.setVisible(true);
                            addButton.setVisible(true);

                            // Looking for row to delete
                            for (int i = 0; i < tableMulti.getRowCount(); i++) {
                                if (tableMulti.getWidget(i, 1).equals(sender)) {
                                    tableMulti.removeRow(i);
                                }
                            }

                            if (search != null) {
                                search.metadataValueChanged();
                            }
                        }
                    });
                    removeImage.setStyleName("okm-Hyperlink");

                    tableMulti.setWidget(rowTableMulti, 0, htmlValue);
                    tableMulti.setWidget(rowTableMulti, 1, removeImage);
                    tableMulti.setHTML(rowTableMulti, 2, option.getLabel());
                    setRowWordWarp(tableMulti, rowTableMulti, 2, true);
                    htmlValue.setVisible(false);
                    removeImage.setVisible(false);
                } else {
                    listMulti.addItem(option.getLabel(), option.getValue());
                }
            }

            // Save panel
            hWidgetProperties.put(propertyName, hPanel);

            if (searchView) {
                final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon());
                removeImage.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        for (int row = 0; row < table.getRowCount(); row++) {
                            if (table.getWidget(row, 2).equals(removeImage)) {
                                table.removeRow(row);
                                break;
                            }
                        }

                        hWidgetProperties.remove(propertyName);
                        hPropertyParams.remove(propertyName);
                        formElementList.remove(gwtFormElement);
                        search.propertyRemoved();
                    }
                });
                removeImage.addStyleName("okm-Hyperlink");
                table.setWidget(row, 2, removeImage);
                table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

                // not implemented
                // textBox.addKeyUpHandler(Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler);
                setRowWordWarp(row, 3, true);
            } else {
                setRowWordWarp(row, 2, true);
            }
        }
    } else if (gwtFormElement instanceof GWTUpload) {
        final GWTUpload upload = (GWTUpload) gwtFormElement;
        HorizontalPanel hPanel = new HorizontalPanel();
        FileUpload fileUpload = new FileUpload();
        fileUpload.setStyleName("okm-Input");
        fileUpload.getElement().setAttribute("size", "" + upload.getWidth());
        final Anchor documentLink = new Anchor();

        // Setting document link by uuid
        if (upload.getDocumentUuid() != null && !upload.getDocumentUuid().equals("")) {
            repositoryService.getPathByUUID(upload.getDocumentUuid(), new AsyncCallback<String>() {
                @Override
                public void onSuccess(String result) {
                    documentService.get(result, new AsyncCallback<GWTDocument>() {
                        @Override
                        public void onSuccess(GWTDocument result) {
                            final String docPath = result.getPath();
                            documentLink.setText(result.getName());
                            documentLink.addClickHandler(new ClickHandler() {
                                @Override
                                public void onClick(ClickEvent event) {
                                    String path = docPath.substring(0, docPath.lastIndexOf("/"));
                                    CommonUI.openPath(path, docPath);
                                }
                            });
                        }

                        @Override
                        public void onFailure(Throwable caught) {
                            Main.get().showError("getDocument", caught);
                        }
                    });
                }

                @Override
                public void onFailure(Throwable caught) {
                    Main.get().showError("getPathByUUID", caught);
                }
            });
        }

        documentLink.setStyleName("okm-Hyperlink");
        hPanel.add(documentLink);
        hPanel.add(fileUpload);
        hWidgetProperties.put(propertyName, hPanel);
        table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>");
        table.setWidget(row, 1, new HTML(""));
        table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP);
        table.getCellFormatter().setWidth(row, 1, "100%");
        setRowWordWarp(row, 2, true);

        // If folderPath is null must initialize value
        if (upload.getFolderPath() == null || upload.getFolderPath().equals("")
                && upload.getFolderUuid() != null && !upload.getFolderUuid().equals("")) {
            repositoryService.getPathByUUID(upload.getFolderUuid(), new AsyncCallback<String>() {
                @Override
                public void onSuccess(String result) {
                    upload.setFolderPath(result);
                }

                @Override
                public void onFailure(Throwable caught) {
                    Main.get().showError("getPathByUUID", caught);
                }
            });
        }
    } else if (gwtFormElement instanceof GWTText) {
        HorizontalPanel hPanel = new HorizontalPanel();
        HTML title = new HTML("&nbsp;" + ((GWTText) gwtFormElement).getLabel() + "&nbsp;");
        title.setStyleName("okm-NoWrap");
        hPanel.add(Util.hSpace("10"));
        hPanel.add(title);
        hPanel.setCellWidth(title, ((GWTText) gwtFormElement).getWidth());
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
    } else if (gwtFormElement instanceof GWTSeparator) {
        HorizontalPanel hPanel = new HorizontalPanel();
        Image horizontalLine = new Image("img/transparent_pixel.gif");
        horizontalLine.setStyleName("okm-TopPanel-Line-Border");
        horizontalLine.setSize("10", "2px");
        Image horizontalLine2 = new Image("img/transparent_pixel.gif");
        horizontalLine2.setStyleName("okm-TopPanel-Line-Border");
        horizontalLine2.setSize("100%", "2px");
        HTML title = new HTML("&nbsp;" + ((GWTSeparator) gwtFormElement).getLabel() + "&nbsp;");
        title.setStyleName("okm-NoWrap");
        hPanel.add(horizontalLine);
        hPanel.add(title);
        hPanel.add(horizontalLine2);
        hPanel.setCellVerticalAlignment(horizontalLine, HasAlignment.ALIGN_MIDDLE);
        hPanel.setCellVerticalAlignment(horizontalLine2, HasAlignment.ALIGN_MIDDLE);
        hPanel.setCellWidth(horizontalLine2, ((GWTSeparator) gwtFormElement).getWidth());
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
    } else if (gwtFormElement instanceof GWTDownload) {
        HorizontalPanel hPanel = new HorizontalPanel();
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
        GWTDownload download = (GWTDownload) gwtFormElement;
        FlexTable downloadTable = new FlexTable();
        HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>");
        downloadTable.setWidget(0, 0, description);
        downloadTable.getFlexCellFormatter().setColSpan(0, 0, 2);

        for (final GWTNode node : download.getNodes()) {
            int downloadTableRow = downloadTable.getRowCount();
            final Anchor anchor = new Anchor("<b>" + node.getLabel() + "</b>", true);

            if (!node.getUuid().equals("")) {
                repositoryService.getPathByUUID(node.getUuid(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        folderService.isValid(result, new AsyncCallback<Boolean>() {
                            @Override
                            public void onSuccess(Boolean result) {
                                final boolean isFolder = result;
                                anchor.addClickHandler(new ClickHandler() {
                                    @Override
                                    public void onClick(ClickEvent event) {
                                        if (isFolder) {
                                            Util.downloadFileByUUID(node.getUuid(), "export");
                                        } else {
                                            Util.downloadFileByUUID(node.getUuid(), "");
                                        }
                                    }
                                });
                            }

                            @Override
                            public void onFailure(Throwable caught) {
                                Main.get().showError("getPathByUUID", caught);
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getPathByUUID", caught);
                    }
                });
            } else if (!node.getPath().equals("")) {
                repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        final String uuid = result;
                        folderService.isValid(node.getPath(), new AsyncCallback<Boolean>() {
                            @Override
                            public void onSuccess(Boolean result) {
                                final boolean isFolder = result;
                                anchor.addClickHandler(new ClickHandler() {
                                    @Override
                                    public void onClick(ClickEvent event) {
                                        if (isFolder) {
                                            Util.downloadFileByUUID(uuid, "export");
                                        } else {
                                            Util.downloadFileByUUID(uuid, "");
                                        }
                                    }
                                });
                            }

                            @Override
                            public void onFailure(Throwable caught) {
                                Main.get().showError("getPathByUUID", caught);
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getUUIDByPath", caught);
                    }
                });
            }

            anchor.setStyleName("okm-Hyperlink");
            downloadTable.setWidget(downloadTableRow, 0, new HTML("&nbsp;&nbsp;&nbsp;"));
            downloadTable.setWidget(downloadTableRow, 1, anchor);
        }

        hPanel.add(downloadTable);
    } else if (gwtFormElement instanceof GWTPrint) {
        HorizontalPanel hPanel = new HorizontalPanel();
        hWidgetProperties.put(propertyName, hPanel);
        table.setWidget(row, 0, hPanel);
        table.getFlexCellFormatter().setColSpan(row, 0, 2);
        GWTPrint print = (GWTPrint) gwtFormElement;
        FlexTable printTable = new FlexTable();
        HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>");
        printTable.setWidget(0, 0, description);
        printTable.getFlexCellFormatter().setColSpan(0, 0, 2);

        for (final GWTNode node : print.getNodes()) {
            int downloadTableRow = printTable.getRowCount();
            final Button downloadButton = new Button(Main.i18n("button.print"));

            if (!node.getUuid().equals("")) {
                downloadButton.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        Window.alert("Not available");
                    }
                });
            } else if (!node.getPath().equals("")) {
                repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() {
                    @Override
                    public void onSuccess(String result) {
                        //final String uuid = result;
                        downloadButton.addClickHandler(new ClickHandler() {
                            @Override
                            public void onClick(ClickEvent event) {
                                Window.alert("Not available");
                            }
                        });
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Main.get().showError("getUUIDByPath", caught);
                    }
                });
            }

            downloadButton.setStyleName("okm-DownloadButton");
            printTable.setWidget(downloadTableRow, 0,
                    new HTML("&nbsp;&nbsp;&nbsp;" + node.getLabel() + "&nbsp;&nbsp;"));
            printTable.setWidget(downloadTableRow, 1, downloadButton);
        }

        hPanel.add(printTable);
    }
}

From source file:com.ikon.frontend.client.widget.security.RoleScrollTable.java

License:Open Source License

/**
 * Adds new username permission row/*from  w ww. jav a 2s  . com*/
 * 
 * @param userName The role name value
 * @param permission The permission value
 * @param modified if need to mark as modified
 */
public void addRow(String roleName, Integer permission, boolean modified) {
    final int rows = dataTable.getRowCount();
    dataTable.insertRow(rows);
    dataTable.setHTML(rows, 0, roleName);

    if (modified) {
        dataTable.getCellFormatter().addStyleName(rows, 0, "bold");
    }

    CheckBox checkReadPermission = new CheckBox();
    CheckBox checkWritePermission = new CheckBox();
    CheckBox checkDeletePermission = new CheckBox();
    CheckBox checkSecurityPermission = new CheckBox();

    ClickHandler checkBoxReadListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_READ;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, 0), GWTPermission.READ,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, 0), GWTPermission.READ,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxWriteListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_WRITE;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, 0), GWTPermission.WRITE,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, 0), GWTPermission.WRITE,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxDeleteListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_DELETE;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, 0), GWTPermission.DELETE,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, 0), GWTPermission.DELETE,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxSecurityListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_SECURITY;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, 0), GWTPermission.SECURITY,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, 0), GWTPermission.SECURITY,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    checkReadPermission.addClickHandler(checkBoxReadListener);

    int col = 0;
    col++; // Name

    if ((permission & GWTPermission.READ) == GWTPermission.READ) {
        checkReadPermission.setValue(true);
        dataTable.setWidget(rows, col, checkReadPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkReadPermission.setValue(false);
        dataTable.setWidget(rows, col, checkReadPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkWritePermission.addClickHandler(checkBoxWriteListener);

    if ((permission & GWTPermission.WRITE) == GWTPermission.WRITE) {
        checkWritePermission.setValue(true);
        dataTable.setWidget(rows, col, checkWritePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkWritePermission.setValue(false);
        dataTable.setWidget(rows, col, checkWritePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkDeletePermission.addClickHandler(checkBoxDeleteListener);

    if ((permission & GWTPermission.DELETE) == GWTPermission.DELETE) {
        checkDeletePermission.setValue(true);
        dataTable.setWidget(rows, col, checkDeletePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkDeletePermission.setValue(false);
        dataTable.setWidget(rows, col, checkDeletePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkSecurityPermission.addClickHandler(checkBoxSecurityListener);

    if ((permission & GWTPermission.SECURITY) == GWTPermission.SECURITY) {
        checkSecurityPermission.setValue(true);
        dataTable.setWidget(rows, col, checkSecurityPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkSecurityPermission.setValue(false);
        dataTable.setWidget(rows, col, checkSecurityPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }
}

From source file:com.ikon.frontend.client.widget.security.UserScrollTable.java

License:Open Source License

/**
 * Adds new username permission row/*from   w w w  . j  a  va 2s. c  o m*/
 * 
 * @param userName The user name value
 * @param permission The permission value
 * @param modified If the permission has been modified
 */
public void addRow(GWTUser user, Integer permission, boolean modified) {
    final int rows = dataTable.getRowCount();
    dataTable.insertRow(rows);
    dataTable.setHTML(rows, 0, user.getUsername());

    if (modified) {
        dataTable.getCellFormatter().addStyleName(rows, 0, "bold");
    }

    CheckBox checkReadPermission = new CheckBox();
    CheckBox checkWritePermission = new CheckBox();
    CheckBox checkDeletePermission = new CheckBox();
    CheckBox checkSecurityPermission = new CheckBox();

    ClickHandler checkBoxReadListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_READ;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.READ,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.READ,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxWriteListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_WRITE;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.WRITE,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.WRITE,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxDeleteListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_DELETE;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.DELETE,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.DELETE,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    ClickHandler checkBoxSecurityListener = new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            flag_property = PROPERTY_SECURITY;
            Widget sender = (Widget) event.getSource();

            // Actions are inverse to check value because before user
            // perform check on checkbox
            // it has inverse value
            if (((CheckBox) sender).getValue()) {
                grant(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.SECURITY,
                        Main.get().securityPopup.recursive.getValue());
            } else {
                revoke(dataTable.getText(rows, numberOfColumns - 1), GWTPermission.SECURITY,
                        Main.get().securityPopup.recursive.getValue());
            }
        }
    };

    checkReadPermission.addClickHandler(checkBoxReadListener);

    int col = 0;
    col++; // Name

    if ((permission & GWTPermission.READ) == GWTPermission.READ) {
        checkReadPermission.setValue(true);
        dataTable.setWidget(rows, col, checkReadPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkReadPermission.setValue(false);
        dataTable.setWidget(rows, col, checkReadPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkWritePermission.addClickHandler(checkBoxWriteListener);

    if ((permission & GWTPermission.WRITE) == GWTPermission.WRITE) {
        checkWritePermission.setValue(true);
        dataTable.setWidget(rows, col, checkWritePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkWritePermission.setValue(false);
        dataTable.setWidget(rows, col, checkWritePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkDeletePermission.addClickHandler(checkBoxDeleteListener);

    if ((permission & GWTPermission.DELETE) == GWTPermission.DELETE) {
        checkDeletePermission.setValue(true);
        dataTable.setWidget(rows, col, checkDeletePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkDeletePermission.setValue(false);
        dataTable.setWidget(rows, col, checkDeletePermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    checkSecurityPermission.addClickHandler(checkBoxSecurityListener);

    if ((permission & GWTPermission.SECURITY) == GWTPermission.SECURITY) {
        checkSecurityPermission.setValue(true);
        dataTable.setWidget(rows, col, checkSecurityPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    } else {
        checkSecurityPermission.setValue(false);
        dataTable.setWidget(rows, col, checkSecurityPermission);
        dataTable.getCellFormatter().setHorizontalAlignment(rows, col++, HasAlignment.ALIGN_CENTER);
    }

    dataTable.setHTML(rows, col, user.getId());
    dataTable.getCellFormatter().setVisible(rows, col++, false);
}

From source file:com.jitlogic.zico.client.views.admin.UserEditDialog.java

License:Open Source License

public UserEditDialog(UserService userService, UserInfo user, UserManagementPanel panel,
        List<String> availableHosts, MessageDisplay md) {
    window = new PopupWindow(ourUiBinder.createAndBindUi(this));

    this.userService = userService;
    this.editedUser = user != null ? user : new UserInfo();
    this.newUser = user == null;
    this.panel = panel;
    this.md = md;

    window.setCaption(user != null ? "Edit user: " + user.getUserName() : "New user");

    if (user != null) {
        txtUsername.setText(user.getUserName());
        txtUsername.setEnabled(false);//from  w  ww  . j  av  a 2 s  .com
        txtRealName.setText(user.getRealName());
        chkIsAdmin.setValue(user.isAdmin());
    }

    Set<String> hosts = new HashSet<String>();

    if (user != null && user.getAllowedHosts() != null) {
        hosts.addAll(user.getAllowedHosts());
    }

    for (String host : availableHosts) {
        CheckBox chkHost = new CheckBox();
        chkHost.setValue(hosts.contains(host));
        selectedHosts.put(host, chkHost);
        HorizontalPanel hp = new HorizontalPanel();
        hp.add(chkHost);
        hp.add(new Label(host));
        hostList.add(hp);
    }

    window.resizeAndCenter(250, 350);
}