diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java index af904c2fb0b042b4581c3df6c17ace2d41fa8111..58f0627cfc3d636fd2c249d7b8908947a499e153 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java @@ -98,13 +98,6 @@ public class SchedulerObjectDialog extends Dialog { column.getColumn().setWidth(100); column.setEditingSupport(new RandomModeEditingSupport(tableViewer)); - // column = new TableViewerColumn(tableViewer, SWT.NONE); - // column.getColumn().setText("Callback"); - // column.getColumn().setWidth(100); - // column - // .setEditingSupport(new ObserverCallbackEditingSupport( - // tableViewer)); - ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); tableViewer.setLabelProvider(new ObservableMapLabelProvider( @@ -112,15 +105,6 @@ public class SchedulerObjectDialog extends Dialog { contentProvider.getKnownElements(), new String[] { "command", "parameter", "maxrandom" })) { - @Override - public String getColumnText(final Object element, - final int columnIndex) { - // if (columnIndex == 2) { - // return "Edit"; - // } - return super.getColumnText(element, columnIndex); - } - @Override public Image getColumnImage(final Object element, final int columnIndex) { @@ -195,57 +179,6 @@ public class SchedulerObjectDialog extends Dialog { return animationScriptObject; } - // private class ObserverCallbackEditingSupport extends EditingSupport { - // - // public ObserverCallbackEditingSupport(ColumnViewer viewer) { - // super(viewer); - // } - // - // @Override - // protected boolean canEdit(Object element) { - // return true; - // } - // - // @Override - // protected CellEditor getCellEditor(Object element) { - // return new ObserverCallbackCellEditor((Composite) getViewer() - // .getControl(), (AnimationScriptStep) element); - // } - // - // @Override - // protected Object getValue(Object element) { - // return "Edit"; - // } - // - // @Override - // protected void setValue(Object element, Object value) { - // } - // - // } - - // private class ObserverCallbackCellEditor extends DialogCellEditor { - // - // private final AnimationScriptStep step; - // - // public ObserverCallbackCellEditor(final Composite parent, - // final AnimationScriptStep step) { - // super(parent); - // this.step = step; - // } - // - // @Override - // protected Object openDialogBox(final Control cellEditorWindow) { - // ObserverCallBackDialog dialog = new ObserverCallBackDialog( - // PlatformUI.getWorkbench().getActiveWorkbenchWindow() - // .getShell(), step, control); - // if (dialog.open() == Dialog.OK) { - // return getValue(); - // } - // return null; - // } - // - // } - private static class RandomModeEditingSupport extends EditingSupport { private CellEditor cellEditor; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java index 87d3d3f1dee27138e2b14e6ee586fb386e5576a7..81680ee37abd5991ef459a9c46da00c079364d65 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java @@ -196,6 +196,7 @@ public class WizardExecuteScheduler extends SchedulerWizard { private class AnimationScriptDialogCellEditor extends DialogCellEditor { private AnimationScriptObject animObj; + private AnimationScriptObject clonedObj; public AnimationScriptDialogCellEditor(Composite parent, AnimationScriptObject animObj) { @@ -205,13 +206,27 @@ public class WizardExecuteScheduler extends SchedulerWizard { @Override protected Object openDialogBox(Control cellEditorWindow) { - SchedulerObjectDialog dialog = new SchedulerObjectDialog( - PlatformUI.getWorkbench().getActiveWorkbenchWindow() - .getShell(), getBControl(), animObj); - if (dialog.open() == Dialog.OK) { + + SchedulerObjectDialog dialog = new SchedulerObjectDialog(PlatformUI + .getWorkbench().getActiveWorkbenchWindow().getShell(), + getBControl(), animObj); + + try { + clonedObj = animObj.clone(); + } catch (CloneNotSupportedException e) { + // TODO return some error?! return getValue(); } - return null; + + int status = dialog.open(); + if (status == Dialog.OK) { + return animObj; + } + + animObj.setSteps(clonedObj.getSteps()); + + return getValue(); + } }