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.mcherm.zithiacharsheet.client.SettableBooleanField.java

License:Apache License

public SettableBooleanField(String text, final SettableBooleanValue value) {
    final CheckBox checkBox = new CheckBox(text);
    checkBox.setValue(value.getValue());
    disposer.observe(value, new Observer() {
        public void onChange() {
            checkBox.setValue(value.getValue());
        }//from   www . j  a v a  2s  . co m
    });
    checkBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
        public void onValueChange(ValueChangeEvent<Boolean> event) {
            value.setValue(event.getValue());
        }
    });
    this.add(checkBox);
}

From source file:com.metadot.book.connectr.client.view.FriendListView.java

License:Apache License

private void displayFriends(List<String> friends) {

    int i = 0;/*from w  w  w.j  a v  a 2 s .  co m*/
    friendsTable.clear();

    if (friends == null || friends.size() == 0) {
        loadingLabel.setText("No friends.");
        return;
    }

    loadingLabel.setVisible(false);
    for (final String friend : friends) {
        CheckBox checkBoxName = new CheckBox(truncateLongName(friend));
        checkBoxName.setValue(true);
        final Image propertyButton = new Image(GlobalResources.RESOURCE.propertyButton());
        propertyButton.setStyleName("pointer");

        friendsTable.setWidget(i, 0, checkBoxName);
        friendsTable.setWidget(i, 1, propertyButton);
        friendsTable.getCellFormatter().addStyleName(i, 0, "friendNameInList");
        i++;
    }

}

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

License:Open Source License

/**
 * selectAllMassive/*from  w ww  .j ava 2  s .c  om*/
 */
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)));
    }
    evaluateMergePdf();
}

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

License:Open Source License

/**
 * selectAllDocumentsMassive//from  w w  w.  j a  v  a 2  s  .  c  o  m
 */
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)));
        }
    }
    evaluateMergePdf();
}

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

License:Open Source License

/**
 * removeAllMassive//from w w w  . j  a va 2 s . co  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);
    }
    evaluateMergePdf();
}

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

License:Open Source License

/**
 * drawFormElement/*from ww  w.ja v a2 s.  com*/
 */
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 || isMassiveView) {
            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);
                    propertyHandler.propertyRemoved();
                }
            });

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

            if (propertyHandler != null) {
                textArea.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        propertyHandler.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 (propertyHandler != null) {
                        propertyHandler.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.createClipboardButton(containerName, url);
            } 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, propertyHandler);
                }
            });

            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 || isMassiveView) {
            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 (propertyHandler != null) {
                                propertyHandler.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);
                    propertyHandler.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (propertyHandler != null) {
                textBox.addKeyUpHandler(new KeyUpHandler() {
                    @Override
                    public void onKeyUp(KeyUpEvent event) {
                        propertyHandler.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, propertyHandler);
                    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 || isMassiveView) {
            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);
                    propertyHandler.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 || isMassiveView) {
            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);
                    propertyHandler.propertyRemoved();
                }
            });
            removeImage.addStyleName("okm-Hyperlink");
            table.setWidget(row, 2, removeImage);
            table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

            if (propertyHandler != null) {
                checkBox.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        propertyHandler.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();
                }
            }

            // Mark suggested
            if (!gwtSelect.getSuggestion().equals("")) {
                NodeList<Element> nodeList = listBox.getElement().getElementsByTagName("option");
                int count = 1; // 0 is empty value
                for (GWTOption option : gwtSelect.getOptions()) {
                    if (nodeList.getLength() < (count)) {
                        break;
                    }
                    if (option.isSuggested()) {
                        nodeList.getItem(count).setClassName("okm-Option-Suggested");
                    } else {
                        nodeList.getItem(count).setClassName("okm-Option");
                    }
                    count++;
                }
            }

            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 || isMassiveView) {
                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);
                        propertyHandler.propertyRemoved();
                    }
                });
                removeImage.addStyleName("okm-Hyperlink");
                table.setWidget(row, 2, removeImage);
                table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP);

                if (propertyHandler != null) {
                    listBox.addChangeHandler(new ChangeHandler() {
                        @Override
                        public void onChange(ChangeEvent event) {
                            propertyHandler.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 (propertyHandler != null) {
                                    propertyHandler.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 (propertyHandler != null) {
                            propertyHandler.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 (propertyHandler != null) {
                                propertyHandler.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());
                }
            }

            // Mark suggested
            if (!gwtSelect.getSuggestion().equals("")) {
                NodeList<Element> nodeList = listMulti.getElement().getElementsByTagName("option");
                int count = 1; // 0 is empty value
                for (GWTOption option : gwtSelect.getOptions()) {
                    // In list only are shown not selected items
                    if (!option.isSelected()) {
                        if (nodeList.getLength() < (count)) {
                            break;
                        }
                        if (option.isSuggested()) {
                            nodeList.getItem(count).setClassName("okm-Option-Suggested");
                        } else {
                            nodeList.getItem(count).setClassName("okm-Option");
                        }
                        count++;
                    }
                }
            }

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

            if (searchView || isMassiveView) {
                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);
                        propertyHandler.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) {
                                    CommonUI.openPath(Util.getParent(docPath), 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) {
                        Util.print(node.getUuid());
                    }
                });
            } 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) {
                                Util.print(uuid);
                            }
                        });
                    }

                    @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.openkm.frontend.client.widget.security.RoleScrollTable.java

