Skip to content
Snippets Groups Projects
Commit 72553957 authored by Jens Bendisposto's avatar Jens Bendisposto
Browse files

Merge branch 'release/2.3.1'

parents abe00a72 014a8e5a
No related branches found
No related tags found
No related merge requests found
Showing
with 1726 additions and 1324 deletions
...@@ -16,10 +16,12 @@ import org.eclipse.jface.dialogs.MessageDialog; ...@@ -16,10 +16,12 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckboxCellEditor; import org.eclipse.jface.viewers.CheckboxCellEditor;
import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableFontProvider;
import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn; import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.wizard.WizardPage; import org.eclipse.jface.wizard.WizardPage;
...@@ -28,7 +30,6 @@ import org.eclipse.swt.events.SelectionAdapter; ...@@ -28,7 +30,6 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
...@@ -39,19 +40,24 @@ import org.eclipse.swt.widgets.Composite; ...@@ -39,19 +40,24 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import de.be4.classicalb.core.parser.BParser; import de.be4.classicalb.core.parser.BParser;
import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.EditorImageRegistry;
import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport;
import de.bmotionstudio.gef.editor.edit.TextEditingSupport; import de.bmotionstudio.gef.editor.edit.TextEditingSupport;
import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BControl;
import de.bmotionstudio.gef.editor.observer.Observer; import de.bmotionstudio.gef.editor.observer.Observer;
import de.bmotionstudio.gef.editor.observer.ObserverEvalObject;
import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.observer.SwitchChildCoordinates; import de.bmotionstudio.gef.editor.observer.SwitchChildCoordinates;
import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates; import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates;
import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper;
import de.bmotionstudio.gef.editor.util.WizardObserverUtil;
public class WizardObserverCSwitchCoordinates extends ObserverWizard { public class WizardObserverCSwitchCoordinates extends ObserverWizard {
private String lastChangedControlID;
private class ObserverCSwitchCoordinatesPage extends WizardPage { private class ObserverCSwitchCoordinatesPage extends WizardPage {
private TableViewer tableViewer; private TableViewer tableViewer;
...@@ -67,15 +73,38 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ...@@ -67,15 +73,38 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard {
Composite container = new Composite(parent, SWT.NONE); Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout(1, true)); container.setLayout(new GridLayout(1, true));
tableViewer = new TableViewer(container, SWT.BORDER tableViewer = WizardObserverUtil.createObserverWizardTableViewer(
| SWT.FULL_SELECTION); container, ToggleObjectCoordinates.class,
tableViewer.getTable().setLinesVisible(true); (ObserverWizard) getWizard());
tableViewer.getTable().setHeaderVisible(true); tableViewer
tableViewer.getTable().setLayoutData( .addSelectionChangedListener(new ISelectionChangedListener() {
new GridData(GridData.FILL_BOTH));
tableViewer.getTable().setFont( @Override
new Font(Display.getDefault(), new FontData("Arial", 10, public void selectionChanged(SelectionChangedEvent event) {
SWT.NONE))); IStructuredSelection selection = (IStructuredSelection) event
.getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement instanceof ObserverEvalObject) {
restorePreview();
ObserverEvalObject observerEvalObject = (ObserverEvalObject) firstElement;
BControl control = getBControl();
ToggleObjectCoordinates toggleObjectCoordinates = (ToggleObjectCoordinates) observerEvalObject;
String attributeX = AttributeConstants.ATTRIBUTE_X;
String attributeY = AttributeConstants.ATTRIBUTE_Y;
String x = toggleObjectCoordinates.getX();
String y = toggleObjectCoordinates.getY();
String controlID = toggleObjectCoordinates
.getBcontrol();
BControl bControl = control.getChild(controlID);
if (bControl != null) {
bControl.setAttributeValue(attributeX, x);
bControl.setAttributeValue(attributeY, y);
}
lastChangedControlID = controlID;
}
}
});
TableViewerColumn column = new TableViewerColumn(tableViewer, TableViewerColumn column = new TableViewerColumn(tableViewer,
SWT.NONE); SWT.NONE);
...@@ -156,7 +185,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ...@@ -156,7 +185,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard {
Button btRemove = new Button(comp, SWT.PUSH); Button btRemove = new Button(comp, SWT.PUSH);
btRemove.setText("Remove"); btRemove.setText("Remove");
btRemove.setImage(BMotionStudioImage btRemove.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_DELETE)); .getImage(EditorImageRegistry.IMG_ICON_DELETE_EDIT));
btRemove.addSelectionListener(new SelectionAdapter() { btRemove.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -172,7 +201,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ...@@ -172,7 +201,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard {
Button btAdd = new Button(comp, SWT.PUSH); Button btAdd = new Button(comp, SWT.PUSH);
btAdd.setText("Add"); btAdd.setText("Add");
btAdd.setImage(BMotionStudioImage btAdd.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_ADD)); .getImage(EditorImageRegistry.IMG_ICON_NEW_WIZ));
btAdd.addSelectionListener(new SelectionAdapter() { btAdd.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -196,6 +225,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ...@@ -196,6 +225,7 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard {
@Override @Override
protected Boolean prepareToFinish() { protected Boolean prepareToFinish() {
restorePreview();
if (((SwitchChildCoordinates) getObserver()).getToggleObjects().size() == 0) { if (((SwitchChildCoordinates) getObserver()).getToggleObjects().size() == 0) {
setObserverDelete(true); setObserverDelete(true);
} else { } else {
...@@ -213,6 +243,22 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ...@@ -213,6 +243,22 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard {
return true; return true;
} }
private void restorePreview() {
if (lastChangedControlID != null) {
BControl bControl = getBControl().getChild(lastChangedControlID);
if (bControl != null) {
bControl.restoreDefaultValue(AttributeConstants.ATTRIBUTE_X);
bControl.restoreDefaultValue(AttributeConstants.ATTRIBUTE_Y);
}
}
}
@Override
public boolean performCancel() {
restorePreview();
return super.performCancel();
}
@Override @Override
public Point getSize() { public Point getSize() {
return new Point(650, 500); return new Point(650, 500);
......
/**
* (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen,
* Heinrich Heine Universitaet Duesseldorf
* This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
* */
package de.bmotionstudio.gef.editor.observer.wizard;
import java.util.Arrays;
import org.eclipse.core.databinding.observable.list.WritableList;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.widgets.Display;
import de.bmotionstudio.gef.editor.BMotionStudioImage;
public class WizardObserverDeleteItemsAction extends Action {
private TableViewer viewer;
public WizardObserverDeleteItemsAction(TableViewer viewer) {
this.viewer = viewer;
setText("Delete selected items");
setImageDescriptor(BMotionStudioImage.getImageDescriptor(
"org.eclipse.ui", "$nl$/icons/full/etool16/delete_edit.gif"));
}
@Override
public void run() {
IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
Object[] lobjects = sel.toArray();
if (MessageDialog.openConfirm(Display.getDefault().getActiveShell(),
"Please confirm", "Do you realy want to delete these objects?")) {
WritableList list = (WritableList) viewer.getInput();
list.removeAll(Arrays.asList(lobjects));
}
}
}
/**
* (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen,
* Heinrich Heine Universitaet Duesseldorf
* This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
* */
package de.bmotionstudio.gef.editor.observer.wizard;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.dnd.DragSourceEvent;
import org.eclipse.swt.dnd.DragSourceListener;
public class WizardObserverDragListener implements DragSourceListener {
private final TableViewer viewer;
public WizardObserverDragListener(TableViewer viewer) {
this.viewer = viewer;
}
@Override
public void dragFinished(DragSourceEvent event) {
}
@Override
public void dragSetData(DragSourceEvent event) {
IStructuredSelection selection = (IStructuredSelection) viewer
.getSelection();
Object[] lobjects = selection.toArray();
event.data = lobjects;
}
@Override
public void dragStart(DragSourceEvent event) {
}
}
\ No newline at end of file
/**
* (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen,
* Heinrich Heine Universitaet Duesseldorf
* This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
* */
package de.bmotionstudio.gef.editor.observer.wizard;
import org.eclipse.core.databinding.observable.list.WritableList;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerDropAdapter;
import org.eclipse.swt.dnd.DropTargetEvent;
import org.eclipse.swt.dnd.TransferData;
import org.eclipse.swt.widgets.Display;
import de.bmotionstudio.gef.editor.observer.ObserverEvalObject;
public class WizardObserverDropListener extends ViewerDropAdapter {
private String observerName;
public WizardObserverDropListener(Viewer viewer, String observerName) {
super(viewer);
this.observerName = observerName;
}
@Override
public void drop(DropTargetEvent event) {
Object[] sourceSetAttributeObjects = (Object[]) event.data;
Object targetSetAttributeObject = determineTarget(event);
Object input = getViewer().getInput();
if (input instanceof WritableList) {
WritableList list = (WritableList) input;
for (Object sourceObject : sourceSetAttributeObjects) {
if (sourceObject instanceof ObserverEvalObject) {
ObserverEvalObject sourceEvalObject = (ObserverEvalObject) sourceObject;
if (sourceObject.getClass().equals(list.getElementType())) {
int indexOf = list.indexOf(targetSetAttributeObject);
if (indexOf == -1)
indexOf = 0;
ObserverEvalObject newElement = sourceEvalObject;
if (!list.remove(sourceEvalObject)) {
try {
newElement = sourceEvalObject.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
list.add(indexOf, newElement);
} else {
MessageDialog.openInformation(Display.getDefault()
.getActiveShell(),
"Drag and Drop is not supported",
"It is not possible to add an item of the type "
+ sourceEvalObject.getClass()
+ " to the observer \"" + observerName
+ "\".");
}
}
}
}
super.drop(event);
}
@Override
public boolean performDrop(Object data) {
return false;
}
@Override
public boolean validateDrop(Object target, int operation,
TransferData transferType) {
return true;
}
}
...@@ -16,6 +16,7 @@ import org.eclipse.core.databinding.observable.list.WritableList; ...@@ -16,6 +16,7 @@ import org.eclipse.core.databinding.observable.list.WritableList;
import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.core.databinding.observable.map.IObservableMap;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxViewerCellEditor; import org.eclipse.jface.viewers.ComboBoxViewerCellEditor;
import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.EditingSupport;
...@@ -36,7 +37,6 @@ import org.eclipse.swt.events.SelectionAdapter; ...@@ -36,7 +37,6 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
...@@ -44,7 +44,6 @@ import org.eclipse.swt.layout.GridLayout; ...@@ -44,7 +44,6 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.EditorImageRegistry;
...@@ -59,6 +58,7 @@ import de.bmotionstudio.gef.editor.observer.Observer; ...@@ -59,6 +58,7 @@ import de.bmotionstudio.gef.editor.observer.Observer;
import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper;
import de.bmotionstudio.gef.editor.scheduler.PredicateOperation; import de.bmotionstudio.gef.editor.scheduler.PredicateOperation;
import de.bmotionstudio.gef.editor.util.WizardObserverUtil;
public class WizardObserverListenOperationByPredicate extends ObserverWizard { public class WizardObserverListenOperationByPredicate extends ObserverWizard {
...@@ -79,15 +79,9 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ...@@ -79,15 +79,9 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard {
setControl(container); setControl(container);
tableViewer = new TableViewer(container, SWT.BORDER tableViewer = WizardObserverUtil.createObserverWizardTableViewer(
| SWT.FULL_SELECTION); container, PredicateOperation.class,
tableViewer.getTable().setLinesVisible(true); (ObserverWizard) getWizard());
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLayoutData(
new GridData(GridData.FILL_BOTH));
tableViewer.getTable().setFont(
new Font(Display.getDefault(), new FontData("Arial", 10,
SWT.NONE)));
TableViewerColumn column = new TableViewerColumn(tableViewer, TableViewerColumn column = new TableViewerColumn(tableViewer,
SWT.NONE); SWT.NONE);
...@@ -190,7 +184,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ...@@ -190,7 +184,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard {
Button btRemove = new Button(comp, SWT.PUSH); Button btRemove = new Button(comp, SWT.PUSH);
btRemove.setText("Remove"); btRemove.setText("Remove");
btRemove.setImage(BMotionStudioImage btRemove.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_DELETE)); .getImage(EditorImageRegistry.IMG_ICON_DELETE_EDIT));
btRemove.addSelectionListener(new SelectionAdapter() { btRemove.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -206,7 +200,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ...@@ -206,7 +200,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard {
Button btAdd = new Button(comp, SWT.PUSH); Button btAdd = new Button(comp, SWT.PUSH);
btAdd.setText("Add"); btAdd.setText("Add");
btAdd.setImage(BMotionStudioImage btAdd.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_ADD)); .getImage(EditorImageRegistry.IMG_ICON_NEW_WIZ));
btAdd.addSelectionListener(new SelectionAdapter() { btAdd.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -228,7 +222,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ...@@ -228,7 +222,7 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard {
@Override @Override
protected boolean canEdit(Object element) { protected boolean canEdit(Object element) {
return true; return WizardObserverUtil.isEditElement(getViewer());
} }
@Override @Override
...@@ -322,6 +316,24 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ...@@ -322,6 +316,24 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard {
@Override @Override
protected Boolean prepareToFinish() { protected Boolean prepareToFinish() {
if (((ListenOperationByPredicate) getObserver()).getList().size() == 0) {
setObserverDelete(true);
} else {
for (PredicateOperation obj : ((ListenOperationByPredicate) getObserver())
.getList()) {
if (obj.getOperationName().isEmpty()) {
MessageDialog
.openError(getShell(), "Please check your entries",
"Please check your entries. The operation field must not be empty.");
return false;
} else if (obj.getAttribute() == null) {
MessageDialog
.openError(getShell(), "Please check your entries",
"Please check your entries. The attribute field must not be empty.");
return false;
}
}
}
return true; return true;
} }
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
* Heinrich Heine Universitaet Duesseldorf * Heinrich Heine Universitaet Duesseldorf
* This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
* */ * */
package de.bmotionstudio.gef.editor.observer.wizard; package de.bmotionstudio.gef.editor.observer.wizard;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -20,11 +19,13 @@ import org.eclipse.jface.dialogs.MessageDialog; ...@@ -20,11 +19,13 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxViewerCellEditor; import org.eclipse.jface.viewers.ComboBoxViewerCellEditor;
import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableFontProvider;
import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn; import org.eclipse.jface.viewers.TableViewerColumn;
...@@ -48,7 +49,6 @@ import org.eclipse.swt.widgets.Display; ...@@ -48,7 +49,6 @@ import org.eclipse.swt.widgets.Display;
import de.be4.classicalb.core.parser.BParser; import de.be4.classicalb.core.parser.BParser;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.BMotionStudioSWTConstants;
import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.EditorImageRegistry;
import de.bmotionstudio.gef.editor.attribute.AbstractAttribute; import de.bmotionstudio.gef.editor.attribute.AbstractAttribute;
import de.bmotionstudio.gef.editor.edit.AttributeExpressionEdittingSupport; import de.bmotionstudio.gef.editor.edit.AttributeExpressionEdittingSupport;
...@@ -56,15 +56,21 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport; ...@@ -56,15 +56,21 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport;
import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport;
import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BControl;
import de.bmotionstudio.gef.editor.observer.Observer; import de.bmotionstudio.gef.editor.observer.Observer;
import de.bmotionstudio.gef.editor.observer.ObserverEvalObject;
import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.observer.SetAttribute; import de.bmotionstudio.gef.editor.observer.SetAttribute;
import de.bmotionstudio.gef.editor.observer.SetAttributeObject; import de.bmotionstudio.gef.editor.observer.SetAttributeObject;
import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper;
import de.bmotionstudio.gef.editor.util.WizardObserverUtil;
public class WizardObserverSetAttribute extends ObserverWizard { public class WizardObserverSetAttribute extends ObserverWizard {
private String lastChangedAttributeID;
private class WizardSetAttributePage extends WizardPage { private class WizardSetAttributePage extends WizardPage {
private WritableList input;
private TableViewer tableViewer; private TableViewer tableViewer;
protected WizardSetAttributePage(final String pageName) { protected WizardSetAttributePage(final String pageName) {
...@@ -84,14 +90,38 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -84,14 +90,38 @@ public class WizardObserverSetAttribute extends ObserverWizard {
Composite container = new Composite(parent, SWT.NONE); Composite container = new Composite(parent, SWT.NONE);
container.setLayout(gl); container.setLayout(gl);
tableViewer = new TableViewer(container, SWT.BORDER tableViewer = WizardObserverUtil.createObserverWizardTableViewer(
| SWT.FULL_SELECTION); container, SetAttributeObject.class,
tableViewer.getTable().setLinesVisible(true); (ObserverWizard) getWizard());
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLayoutData( tableViewer
new GridData(GridData.FILL_BOTH)); .addSelectionChangedListener(new ISelectionChangedListener() {
tableViewer.getTable().setFont(
BMotionStudioSWTConstants.fontArial10); @Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event
.getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement instanceof ObserverEvalObject) {
ObserverEvalObject observerEvalObject = (ObserverEvalObject) firstElement;
BControl control = getBControl();
if (lastChangedAttributeID != null)
control.restoreDefaultValue(lastChangedAttributeID);
SetAttributeObject setAttributeObj = (SetAttributeObject) observerEvalObject;
String attribute = setAttributeObj
.getAttribute();
Object value = setAttributeObj.getValue();
control.setAttributeValue(attribute, value);
lastChangedAttributeID = attribute;
}
}
});
TableViewerColumn column = new TableViewerColumn(tableViewer, TableViewerColumn column = new TableViewerColumn(tableViewer,
SWT.NONE); SWT.NONE);
...@@ -129,7 +159,7 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -129,7 +159,7 @@ public class WizardObserverSetAttribute extends ObserverWizard {
contentProvider.getKnownElements(), new String[] { contentProvider.getKnownElements(), new String[] {
"eval", "attribute", "value", "eval", "attribute", "value",
"isExpressionMode" }))); "isExpressionMode" })));
final WritableList input = new WritableList( input = new WritableList(
((SetAttribute) getObserver()).getSetAttributeObjects(), ((SetAttribute) getObserver()).getSetAttributeObjects(),
SetAttributeObject.class); SetAttributeObject.class);
tableViewer.setInput(input); tableViewer.setInput(input);
...@@ -141,7 +171,7 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -141,7 +171,7 @@ public class WizardObserverSetAttribute extends ObserverWizard {
Button btRemove = new Button(comp, SWT.PUSH); Button btRemove = new Button(comp, SWT.PUSH);
btRemove.setText("Remove"); btRemove.setText("Remove");
btRemove.setImage(BMotionStudioImage btRemove.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_DELETE)); .getImage(EditorImageRegistry.IMG_ICON_DELETE_EDIT));
btRemove.addSelectionListener(new SelectionAdapter() { btRemove.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -160,7 +190,7 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -160,7 +190,7 @@ public class WizardObserverSetAttribute extends ObserverWizard {
Button btAdd = new Button(comp, SWT.PUSH); Button btAdd = new Button(comp, SWT.PUSH);
btAdd.setText("Add"); btAdd.setText("Add");
btAdd.setImage(BMotionStudioImage btAdd.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_ADD)); .getImage(EditorImageRegistry.IMG_ICON_NEW_WIZ));
btAdd.addSelectionListener(new SelectionAdapter() { btAdd.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -186,7 +216,7 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -186,7 +216,7 @@ public class WizardObserverSetAttribute extends ObserverWizard {
@Override @Override
protected boolean canEdit(Object element) { protected boolean canEdit(Object element) {
return true; return WizardObserverUtil.isEditElement(getViewer());
} }
@Override @Override
...@@ -283,6 +313,7 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -283,6 +313,7 @@ public class WizardObserverSetAttribute extends ObserverWizard {
@Override @Override
protected Boolean prepareToFinish() { protected Boolean prepareToFinish() {
getBControl().restoreDefaultValue(lastChangedAttributeID);
if (((SetAttribute) getObserver()).getSetAttributeObjects().size() == 0) { if (((SetAttribute) getObserver()).getSetAttributeObjects().size() == 0) {
setObserverDelete(true); setObserverDelete(true);
} else { } else {
...@@ -299,6 +330,12 @@ public class WizardObserverSetAttribute extends ObserverWizard { ...@@ -299,6 +330,12 @@ public class WizardObserverSetAttribute extends ObserverWizard {
return true; return true;
} }
@Override
public boolean performCancel() {
getBControl().restoreDefaultValue(lastChangedAttributeID);
return super.performCancel();
}
private class ObserverLabelProvider extends ObservableMapLabelProvider private class ObserverLabelProvider extends ObservableMapLabelProvider
implements ITableLabelProvider, ITableColorProvider, implements ITableLabelProvider, ITableColorProvider,
ITableFontProvider { ITableFontProvider {
......
...@@ -16,10 +16,12 @@ import org.eclipse.jface.dialogs.MessageDialog; ...@@ -16,10 +16,12 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckboxCellEditor; import org.eclipse.jface.viewers.CheckboxCellEditor;
import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableFontProvider;
import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn; import org.eclipse.jface.viewers.TableViewerColumn;
...@@ -29,7 +31,6 @@ import org.eclipse.swt.events.SelectionAdapter; ...@@ -29,7 +31,6 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
...@@ -40,16 +41,19 @@ import org.eclipse.swt.widgets.Composite; ...@@ -40,16 +41,19 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import de.be4.classicalb.core.parser.BParser; import de.be4.classicalb.core.parser.BParser;
import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.EditorImageRegistry;
import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport;
import de.bmotionstudio.gef.editor.edit.TextEditingSupport; import de.bmotionstudio.gef.editor.edit.TextEditingSupport;
import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BControl;
import de.bmotionstudio.gef.editor.observer.Observer; import de.bmotionstudio.gef.editor.observer.Observer;
import de.bmotionstudio.gef.editor.observer.ObserverEvalObject;
import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.observer.SwitchCoordinates; import de.bmotionstudio.gef.editor.observer.SwitchCoordinates;
import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates; import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates;
import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper;
import de.bmotionstudio.gef.editor.util.WizardObserverUtil;
public class WizardObserverSwitchCoordinates extends ObserverWizard { public class WizardObserverSwitchCoordinates extends ObserverWizard {
...@@ -68,15 +72,32 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ...@@ -68,15 +72,32 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard {
Composite container = new Composite(parent, SWT.NONE); Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout(1, true)); container.setLayout(new GridLayout(1, true));
tableViewer = new TableViewer(container, SWT.BORDER tableViewer = WizardObserverUtil.createObserverWizardTableViewer(
| SWT.FULL_SELECTION); container, ToggleObjectCoordinates.class,
tableViewer.getTable().setLinesVisible(true); (ObserverWizard) getWizard());
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLayoutData( tableViewer
new GridData(GridData.FILL_BOTH)); .addSelectionChangedListener(new ISelectionChangedListener() {
tableViewer.getTable().setFont(
new Font(Display.getDefault(), new FontData("Arial", 10, @Override
SWT.NONE))); public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event
.getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement instanceof ObserverEvalObject) {
ObserverEvalObject observerEvalObject = (ObserverEvalObject) firstElement;
BControl control = getBControl();
ToggleObjectCoordinates toggleObjectCoordinates = (ToggleObjectCoordinates) observerEvalObject;
String attributeX = AttributeConstants.ATTRIBUTE_X;
String attributeY = AttributeConstants.ATTRIBUTE_Y;
String x = toggleObjectCoordinates.getX();
String y = toggleObjectCoordinates.getY();
control.setAttributeValue(attributeX, x);
control.setAttributeValue(attributeY, y);
}
}
});
TableViewerColumn column = new TableViewerColumn(tableViewer, TableViewerColumn column = new TableViewerColumn(tableViewer,
SWT.NONE); SWT.NONE);
...@@ -149,7 +170,7 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ...@@ -149,7 +170,7 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard {
Button btRemove = new Button(comp, SWT.PUSH); Button btRemove = new Button(comp, SWT.PUSH);
btRemove.setText("Remove"); btRemove.setText("Remove");
btRemove.setImage(BMotionStudioImage btRemove.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_DELETE)); .getImage(EditorImageRegistry.IMG_ICON_DELETE_EDIT));
btRemove.addSelectionListener(new SelectionAdapter() { btRemove.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -165,7 +186,7 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ...@@ -165,7 +186,7 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard {
Button btAdd = new Button(comp, SWT.PUSH); Button btAdd = new Button(comp, SWT.PUSH);
btAdd.setText("Add"); btAdd.setText("Add");
btAdd.setImage(BMotionStudioImage btAdd.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_ADD)); .getImage(EditorImageRegistry.IMG_ICON_NEW_WIZ));
btAdd.addSelectionListener(new SelectionAdapter() { btAdd.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
...@@ -191,6 +212,8 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ...@@ -191,6 +212,8 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard {
@Override @Override
protected Boolean prepareToFinish() { protected Boolean prepareToFinish() {
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_X);
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_Y);
if (((SwitchCoordinates) getObserver()).getToggleObjects().size() == 0) { if (((SwitchCoordinates) getObserver()).getToggleObjects().size() == 0) {
setObserverDelete(true); setObserverDelete(true);
} else { } else {
...@@ -207,6 +230,13 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ...@@ -207,6 +230,13 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard {
return true; return true;
} }
@Override
public boolean performCancel() {
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_X);
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_Y);
return super.performCancel();
}
@Override @Override
public Point getSize() { public Point getSize() {
return new Point(650, 500); return new Point(650, 500);
......
...@@ -13,10 +13,12 @@ import org.eclipse.core.databinding.observable.map.IObservableMap; ...@@ -13,10 +13,12 @@ import org.eclipse.core.databinding.observable.map.IObservableMap;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableFontProvider;
import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn; import org.eclipse.jface.viewers.TableViewerColumn;
...@@ -26,7 +28,6 @@ import org.eclipse.swt.events.SelectionAdapter; ...@@ -26,7 +28,6 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
...@@ -45,10 +46,12 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport; ...@@ -45,10 +46,12 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport;
import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport;
import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BControl;
import de.bmotionstudio.gef.editor.observer.Observer; import de.bmotionstudio.gef.editor.observer.Observer;
import de.bmotionstudio.gef.editor.observer.ObserverEvalObject;
import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.observer.SwitchImage; import de.bmotionstudio.gef.editor.observer.SwitchImage;
import de.bmotionstudio.gef.editor.observer.ToggleObjectImage; import de.bmotionstudio.gef.editor.observer.ToggleObjectImage;
import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper;
import de.bmotionstudio.gef.editor.util.WizardObserverUtil;
public class WizardObserverSwitchImage extends ObserverWizard { public class WizardObserverSwitchImage extends ObserverWizard {
...@@ -67,15 +70,28 @@ public class WizardObserverSwitchImage extends ObserverWizard { ...@@ -67,15 +70,28 @@ public class WizardObserverSwitchImage extends ObserverWizard {
Composite container = new Composite(parent, SWT.NONE); Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout(1, true)); container.setLayout(new GridLayout(1, true));
tableViewer = new TableViewer(container, SWT.BORDER tableViewer = WizardObserverUtil.createObserverWizardTableViewer(
| SWT.FULL_SELECTION); container, ToggleObjectImage.class,
tableViewer.getTable().setLinesVisible(true); (ObserverWizard) getWizard());
tableViewer.getTable().setHeaderVisible(true); tableViewer
tableViewer.getTable().setLayoutData( .addSelectionChangedListener(new ISelectionChangedListener() {
new GridData(GridData.FILL_BOTH));
tableViewer.getTable().setFont( @Override
new Font(Display.getDefault(), new FontData("Arial", 10, public void selectionChanged(SelectionChangedEvent event) {
SWT.NONE))); IStructuredSelection selection = (IStructuredSelection) event
.getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement instanceof ObserverEvalObject) {
ObserverEvalObject observerEvalObject = (ObserverEvalObject) firstElement;
BControl control = getBControl();
ToggleObjectImage toggleObjImage = (ToggleObjectImage) observerEvalObject;
String attribute = AttributeConstants.ATTRIBUTE_IMAGE;
String image = toggleObjImage.getImage();
control.setAttributeValue(attribute, image);
}
}
});
TableViewerColumn column = new TableViewerColumn(tableViewer, TableViewerColumn column = new TableViewerColumn(tableViewer,
SWT.NONE); SWT.NONE);
...@@ -138,8 +154,9 @@ public class WizardObserverSwitchImage extends ObserverWizard { ...@@ -138,8 +154,9 @@ public class WizardObserverSwitchImage extends ObserverWizard {
comp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); comp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
Button btRemove = new Button(comp, SWT.PUSH); Button btRemove = new Button(comp, SWT.PUSH);
btRemove.setText("Remove");
btRemove.setImage(BMotionStudioImage btRemove.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_DELETE)); .getImage(EditorImageRegistry.IMG_ICON_DELETE_EDIT));
btRemove.addSelectionListener(new SelectionAdapter() { btRemove.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(final SelectionEvent e) { public void widgetSelected(final SelectionEvent e) {
...@@ -153,8 +170,9 @@ public class WizardObserverSwitchImage extends ObserverWizard { ...@@ -153,8 +170,9 @@ public class WizardObserverSwitchImage extends ObserverWizard {
}); });
Button btAdd = new Button(comp, SWT.PUSH); Button btAdd = new Button(comp, SWT.PUSH);
btAdd.setText("Add");
btAdd.setImage(BMotionStudioImage btAdd.setImage(BMotionStudioImage
.getImage(EditorImageRegistry.IMG_ICON_ADD)); .getImage(EditorImageRegistry.IMG_ICON_NEW_WIZ));
btAdd.addSelectionListener(new SelectionAdapter() { btAdd.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(final SelectionEvent e) { public void widgetSelected(final SelectionEvent e) {
...@@ -180,6 +198,7 @@ public class WizardObserverSwitchImage extends ObserverWizard { ...@@ -180,6 +198,7 @@ public class WizardObserverSwitchImage extends ObserverWizard {
@Override @Override
protected Boolean prepareToFinish() { protected Boolean prepareToFinish() {
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_IMAGE);
if (((SwitchImage) getObserver()).getToggleObjects().size() == 0) { if (((SwitchImage) getObserver()).getToggleObjects().size() == 0) {
setObserverDelete(true); setObserverDelete(true);
} else { } else {
...@@ -196,6 +215,12 @@ public class WizardObserverSwitchImage extends ObserverWizard { ...@@ -196,6 +215,12 @@ public class WizardObserverSwitchImage extends ObserverWizard {
return true; return true;
} }
@Override
public boolean performCancel() {
getBControl().restoreDefaultValue(AttributeConstants.ATTRIBUTE_IMAGE);
return super.performCancel();
}
@Override @Override
public Point getSize() { public Point getSize() {
return new Point(650, 500); return new Point(650, 500);
......
...@@ -7,14 +7,10 @@ ...@@ -7,14 +7,10 @@
package de.bmotionstudio.gef.editor.part; package de.bmotionstudio.gef.editor.part;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.io.File;
import java.util.HashMap;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.EditPolicy; import org.eclipse.gef.EditPolicy;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy;
...@@ -28,8 +24,6 @@ import de.bmotionstudio.gef.editor.model.BControl; ...@@ -28,8 +24,6 @@ import de.bmotionstudio.gef.editor.model.BControl;
public class BImagePart extends AppAbstractEditPart { public class BImagePart extends AppAbstractEditPart {
private HashMap<String, File> fileMap = new HashMap<String, File>();
@Override @Override
public void refreshEditFigure(IFigure figure, BControl model, public void refreshEditFigure(IFigure figure, BControl model,
PropertyChangeEvent evt) { PropertyChangeEvent evt) {
...@@ -44,17 +38,7 @@ public class BImagePart extends AppAbstractEditPart { ...@@ -44,17 +38,7 @@ public class BImagePart extends AppAbstractEditPart {
IFile pFile = model.getVisualization().getProjectFile(); IFile pFile = model.getVisualization().getProjectFile();
String myPath = (pFile.getProject().getLocation() String myPath = (pFile.getProject().getLocation()
+ "/images/" + imgPath).replace("file:", ""); + "/images/" + imgPath).replace("file:", "");
File file = null; ((BMSImageFigure) figure).setImage(myPath);
if (fileMap.containsKey(myPath)) {
file = fileMap.get(myPath);
} else {
file = new File(myPath);
fileMap.put(myPath, file);
}
if (file.exists()) {
((BMSImageFigure) figure).setImage(new Image(Display
.getDefault(), myPath));
}
} }
} }
} }
......
/**
* (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen,
* Heinrich Heine Universitaet Duesseldorf
* This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html)
* */
package de.bmotionstudio.gef.editor.util;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.TableItem;
import de.bmotionstudio.gef.editor.BMotionStudioSWTConstants;
import de.bmotionstudio.gef.editor.library.AttributeTransfer;
import de.bmotionstudio.gef.editor.observer.ObserverWizard;
import de.bmotionstudio.gef.editor.observer.wizard.WizardObserverAddItemAction;
import de.bmotionstudio.gef.editor.observer.wizard.WizardObserverDeleteItemsAction;
import de.bmotionstudio.gef.editor.observer.wizard.WizardObserverDragListener;
import de.bmotionstudio.gef.editor.observer.wizard.WizardObserverDropListener;
public class WizardObserverUtil {
public static boolean isEditElement(ColumnViewer viewer) {
Object data = viewer.getData("editElement");
if (data != null)
return Boolean.valueOf(data.toString());
return false;
}
public static TableViewer createObserverWizardTableViewer(Composite parent,
Class<?> itemClass, final ObserverWizard observerWizard) {
final TableViewer tableViewer = new TableViewer(parent, SWT.BORDER
| SWT.FULL_SELECTION | SWT.MULTI);
tableViewer.setData("editElement", false);
tableViewer.getTable().setLinesVisible(true);
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
tableViewer.getTable().setFont(BMotionStudioSWTConstants.fontArial10);
int operations = DND.DROP_COPY | DND.DROP_MOVE;
Transfer[] transferTypes = new Transfer[] { AttributeTransfer
.getInstance() };
tableViewer.addDropSupport(operations, transferTypes,
new WizardObserverDropListener(tableViewer, observerWizard
.getObserver().getName()));
tableViewer.addDragSupport(operations, transferTypes,
new WizardObserverDragListener(tableViewer));
MenuManager manager = new MenuManager();
tableViewer.getControl().setMenu(
manager.createContextMenu(tableViewer.getControl()));
manager.add(new WizardObserverDeleteItemsAction(tableViewer));
manager.add(new WizardObserverAddItemAction(tableViewer, itemClass));
tableViewer.getTable().addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event event) {
tableViewer.setData("editElement", false);
}
});
tableViewer.getTable().addListener(SWT.MouseDoubleClick,
new Listener() {
public void handleEvent(Event event) {
tableViewer.setData("editElement", true);
TableItem[] selection = tableViewer.getTable()
.getSelection();
if (selection.length != 1) {
return;
}
TableItem item = tableViewer.getTable().getSelection()[0];
for (int i = 0; i < tableViewer.getTable()
.getColumnCount(); i++) {
if (item.getBounds(i).contains(event.x, event.y)) {
tableViewer.editElement(item.getData(), i);
tableViewer.setData("editElement", false);
break;
}
}
}
});
return tableViewer;
}
}
...@@ -2,7 +2,7 @@ Manifest-Version: 1.0 ...@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: BMotion Studio Rodin Integration Bundle-Name: BMotion Studio Rodin Integration
Bundle-SymbolicName: de.bmotionstudio.rodin;singleton:=true Bundle-SymbolicName: de.bmotionstudio.rodin;singleton:=true
Bundle-Version: 1.0.2 Bundle-Version: 1.0.2.qualifier
Fragment-Host: de.bmotionstudio.gef.editor;bundle-version="5.2.1" Fragment-Host: de.bmotionstudio.gef.editor;bundle-version="5.2.1"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: HHU Düsseldorf STUPS Group Bundle-Vendor: HHU Düsseldorf STUPS Group
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry exported="true" kind="lib" path="lib/probcliparser.jar"/> <classpathentry exported="true" kind="lib" path="lib/probcliparser.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
......
...@@ -2,11 +2,12 @@ Manifest-Version: 1.0 ...@@ -2,11 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: ProB Animator Core Bundle-Name: ProB Animator Core
Bundle-SymbolicName: de.prob.core;singleton:=true Bundle-SymbolicName: de.prob.core;singleton:=true
Bundle-Version: 9.2.0 Bundle-Version: 9.2.1.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.rodinp.core;bundle-version="[1.3.1,1.6.0)", org.rodinp.core;bundle-version="[1.3.1,1.6.0)",
org.eventb.core;bundle-version="[2.1.0,2.5.0)" org.eventb.core;bundle-version="[2.1.0,2.6.0)"
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Eclipse-BundleShape: dir
Bundle-Vendor: HHU Düsseldorf STUPS Group Bundle-Vendor: HHU Düsseldorf STUPS Group
Export-Package: de.be4.classicalb.core.parser, Export-Package: de.be4.classicalb.core.parser,
de.be4.classicalb.core.parser.analysis;x-friends:="de.prob.eventb.disprover.core", de.be4.classicalb.core.parser.analysis;x-friends:="de.prob.eventb.disprover.core",
...@@ -14,10 +15,6 @@ Export-Package: de.be4.classicalb.core.parser, ...@@ -14,10 +15,6 @@ Export-Package: de.be4.classicalb.core.parser,
de.be4.classicalb.core.parser.exceptions, de.be4.classicalb.core.parser.exceptions,
de.be4.classicalb.core.parser.node;x-friends:="de.prob.eventb.disprover.core", de.be4.classicalb.core.parser.node;x-friends:="de.prob.eventb.disprover.core",
de.be4.ltl.core.parser, de.be4.ltl.core.parser,
de.prob.animationscript.parser.analysis,
de.prob.animationscript.parser.lexer,
de.prob.animationscript.parser.node,
de.prob.animationscript.parser.parser;uses:="de.prob.animationscript.parser.lexer,de.prob.animationscript.parser.analysis,de.prob.animationscript.parser.node",
de.prob.core; de.prob.core;
uses:="de.prob.core.domainobjects.eval, uses:="de.prob.core.domainobjects.eval,
de.prob.parserbase, de.prob.parserbase,
......
...@@ -5,6 +5,5 @@ bin.includes = META-INF/,\ ...@@ -5,6 +5,5 @@ bin.includes = META-INF/,\
.,\ .,\
lib/probcliparser.jar,\ lib/probcliparser.jar,\
lib/commons-lang-2.4.jar,\ lib/commons-lang-2.4.jar,\
prob/,\ prob/
lib/keyboard.jar
No preview for this file type
Revision: 9938
January 17 2012 - 2002
\ No newline at end of file
File deleted
File deleted
File deleted
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment