diff options
Diffstat (limited to 'src/com/ibm/ServerWizard2/view/ArrayDialogCellEditor.java')
-rw-r--r-- | src/com/ibm/ServerWizard2/view/ArrayDialogCellEditor.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/com/ibm/ServerWizard2/view/ArrayDialogCellEditor.java b/src/com/ibm/ServerWizard2/view/ArrayDialogCellEditor.java new file mode 100644 index 0000000..97d246c --- /dev/null +++ b/src/com/ibm/ServerWizard2/view/ArrayDialogCellEditor.java @@ -0,0 +1,38 @@ +package com.ibm.ServerWizard2.view; + +import org.eclipse.jface.viewers.DialogCellEditor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +import com.ibm.ServerWizard2.model.Field; + +public class ArrayDialogCellEditor extends DialogCellEditor { + private Field field; + + public ArrayDialogCellEditor(Composite parent,Field field) { + super(parent); + this.field=new Field(field); + } + + @Override + protected Object doGetValue() { + return field.value; + } + + @Override + protected void doSetValue(Object value) { + field.value=(String)value; + } + + @Override + protected Object openDialogBox(Control arg0) { + ArrayEditorDialog dlg = new ArrayEditorDialog(arg0.getShell(),SWT.NONE); + dlg.setData(field.value, field.array, field.type); + if (dlg.open()==0) { + this.markDirty(); + return dlg.getData(); + } + return null; + } +} |