List of usage examples for com.google.gwt.user.client.ui ListBox setEnabled
public void setEnabled(boolean enabled)
From source file:com.google.gwt.sample.stockwatcher.client.SitePage.java
private static void setControlTypeLBChangeHandlers(final ListBox lb) { lb.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent evenet) { lb.setEnabled(false); Utility.newRequestObj().actuatorSetControlType(lb.getTitle(), lb.getSelectedItemText(), new AsyncCallback<String>() { public void onFailure(Throwable caught) { lb.setSelectedIndex(Integer.parseInt(lb.getName())); lb.setEnabled(true); }//from www . jav a2s .co m public void onSuccess(String result) { lb.setName(String.valueOf(lb.getSelectedIndex())); lb.setEnabled(true); } }); } }); }
From source file:com.google.sampling.experiential.client.MonthlyPanel.java
License:Open Source License
private void toggleDayOfMonthDayOfWeekPanels(final SignalScheduleDAO schedule, final ListBox listBox, final ListBox nth, final WeekDayPanel weekDayPanel, boolean enabled) { listBox.setEnabled(!enabled); nth.setEnabled(enabled);//from w w w. j av a 2s.co m weekDayPanel.setEnabled(enabled); schedule.setByDayOfMonth(!enabled); }
From source file:com.ikon.frontend.client.widget.form.FormManager.java
License:Open Source License
/** * drawFormElement// w w w . j a va 2s . c o m */ 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(" "); 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(" ↔ ")); 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(" ")); 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(" ")); hPanel.add(listMulti); hPanel.add(new HTML(" ")); 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(" " + ((GWTText) gwtFormElement).getLabel() + " "); 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(" " + ((GWTSeparator) gwtFormElement).getLabel() + " "); 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(" ")); 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(" " + node.getLabel() + " ")); printTable.setWidget(downloadTableRow, 1, downloadButton); } hPanel.add(printTable); } }
From source file:com.openkm.frontend.client.widget.form.FormManager.java
License:Open Source License
/** * drawFormElement// w w w. j a v a 2 s .c o m */ 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(" "); 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(" ↔ ")); 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(" ")); 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(" ")); hPanel.add(listMulti); hPanel.add(new HTML(" ")); 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(" " + ((GWTText) gwtFormElement).getLabel() + " "); 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(" " + ((GWTSeparator) gwtFormElement).getLabel() + " "); 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(" ")); 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(" " + node.getLabel() + " ")); printTable.setWidget(downloadTableRow, 1, downloadButton); } hPanel.add(printTable); } }
From source file:edu.ucdenver.bios.glimmpseweb.client.guided.GaussianCovariateCovariancePanel.java
License:Open Source License
/** * Copy the currently displayed values across all repeated measurements *//* w ww . j a va 2 s. co m*/ private void setEqualCorrelationForRepeatedMeasures() { int totalResponseVariables = studyDesignContext.getValidResponseVariableCount(); int totalResponses = studyDesignContext.getValidTotalResponsesCount(); // populate the entire sigmaYG matrix with the appropriate values if (totalResponseVariables > 0) { for (int row = 0; row < totalResponses; row += totalResponseVariables) { if (row != currentRowOffset) { for (int responseIdx = 0; responseIdx < totalResponseVariables; responseIdx++) { studyDesignContext.setCovariateOutcomesCovarianceValue(this, row + responseIdx, 0, studyDesignContext .getCovariateOutcomesCovarianceValue(currentRowOffset + responseIdx, 0)); // sigmaYGData[row+responseIdx][0] = sigmaYGData[currentRowOffset+responseIdx][0]; } } } // now reset the view to the first time point and disable the repeated measures drop down for (int i = 0; i < repeatedMeasuresTable.getRowCount(); i++) { ListBox lb = (ListBox) repeatedMeasuresTable.getWidget(i, LISTBOX_COLUMN); lb.setSelectedIndex(0); lb.setEnabled(false); } updateMatrixView(); } }
From source file:edu.ucdenver.bios.glimmpseweb.client.guided.GaussianCovariateCovariancePanel.java
License:Open Source License
/** * Enable the repeated measures dropdown lists *///from w w w.j ava 2 s.co m private void enableUnequalCorrelationForRepeatedMeasures() { // reenable the repeated measures dropdowns for (int i = 0; i < repeatedMeasuresTable.getRowCount(); i++) { ListBox lb = (ListBox) repeatedMeasuresTable.getWidget(i, LISTBOX_COLUMN); lb.setEnabled(true); } }
From source file:eml.studio.client.ui.widget.panel.CommonParameterPanel.java
License:Open Source License
protected void initGrid(int offset, boolean editable) { List<Parameter> params = widget.getProgramConf().getParameters(); if (params.size() > 0) paramsGrid.setVisible(true);/*from w w w.j av a 2 s . c om*/ //show the parameter setting boxes for (int i = 0; i < params.size(); i++) { final Parameter sParameter = params.get(i); paramsGrid.setWidget(offset + i + 1, 0, new Label(sParameter.getParaName())); paramsGrid.setWidget(offset + i + 1, 1, new Label(sParameter.getParamType())); if (sParameter.getParamType().equals("Boolean")) { // add a ListBox final ListBox box = new ListBox(); box.addItem("false"); box.addItem("true"); if (sParameter.getParamValue().equals("true")) box.setSelectedIndex(1); else box.setSelectedIndex(0); box.setTabIndex(i); box.setEnabled(editable); paramsGrid.setWidget(offset + i + 1, 2, box); paramBoxs.add(box); } else { // add a TextBox for parameter input final TextBox box = new TextBox(); box.setText(sParameter.getParamValue()); box.setSize("95%", "100%"); box.setStyleName("okTextbox"); box.setEnabled(editable); box.setTabIndex(i); paramsGrid.setWidget(offset + i + 1, 2, box); paramBoxs.add(box); } } paramsGrid.setCellPadding(5); this.add(paramsGrid); }
From source file:fr.gael.dhus.gwt.client.page.RegisterPage.java
License:Open Source License
private static void enableAll(boolean enabled, boolean reset) { TextBox mail = TextBox.wrap(RootPanel.get("register_mail").getElement()); TextBox confirmMail = TextBox.wrap(RootPanel.get("register_mail_confirm").getElement()); TextBox firstname = TextBox.wrap(RootPanel.get("register_firstname").getElement()); TextBox lastname = TextBox.wrap(RootPanel.get("register_lastname").getElement()); TextBox username = TextBox.wrap(RootPanel.get("register_username").getElement()); PasswordTextBox password = PasswordTextBox.wrap(RootPanel.get("register_password").getElement()); PasswordTextBox confirmPassword = PasswordTextBox .wrap(RootPanel.get("register_password_confirm").getElement()); TextBox country = TextBox.wrap(RootPanel.get("register_country").getElement()); ListBox domain = ListBox.wrap(RootPanel.get("register_domain").getElement()); TextBox subDomain = TextBox.wrap(RootPanel.get("register_subDomain").getElement()); ListBox usage = ListBox.wrap(RootPanel.get("register_usage").getElement()); TextBox subUsage = TextBox.wrap(RootPanel.get("register_subUsage").getElement()); mail.setEnabled(enabled);/*from w ww.ja v a 2 s .c om*/ confirmMail.setEnabled(enabled); firstname.setEnabled(enabled); lastname.setEnabled(enabled); username.setEnabled(enabled); password.setEnabled(enabled); confirmPassword.setEnabled(enabled); country.setEnabled(enabled); domain.setEnabled(enabled); subDomain.setEnabled(enabled); usage.setEnabled(enabled); subUsage.setEnabled(enabled); }
From source file:javawars.client.pages.RobotPage.java
License:Open Source License
RobotPage(final Robot robot, final Workshop workshop) { super(robot.getName()); this.robot = robot; this.workshop = workshop; /**/*from www . j a v a 2s .co m*/ * The robot label - displayed in a side menu. */ robotLabel = new Composite() { private VerticalPanel mainPanel = new VerticalPanel(); { FlexTable table = new FlexTable(); table.setWidget(0, 0, SpacerFactory.getHTMLSpacer(100, 0)); table.setWidget(0, 1, SpacerFactory.getHTMLSpacer(100, 0)); Label robotName = new Label(robot.getName()); robotName.setStyleName("RobotName"); table.setWidget(1, 0, robotName); table.setText(1, 1, "" + robot.getScore()); table.setText(2, 0, "" + DateFormatter.extractDate(robot.getCreationDate())); table.setText(2, 1, "" + DateFormatter.extractDate(robot.getModificationDate())); mainPanel.add(table); table.setStyleName("Table"); mainPanel.setStyleName("RobotLabel"); initWidget(mainPanel); } }; /** * Content of the statistics subpage */ statisticsContent = new Composite() { private VerticalPanel mainPanel = new VerticalPanel(); { mainPanel.add(new HTML("<h2>" + robot.getName() + "</h2>")); final FlexTable table = new FlexTable(); SpacerFactory.adjustFlexTable(table, 120, 50, 50, 120, 50, 50); table.setText(1, 0, "Data utworzenia:"); table.setText(1, 1, "" + DateFormatter.extractDateAndHour(robot.getCreationDate())); table.setText(1, 3, "Ostatnia modyfikacja: "); table.setText(1, 4, "" + DateFormatter.extractDateAndHour(robot.getModificationDate())); table.setText(2, 0, "Punkty: "); table.setText(2, 1, "" + robot.getScore()); // temporary commenting out - the 'choose' button doesn't get back // when another robot is chosen as a representant //if (robot.isRepresentant() == false) { table.setWidget(3, 0, SpacerFactory.getHTMLSpacer(1, 15)); table.setText(4, 0, "Ustaw jako reprezentanta:"); final Button representButton = new Button("reprezentant"); table.setWidget(4, 1, representButton); final AsyncCallback representCallback = new AsyncCallback() { public void onFailure(Throwable arg0) { representButton.setEnabled(true); } public void onSuccess(Object arg0) { representButton.setEnabled(true); } }; representButton.addClickListener(new ClickListener() { public void onClick(Widget arg0) { representButton.setEnabled(false); DataProvider.getInstance().getService().selectAsRepresentant(robot.getName(), representCallback); } }); // } table.setWidget(5, 0, SpacerFactory.getHTMLSpacer(1, 15)); table.setText(6, 0, "Usu robota: "); final Button deleteButton = new Button("usu"); table.setWidget(6, 1, deleteButton); final AsyncCallback deleteCallback = new AsyncCallback() { public void onFailure(Throwable arg0) { Window.alert("Wystpi nieznany bd."); deleteButton.setEnabled(true); } public void onSuccess(Object arg0) { History.newItem("Workshop"); workshop.removeChildPage(getUrl()); deleteButton.setEnabled(true); } }; deleteButton.addClickListener(new ClickListener() { public void onClick(Widget arg0) { deleteButton.setEnabled(false); DataProvider.getInstance().getService().deleteRobot(robot.getName(), deleteCallback); } }); mainPanel.add(table); initWidget(mainPanel); } }; /** * The composite which will be used as a content in the Edit subpage */ editContent = new Composite() { private final HTML codeTextArea; private VerticalPanel mainPanel = new VerticalPanel(); { codeTextArea = new HTML("<textarea id='codeTextArea' " + "class='codepress java' " + "style='width: " + Math.max(300, Window.getClientWidth() - 250) + "px; " + "height: " + Math.max(300, Window.getClientHeight() - 300) + "px; '" + ">" + robot.getCode() + "</textarea>"); mainPanel.add(codeTextArea); final FlowPanel editors = new FlowPanel(); CheckBox useVi = new CheckBox("Edytor VI ", false); useVi.addClickListener(new ClickListener() { private boolean enabled = false; public void onClick(Widget arg0) { if (enabled == false) { enabled = true; DOM.getElementById("codeTextArea").setAttribute("onfocus", "editor(this);"); } else { enabled = false; DOM.getElementById("codeTextArea").setAttribute("onfocus", ";"); } } }); editors.add(useVi); // editors.add(SpacerFactory.getHTMLSpacer(20, 20)); final Button launchCodepress = new Button("Edytor CodePress"); launchCodepress.addClickListener(new ClickListener() { public void onClick(Widget arg0) { editors.setVisible(false); initializeCodePress(); } }); editors.add(launchCodepress); mainPanel.add(editors); final Button save = new Button("Zapisz"); final HTML compilerOutput = new HTML(); final AsyncCallback<String> processOutput = new AsyncCallback<String>() { String startingCode; { startingCode = robot.getCode(); } public void onFailure(Throwable arg0) { compilerOutput.setText("Bd poczenia z serwerem!"); save.setEnabled(true); } public void onSuccess(String output) { compilerOutput.setHTML("<pre>" + output + "</pre>"); robot.setCode(startingCode); save.setEnabled(true); } }; save.addClickListener(new ClickListener() { public native String getRobotCode() /*-{ return $wnd.codeTextArea.getCode(); }-*/; public native String storeRobotCode() /*-{ return $doc.getElementById("codeTextArea_cp").value = $wnd.codeTextArea.getCode() }-*/; public void onClick(Widget arg0) { save.setEnabled(false); if (editors.isVisible()) { DataProvider.getInstance().getService().updateRobotCode(robot.getName(), DOM.getElementById("codeTextArea").getPropertyString("value"), processOutput); } else { storeRobotCode(); DataProvider.getInstance().getService().updateRobotCode(robot.getName(), getRobotCode(), processOutput); } } }); mainPanel.add(save); mainPanel.add(compilerOutput); initWidget(mainPanel); } boolean initialized = false; @Override protected void onLoad() { ; } public native void initializeCodePress() /*-{ $wnd.CodePress.run(); }-*/; }; // content of the test subpage... testContent = new Composite() { private final ListBox robotList = new ListBox(true); private final VerticalPanel mainPanel = new VerticalPanel(); private final VerticalPanel matchViewerPanel = new VerticalPanel(); private final ListBox leaguesList = new ListBox(); { HTML testHeadline = new HTML("<h2>Testuj:</h2>"); Label testDescription = new Label("Wybierz z listy roboty, ktre " + "chcesz przetestowa na jednej planszy; Ctrl+klik - zaznaczenie wicej ni jednego robota. " + "Po dokonaniu wyboru nacini przycisk."); mainPanel.add(testHeadline); mainPanel.add(testDescription); mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10)); mainPanel.add(robotList); mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10)); HTML leagueHeadline = new HTML("<h3>Liga:</h3>"); Label leagueDescription = new Label("Wybierz w jakiej lidze chcesz dokona testu:"); mainPanel.add(leagueHeadline); mainPanel.add(leagueDescription); mainPanel.add(leaguesList); mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10)); final Button testButton = new Button("Testuj"); final AsyncCallback<MatchReport> testCallback = new AsyncCallback<MatchReport>() { public void onFailure(Throwable arg0) { Window.alert(("Wystpi nieznany bd.")); testButton.setEnabled(true); } public void onSuccess(MatchReport matchReport) { try { matchViewerPanel.clear(); MatchViewer matchViewer = new MatchViewerFast(); matchViewerPanel.add(matchViewer); matchViewer.show(matchReport.getXmlDescription()); testButton.setEnabled(true); } catch (Exception exception) { Window.alert("Wystpi nieznany bd podczas wywietlania przebiegu pojedynku!"); } } }; testButton.addClickListener(new ClickListener() { public void onClick(Widget arg0) { if (robotList.getSelectedIndex() == -1) { Window.alert("Prosz wybra przynajmniej jednego robota"); return; } testButton.setEnabled(false); // adding all the selected items of the listbox to one list List<String> robotNames = new LinkedList<String>(); int counter = 0; while (counter < robotList.getItemCount()) { if (robotList.isItemSelected(counter) == true) { robotNames.add(robotList.getItemText(counter)); } counter++; } // invoking the method on server DataProvider.getInstance().getService().testRobots(leaguesList.getSelectedIndex(), robotNames, testCallback); } }); mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10)); mainPanel.add(testButton); mainPanel.add(matchViewerPanel); initWidget(mainPanel); } // a boolean that provides us a lock for the listbox boolean robotListLocked = false; boolean leaguesListLocked = false; /** * Refreshes the content of the listBox; */ private void populateRobotListBox(List<Robot> list) { // if the list is locked, it means there already is an update // in progress; we don't need to update it after such a short // time, so we quit updating completely. if (robotListLocked == false) { robotListLocked = true; robotList.clear(); for (Robot r : list) { robotList.addItem(r.getName()); } robotListLocked = false; } } /** * Refreshes the content of the leaguesListBox; */ private void populateLeaguesListBox(List<League> list) { // if the list is locked, it means there already is an update // in progress; we don't need to update it after such a short // time, so we quit updating completely. if (leaguesListLocked == false) { leaguesListLocked = true; leaguesList.clear(); for (League l : list) { leaguesList.addItem(l.getName()); } leaguesListLocked = false; } } private final AsyncCallback<List<League>> processLeagueCallback = new AsyncCallback<List<League>>() { public void onFailure(Throwable exception) { Window.alert("Error, couldn't update leagues list."); } public void onSuccess(List<League> list) { populateLeaguesListBox(list); } }; @Override protected void onLoad() { populateRobotListBox(workshop.getRobotList()); DataProvider.getInstance().getService().getLeagues(processLeagueCallback); } }; // matchesContent matchesContent = new Composite() { private final List<MatchReport> matches = new ArrayList<MatchReport>(); private VerticalPanel mainPanel = new VerticalPanel(); { AsyncCallback<List<MatchReport>> processMatches = new AsyncCallback<List<MatchReport>>() { public void onFailure(Throwable arg0) { Window.alert("Wystpi bd."); } public void onSuccess(final List<MatchReport> matchReports) { mainPanel.clear(); mainPanel.add(new HTML("<h3>Ostatnie dziesi pojedynkw: </h3>")); mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20)); final ListBox matchesListBox = new ListBox(); matchesListBox.setVisibleItemCount(5); for (MatchReport m : matchReports) { matchesListBox.addItem(DateFormatter.extractDateAndHour(m.getDate())); } mainPanel.add(matchesListBox); mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20)); final VerticalPanel viewerPanel = new VerticalPanel(); mainPanel.add(viewerPanel); matchesListBox.addClickListener(new ClickListener() { public void onClick(Widget arg0) { matchesListBox.setEnabled(false); viewerPanel.clear(); viewerPanel.add(new Label("Prosz czeka")); MatchViewer mv = new MatchViewerFast(); viewerPanel.add(mv); mv.show(matchReports.get(matchesListBox.getSelectedIndex()).getXmlDescription()); viewerPanel.getWidget(0).removeFromParent(); matchesListBox.setEnabled(true); } }); } }; mainPanel.add(new Label("prosz czeka...")); DataProvider.getInstance().getService().fetchRobotMatchReports(robot.getName(), processMatches); initWidget(mainPanel); } }; // adding the subpages... addChild(new Statistics()); addChild(new Edit()); addChild(new Test()); addChild(new MatchReports()); }
From source file:org.bonitasoft.forms.client.view.widget.FormFieldWidget.java
License:Open Source License
/** * Create a {@link ListBox} widget/*from w w w . j av a 2 s . co m*/ * * @param widgetData * the widget data object * @param fieldValue * the widget value * @return a {@link ListBox} */ protected ListBox createListBox(final ReducedFormWidget widgetData, final FormFieldValue fieldValue) { final ListBox listBox = new ListBox(false); listBox.addChangeHandler(this); int index = 0; final String fieldValueStr = getStringValue(fieldValue); for (final ReducedFormFieldAvailableValue availableValue : widgetData.getAvailableValues()) { listBox.addItem(availableValue.getLabel(), availableValue.getValue()); if (availableValue.getValue() != null && availableValue.getValue().equals(fieldValueStr)) { listBox.setItemSelected(index, true); } index++; } listBox.setEnabled(!widgetData.isReadOnly()); return listBox; }