From b74164635be591607cfb5332e6003ca4ef876000 Mon Sep 17 00:00:00 2001 From: Lukas Ladenberger <lukas.ladenberger@googlemail.com> Date: Tue, 6 Nov 2012 14:22:06 +0100 Subject: [PATCH] fixed PROBPLUGIN-33 --- .../wizard/SchedulerObjectDialog.java | 67 ------------------- .../wizard/WizardExecuteScheduler.java | 25 +++++-- 2 files changed, 20 insertions(+), 72 deletions(-) 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 af904c2f..58f0627c 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 87d3d3f1..81680ee3 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(); + } } -- GitLab