package org.activiti.designer.property.ui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.TableItem; public class FormValueEditor extends TableFieldEditor { protected Composite parent; public FormValueEditor(String key, Composite parent) { super(key, "", new String[] {"Id", "Name"}, new int[] {200, 200}, parent); this.parent = parent; } public void initialize(String formValues) { removeTableItems(); if(formValues == null || formValues.length() == 0) return; String[] formValueList = formValues.split(";"); for (String formValue : formValueList) { addTableItem(formValue); } } @Override protected String createList(String[][] items) { return null; } @Override protected String[][] parseString(String string) { return null; } protected void addTableItem(String formValue) { if(table != null) { String[] valueObject = formValue.split(":"); TableItem tableItem = new TableItem(table, SWT.NONE); tableItem.setText(0, valueObject[0]); tableItem.setText(1, valueObject[1]); } } @Override protected String[] getNewInputObject() { FormValueDialog dialog = new FormValueDialog(parent.getShell(), getItems()); dialog.open(); if(dialog.id != null && dialog.id.length() > 0) { return new String[] { dialog.id, dialog.name}; } else { return null; } } @Override protected String[] getChangedInputObject(TableItem item) { FormValueDialog dialog = new FormValueDialog(parent.getShell(), getItems(), item.getText(0), item.getText(1)); dialog.open(); if(dialog.id != null && dialog.id.length() > 0) { return new String[] { dialog.id, dialog.name}; } else { return null; } } @Override protected void removedItem(int index) { // TODO Auto-generated method stub } }