License:Open Source License

/**
 * Adds new username permission row/*ww w .  j a v  a 2  s  . co  m*/
 * 
 * @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.openkm.frontend.client.widget.security.UserScrollTable.java

License:Open Source License

/**
 * Adds new username permission row//  ww  w. j a  v  a2s  .  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.palantir.gerrit.gerritci.ui.client.JobPanels.java

License:Apache License

public static void addCommonFields(HTMLPanel p) {
    CheckBox junitEnabled = new CheckBox();
    junitEnabled.setName("junitEnabled");
    junitEnabled.setValue(true);
    TextBox junitPath = new TextBox();
    junitPath.setText("build/test-results/*.xml");
    junitPath.setName("junitPath");
    TextBox timeoutMinutes = new TextBox();
    timeoutMinutes.setText("30");
    timeoutMinutes.setName("timeoutMinutes");
    p.addAndReplaceElement(junitEnabled, "junitEnabled");
    p.addAndReplaceElement(junitPath, "junitPath");
    p.addAndReplaceElement(timeoutMinutes, "timeoutMinutes");
}

From source file:com.palantir.gerrit.gerritci.ui.client.JobPanels.java

License:Apache License

public static HTMLPanel showJob(JenkinsJob j) {
    String name = j.getName();/*w w w.  j  av a  2s .c  o m*/
    HTMLPanel p = new HTMLPanel("");
    if (j.getType().equals("cron"))
        p = new HTMLPanel(GerritCiPlugin.cronPanel.toString());
    else if (j.getType().equals("publish"))
        p = new HTMLPanel(GerritCiPlugin.publishJobPanel.toString());
    else if (j.getType().equals("verify"))
        p = new HTMLPanel(GerritCiPlugin.verifyJobPanel.toString());
    else
        return null;
    TextBox jobName = new TextBox();
    jobName.setName("jobName");
    jobName.setText(name);
    jobName.setVisible(false);
    Label jobNameLabel = new Label("Job Id: " + name);
    p.addAndReplaceElement(jobNameLabel, "jobIdLabel");
    p.add(jobName);
    TextBox jobType = new TextBox();
    jobType.setName("jobType");
    jobType.setText(j.getType());
    jobType.setVisible(false);
    p.add(jobType);

    int numOfParams = j.getItems().length();

    for (int i = 0; i < numOfParams; i++) {
        JobParam jp = j.getItems().get(i);
        String field = jp.getField();
        String value = jp.getVal();
        if (field.endsWith("Enabled")) {
            CheckBox cb = new CheckBox();
            cb.setName(field);
            cb.setValue(Boolean.valueOf(value));
            if (p.getElementById(field) != null)
                p.addAndReplaceElement(cb, field);
            else {
                cb.setVisible(false);
                p.add(cb);
            }
        } else {
            TextBox tb = new TextBox();
            tb.setName(field);
            tb.setText(makeXMLReadeable(value));
            if (p.getElementById(field) != null)
                p.addAndReplaceElement(tb, field);
            else {
                tb.setVisible(false);
                p.add(tb);
            }
        }
    }
    p.setVisible(true);
    return p;
}