From b4843c4dc6706a892c3370a93d1c09d13d832653 Mon Sep 17 00:00:00 2001 From: Lukas Ladenberger <lukas.ladenberger@googlemail.com> Date: Fri, 24 Aug 2012 16:28:39 +0200 Subject: [PATCH] small refactoring + added observer of controls to outlineview --- .../gef/editor/AppContextMenuProvider.java | 10 +- .../editor/BMotionSelectionSynchronizer.java | 27 ++-- .../gef/editor/BMotionStudioEditorPage.java | 23 +++- .../gef/editor/BMotionStudioRunPage.java | 4 +- .../gef/editor/IBControlService.java | 4 +- .../editor/action/BringToBottomAction.java | 6 +- .../action/BringToBottomStepAction.java | 6 +- .../gef/editor/action/BringToTopAction.java | 6 +- .../editor/action/BringToTopStepAction.java | 6 +- .../gef/editor/edit/TextEditManager.java | 4 +- ...DeletePolicy.java => BMSDeletePolicy.java} | 2 +- ...utPolicy.java => BMSEditLayoutPolicy.java} | 8 +- ...EditPolicy.java => BMSFlowEditPolicy.java} | 4 +- ...EditPolicy.java => BMSNodeEditPolicy.java} | 2 +- ...olicy.java => BMSResizableEditPolicy.java} | 2 +- .../editpolicy/ChangeAttributePolicy.java | 4 +- .../editpolicy/CustomDirectEditPolicy.java | 4 +- .../model/ObserverRootVirtualTreeNode.java | 31 +++++ .../editor/part/AppAbstractTreeEditPart.java | 58 -------- .../gef/editor/part/BButtonPart.java | 10 +- .../gef/editor/part/BCheckboxPart.java | 10 +- .../gef/editor/part/BCompositePart.java | 14 +- .../gef/editor/part/BConnectionEditPart.java | 2 +- .../gef/editor/part/BControlTreeEditPart.java | 128 ++++++++++++++---- .../gef/editor/part/BImagePart.java | 10 +- ...EditPart.java => BMSAbstractEditPart.java} | 2 +- .../editor/part/BMSAbstractTreeEditPart.java | 15 ++ ...rtFactory.java => BMSEditPartFactory.java} | 2 +- ...ctory.java => BMSTreeEditPartFactory.java} | 19 ++- .../gef/editor/part/BRadioButtonPart.java | 10 +- .../gef/editor/part/BShapePart.java | 10 +- .../gef/editor/part/BTableCellPart.java | 2 +- .../gef/editor/part/BTableColumnPart.java | 14 +- .../gef/editor/part/BTablePart.java | 14 +- .../gef/editor/part/BTextPart.java | 10 +- .../gef/editor/part/BTextfieldPart.java | 10 +- .../editor/part/ObserverRootTreeEditpart.java | 61 +++++++++ .../gef/editor/part/ObserverTreeEditPart.java | 23 ++++ .../gef/editor/part/UnknownPart.java | 2 +- .../gef/editor/part/VisualizationPart.java | 10 +- .../gef/editor/service/BButtonService.java | 4 +- .../gef/editor/service/BCheckboxService.java | 4 +- .../gef/editor/service/BCompositeService.java | 4 +- .../editor/service/BConnectionService.java | 4 +- .../gef/editor/service/BEllipseService.java | 4 +- .../gef/editor/service/BImageService.java | 4 +- .../editor/service/BRadioButtonService.java | 4 +- .../gef/editor/service/BRectangleService.java | 4 +- .../gef/editor/service/BTableCellService.java | 4 +- .../editor/service/BTableColumnService.java | 4 +- .../gef/editor/service/BTableService.java | 4 +- .../gef/editor/service/BTextService.java | 4 +- .../gef/editor/service/BTextfieldService.java | 4 +- 53 files changed, 404 insertions(+), 237 deletions(-) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/{AppDeletePolicy.java => BMSDeletePolicy.java} (89%) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/{AppEditLayoutPolicy.java => BMSEditLayoutPolicy.java} (94%) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/{BMotionStudioFlowEditPolicy.java => BMSFlowEditPolicy.java} (95%) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/{BMotionNodeEditPolicy.java => BMSNodeEditPolicy.java} (94%) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/{BMotionStudioResizableEditPolicy.java => BMSResizableEditPolicy.java} (93%) create mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/ObserverRootVirtualTreeNode.java delete mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractTreeEditPart.java rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/{AppAbstractEditPart.java => BMSAbstractEditPart.java} (95%) create mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractTreeEditPart.java rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/{AppEditPartFactory.java => BMSEditPartFactory.java} (92%) rename de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/{AppTreeEditPartFactory.java => BMSTreeEditPartFactory.java} (52%) create mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverRootTreeEditpart.java create mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverTreeEditPart.java diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AppContextMenuProvider.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AppContextMenuProvider.java index 51bacfe4..53acf882 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AppContextMenuProvider.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AppContextMenuProvider.java @@ -24,7 +24,7 @@ import org.eclipse.ui.actions.ActionFactory; import de.bmotionstudio.gef.editor.action.OpenSchedulerEventAction; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.VisualizationPart; import de.bmotionstudio.gef.editor.scheduler.SchedulerEvent; @@ -112,9 +112,9 @@ public class AppContextMenuProvider extends ContextMenuProvider { .getActiveEditor().getEditorSite().getSelectionProvider() .getSelection(); - if (selection.getFirstElement() instanceof AppAbstractEditPart) { + if (selection.getFirstElement() instanceof BMSAbstractEditPart) { - BControl bcontrol = (BControl) ((AppAbstractEditPart) selection + BControl bcontrol = (BControl) ((BMSAbstractEditPart) selection .getFirstElement()).getModel(); IExtensionPoint extensionPoint = registry @@ -224,10 +224,10 @@ public class AppContextMenuProvider extends ContextMenuProvider { .getActiveEditor().getEditorSite().getSelectionProvider() .getSelection(); - if ((selection.getFirstElement() instanceof AppAbstractEditPart) + if ((selection.getFirstElement() instanceof BMSAbstractEditPart) && !(selection.getFirstElement() instanceof VisualizationPart)) { - BControl bcontrol = (BControl) ((AppAbstractEditPart) selection + BControl bcontrol = (BControl) ((BMSAbstractEditPart) selection .getFirstElement()).getModel(); // Has event diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionSelectionSynchronizer.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionSelectionSynchronizer.java index 3bf703a6..e3a3198d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionSelectionSynchronizer.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionSelectionSynchronizer.java @@ -24,22 +24,27 @@ public class BMotionSelectionSynchronizer extends SelectionSynchronizer { protected EditPart convert(EditPartViewer viewer, EditPart part) { + EditPart p = super.convert(viewer, part); + if (viewer instanceof ScrollingGraphicalViewer || viewer instanceof TreeViewer) { - BControl control = (BControl) part.getModel(); - String id = control.getID(); - BControl editControl = editor.getEditPage().getVisualization() - .getBControl(id); - Object temp = viewer.getEditPartRegistry().get(editControl); - EditPart newPart = null; - if (temp != null) { - newPart = (EditPart) temp; + Object model = part.getModel(); + if (model instanceof BControl) { + BControl control = (BControl) model; + String id = control.getID(); + BControl editControl = editor.getEditPage().getVisualization() + .getBControl(id); + Object temp = viewer.getEditPartRegistry().get(editControl); + EditPart newPart = null; + if (temp != null) { + newPart = (EditPart) temp; + } + return newPart; } - return newPart; - } else { - return super.convert(viewer, part); } + return p; + } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioEditorPage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioEditorPage.java index 6fb06c9d..f3a9da43 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioEditorPage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioEditorPage.java @@ -70,6 +70,7 @@ import org.eclipse.gef.ui.rulers.RulerComposite; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.events.DisposeEvent; @@ -104,8 +105,9 @@ import de.bmotionstudio.gef.editor.library.AttributeTransferDropTargetListener; import de.bmotionstudio.gef.editor.model.BMotionRuler; import de.bmotionstudio.gef.editor.model.BMotionRulerProvider; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppEditPartFactory; -import de.bmotionstudio.gef.editor.part.AppTreeEditPartFactory; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSEditPartFactory; +import de.bmotionstudio.gef.editor.part.BMSTreeEditPartFactory; public class BMotionStudioEditorPage extends GraphicalEditorWithFlyoutPalette { @@ -152,10 +154,19 @@ public class BMotionStudioEditorPage extends GraphicalEditorWithFlyoutPalette { @Override public void selectionChanged(IWorkbenchPart part, ISelection selection) { + // If not the active editor, ignore selection changed. - if (getBMotionStudioEditor().equals( + if (!getBMotionStudioEditor().equals( getSite().getPage().getActiveEditor())) - updateActions(getSelectionActions()); + return; + + Object selectedElement = ((IStructuredSelection) selection) + .getFirstElement(); + if (!(selectedElement instanceof BMSAbstractEditPart)) + return; + + updateActions(getSelectionActions()); + } /** @@ -495,7 +506,7 @@ public class BMotionStudioEditorPage extends GraphicalEditorWithFlyoutPalette { super.configureGraphicalViewer(); ScrollingGraphicalViewer viewer = (ScrollingGraphicalViewer) getGraphicalViewer(); - viewer.setEditPartFactory(new AppEditPartFactory()); + viewer.setEditPartFactory(new BMSEditPartFactory()); ScalableRootEditPart rootEditPart = new ScalableRootEditPart(); GridLayer gridLayer = (GridLayer) rootEditPart @@ -670,7 +681,7 @@ public class BMotionStudioEditorPage extends GraphicalEditorWithFlyoutPalette { protected void configureOutlineViewer() { getViewer().setEditDomain(getEditDomain()); - getViewer().setEditPartFactory(new AppTreeEditPartFactory()); + getViewer().setEditPartFactory(new BMSTreeEditPartFactory()); ContextMenuProvider provider = new AppContextMenuProvider( getViewer(), getActionRegistry()); getViewer().setContextMenu(provider); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioRunPage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioRunPage.java index 36b08416..ee49bff3 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioRunPage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioRunPage.java @@ -31,7 +31,7 @@ import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.actions.ActionFactory; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppEditPartFactory; +import de.bmotionstudio.gef.editor.part.BMSEditPartFactory; public class BMotionStudioRunPage extends GraphicalEditor { @@ -125,7 +125,7 @@ public class BMotionStudioRunPage extends GraphicalEditor { super.configureGraphicalViewer(); ScrollingGraphicalViewer viewer = (ScrollingGraphicalViewer) getGraphicalViewer(); - viewer.setEditPartFactory(new AppEditPartFactory()); + viewer.setEditPartFactory(new BMSEditPartFactory()); ScalableRootEditPart rootEditPart = new ScalableRootEditPart(); viewer.setRootEditPart(rootEditPart); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IBControlService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IBControlService.java index 832bd0c1..14035d97 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IBControlService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IBControlService.java @@ -11,7 +11,7 @@ import org.eclipse.gef.palette.ToolEntry; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; /** * @author Lukas Ladenberger @@ -21,7 +21,7 @@ public interface IBControlService { public BControl createControl(Visualization visualization); - public AppAbstractEditPart createEditPart(); + public BMSAbstractEditPart createEditPart(); public ToolEntry createToolEntry(Visualization visualization, IConfigurationElement configurationElement); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomAction.java index 0a599f4e..397d02a9 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomAction.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; import de.bmotionstudio.gef.editor.command.BringToBottomCommand; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.VisualizationPart; public class BringToBottomAction extends SelectionAction { @@ -66,9 +66,9 @@ public class BringToBottomAction extends SelectionAction { List<?> selectedObjects = getSelectedObjects(); for (Object obj : selectedObjects) { - if (obj instanceof AppAbstractEditPart) { + if (obj instanceof BMSAbstractEditPart) { modelList - .add((BControl) ((AppAbstractEditPart) obj).getModel()); + .add((BControl) ((BMSAbstractEditPart) obj).getModel()); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomStepAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomStepAction.java index 5ab0686d..2ae5a88c 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomStepAction.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToBottomStepAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; import de.bmotionstudio.gef.editor.command.BringToBottomStepCommand; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.VisualizationPart; public class BringToBottomStepAction extends SelectionAction { @@ -67,9 +67,9 @@ public class BringToBottomStepAction extends SelectionAction { List<?> selectedObjects = getSelectedObjects(); for (Object obj : selectedObjects) { - if (obj instanceof AppAbstractEditPart) { + if (obj instanceof BMSAbstractEditPart) { modelList - .add((BControl) ((AppAbstractEditPart) obj).getModel()); + .add((BControl) ((BMSAbstractEditPart) obj).getModel()); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopAction.java index 0789ad73..d407ac20 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopAction.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; import de.bmotionstudio.gef.editor.command.BringToTopCommand; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.VisualizationPart; public class BringToTopAction extends SelectionAction { @@ -62,8 +62,8 @@ public class BringToTopAction extends SelectionAction { List<BControl> controlList = new ArrayList<BControl>(); List<?> selectedObjects = getSelectedObjects(); for (Object obj : selectedObjects) { - if (obj instanceof AppAbstractEditPart) { - controlList.add((BControl) ((AppAbstractEditPart) obj) + if (obj instanceof BMSAbstractEditPart) { + controlList.add((BControl) ((BMSAbstractEditPart) obj) .getModel()); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopStepAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopStepAction.java index 2e0e89c5..2491e8cb 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopStepAction.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BringToTopStepAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; import de.bmotionstudio.gef.editor.command.BringToTopStepCommand; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.VisualizationPart; public class BringToTopStepAction extends SelectionAction { @@ -66,9 +66,9 @@ public class BringToTopStepAction extends SelectionAction { List<?> selectedObjects = getSelectedObjects(); for (Object obj : selectedObjects) { - if (obj instanceof AppAbstractEditPart) { + if (obj instanceof BMSAbstractEditPart) { modelList - .add((BControl) ((AppAbstractEditPart) obj).getModel()); + .add((BControl) ((BMSAbstractEditPart) obj).getModel()); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditManager.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditManager.java index 82065ecd..c2ad978d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditManager.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditManager.java @@ -26,7 +26,7 @@ import org.eclipse.ui.part.CellEditorActionHandler; import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; public class TextEditManager extends DirectEditManager { @@ -41,7 +41,7 @@ public class TextEditManager extends DirectEditManager { } }; - public TextEditManager(AppAbstractEditPart source, CellEditorLocator locator) { + public TextEditManager(BMSAbstractEditPart source, CellEditorLocator locator) { super(source, null, locator); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppDeletePolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSDeletePolicy.java similarity index 89% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppDeletePolicy.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSDeletePolicy.java index e6e18db4..21f255bd 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppDeletePolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSDeletePolicy.java @@ -13,7 +13,7 @@ import org.eclipse.gef.requests.GroupRequest; import de.bmotionstudio.gef.editor.command.DeleteCommand; import de.bmotionstudio.gef.editor.model.BControl; -public class AppDeletePolicy extends ComponentEditPolicy { +public class BMSDeletePolicy extends ComponentEditPolicy { protected Command createDeleteCommand(GroupRequest deleteRequest) { DeleteCommand command = new DeleteCommand((BControl) getHost() diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppEditLayoutPolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSEditLayoutPolicy.java similarity index 94% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppEditLayoutPolicy.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSEditLayoutPolicy.java index 1c9a3355..8eae508d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/AppEditLayoutPolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSEditLayoutPolicy.java @@ -27,9 +27,9 @@ import de.bmotionstudio.gef.editor.command.ChangeGuideCommand; import de.bmotionstudio.gef.editor.command.CreateCommand; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BMotionGuide; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; -public class AppEditLayoutPolicy extends XYLayoutEditPolicy { +public class BMSEditLayoutPolicy extends XYLayoutEditPolicy { @Override protected Command createChangeConstraintCommand(EditPart child, @@ -136,9 +136,9 @@ public class AppEditLayoutPolicy extends XYLayoutEditPolicy { protected Command getCreateCommand(CreateRequest request) { if (request.getType() == REQ_CREATE - && getHost() instanceof AppAbstractEditPart) { + && getHost() instanceof BMSAbstractEditPart) { - if (((BControl) ((AppAbstractEditPart) getHost()).getModel()) + if (((BControl) ((BMSAbstractEditPart) getHost()).getModel()) .canHaveChildren()) { BControl newObj = (BControl) request.getNewObject(); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioFlowEditPolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSFlowEditPolicy.java similarity index 95% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioFlowEditPolicy.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSFlowEditPolicy.java index 8aa9b37d..a45115c2 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioFlowEditPolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSFlowEditPolicy.java @@ -34,7 +34,7 @@ import de.bmotionstudio.gef.editor.model.BTable; import de.bmotionstudio.gef.editor.model.BTableCell; import de.bmotionstudio.gef.editor.model.BTableColumn; -public class BMotionStudioFlowEditPolicy extends FlowLayoutEditPolicy { +public class BMSFlowEditPolicy extends FlowLayoutEditPolicy { private static final Dimension PREFERRED_SIZE = new Dimension(-1, -1); @@ -228,7 +228,7 @@ public class BMotionStudioFlowEditPolicy extends FlowLayoutEditPolicy { * @see org.eclipse.gef.editpolicies.LayoutEditPolicy#createChildEditPolicy(org.eclipse.gef.EditPart) */ protected EditPolicy createChildEditPolicy(EditPart child) { - BMotionStudioResizableEditPolicy policy = new BMotionStudioResizableEditPolicy(); + BMSResizableEditPolicy policy = new BMSResizableEditPolicy(); policy.setResizeDirections(PositionConstants.EAST | PositionConstants.WEST); return policy; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionNodeEditPolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSNodeEditPolicy.java similarity index 94% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionNodeEditPolicy.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSNodeEditPolicy.java index 71e68f16..cfb5c0cb 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionNodeEditPolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSNodeEditPolicy.java @@ -16,7 +16,7 @@ import de.bmotionstudio.gef.editor.command.ConnectionReconnectCommand; import de.bmotionstudio.gef.editor.model.BConnection; import de.bmotionstudio.gef.editor.model.BControl; -public class BMotionNodeEditPolicy extends GraphicalNodeEditPolicy { +public class BMSNodeEditPolicy extends GraphicalNodeEditPolicy { /* * (non-Javadoc) diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioResizableEditPolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSResizableEditPolicy.java similarity index 93% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioResizableEditPolicy.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSResizableEditPolicy.java index cbe96daa..0c51a081 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMotionStudioResizableEditPolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/BMSResizableEditPolicy.java @@ -15,7 +15,7 @@ import org.eclipse.gef.GraphicalEditPart; import org.eclipse.gef.LayerConstants; import org.eclipse.gef.editpolicies.ResizableEditPolicy; -public class BMotionStudioResizableEditPolicy extends ResizableEditPolicy { +public class BMSResizableEditPolicy extends ResizableEditPolicy { /** * Creates the figure used for feedback. diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/ChangeAttributePolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/ChangeAttributePolicy.java index cfeb0878..781627fa 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/ChangeAttributePolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/ChangeAttributePolicy.java @@ -13,7 +13,7 @@ import org.eclipse.gef.editpolicies.AbstractEditPolicy; import de.bmotionstudio.gef.editor.library.AbstractLibraryCommand; import de.bmotionstudio.gef.editor.library.AttributeRequest; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; public class ChangeAttributePolicy extends AbstractEditPolicy { @@ -25,7 +25,7 @@ public class ChangeAttributePolicy extends AbstractEditPolicy { && request instanceof AttributeRequest) { AttributeRequest changeAttributeReq = (AttributeRequest) request; if (changeAttributeReq.getAttributeTransferObject() != null) { - AbstractLibraryCommand command = ((AppAbstractEditPart) getHost()) + AbstractLibraryCommand command = ((BMSAbstractEditPart) getHost()) .getLibraryCommand(changeAttributeReq); if (command != null) { command.setEditPart(getHost()); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/CustomDirectEditPolicy.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/CustomDirectEditPolicy.java index 0676c50a..a25a39d8 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/CustomDirectEditPolicy.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/editpolicy/CustomDirectEditPolicy.java @@ -12,7 +12,7 @@ import org.eclipse.gef.requests.DirectEditRequest; import de.bmotionstudio.gef.editor.command.RenameCommand; import de.bmotionstudio.gef.editor.model.BControl; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; public class CustomDirectEditPolicy extends DirectEditPolicy { @@ -21,7 +21,7 @@ public class CustomDirectEditPolicy extends DirectEditPolicy { */ protected Command getDirectEditCommand(DirectEditRequest edit) { String labelText = (String) edit.getCellEditor().getValue(); - AppAbstractEditPart label = (AppAbstractEditPart) getHost(); + BMSAbstractEditPart label = (BMSAbstractEditPart) getHost(); RenameCommand command = new RenameCommand(); command.setControl((BControl) label.getModel()); command.setNewString(labelText); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/ObserverRootVirtualTreeNode.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/ObserverRootVirtualTreeNode.java new file mode 100644 index 00000000..8562f648 --- /dev/null +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/ObserverRootVirtualTreeNode.java @@ -0,0 +1,31 @@ +/** + * (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.model; + +import java.util.Collection; + +import de.bmotionstudio.gef.editor.observer.Observer; + +public class ObserverRootVirtualTreeNode { + + private Collection<Observer> observer; + private BControl control; + + public ObserverRootVirtualTreeNode(BControl control) { + this.observer = control.getObservers().values(); + this.control = control; + } + + public Collection<Observer> getObserver() { + return observer; + } + + public BControl getControl() { + return control; + } + +} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractTreeEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractTreeEditPart.java deleted file mode 100644 index 598d5f6b..00000000 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractTreeEditPart.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * (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.part; - -import java.beans.PropertyChangeListener; - -import org.eclipse.gef.EditPolicy; -import org.eclipse.gef.Request; -import org.eclipse.gef.RequestConstants; -import org.eclipse.gef.editparts.AbstractTreeEditPart; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; - -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.model.BControl; - -public abstract class AppAbstractTreeEditPart extends AbstractTreeEditPart - implements PropertyChangeListener { - - public void activate() { - if (!isActive()) { - super.activate(); - ((BControl) getModel()).addPropertyChangeListener(this); - } - } - - public void deactivate() { - if (isActive()) { - super.deactivate(); - ((BControl) getModel()).removePropertyChangeListener(this); - } - } - - @Override - public void performRequest(Request req) { - if (req.getType().equals(RequestConstants.REQ_OPEN)) { - try { - IWorkbenchPage page = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getActivePage(); - page.showView(IPageLayout.ID_PROP_SHEET); - } catch (PartInitException e) { - e.printStackTrace(); - } - } - } - - @Override - protected void createEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); - } - -} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BButtonPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BButtonPart.java index 9b8a4ab8..73b1fc4e 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BButtonPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BButtonPart.java @@ -17,14 +17,14 @@ import org.eclipse.swt.graphics.RGB; import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.edit.TextCellEditorLocator; import de.bmotionstudio.gef.editor.edit.TextEditManager; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.CustomDirectEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; import de.bmotionstudio.gef.editor.figure.ButtonFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BButtonPart extends AppAbstractEditPart { +public class BButtonPart extends BMSAbstractEditPart { @Override public void refreshEditFigure(IFigure figure, BControl model, @@ -71,12 +71,12 @@ public class BButtonPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.NODE_ROLE, new RenamePolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new CustomDirectEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCheckboxPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCheckboxPart.java index 21ca996c..9ef072e0 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCheckboxPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCheckboxPart.java @@ -23,15 +23,15 @@ import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.edit.TextCellEditorLocator; import de.bmotionstudio.gef.editor.edit.TextEditManager; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.CustomDirectEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; import de.bmotionstudio.gef.editor.figure.AbstractBMotionFigure; import de.bmotionstudio.gef.editor.figure.CheckboxFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BCheckboxPart extends AppAbstractEditPart { +public class BCheckboxPart extends BMSAbstractEditPart { private ChangeListener changeListener = new ChangeListener() { @Override @@ -125,12 +125,12 @@ public class BCheckboxPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.NODE_ROLE, new RenamePolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new CustomDirectEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCompositePart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCompositePart.java index 1e363ea9..3fc4c445 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCompositePart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BCompositePart.java @@ -26,9 +26,9 @@ import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; import de.bmotionstudio.gef.editor.AttributeConstants; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.AppEditLayoutPolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSEditLayoutPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.ChangeAttributePolicy; import de.bmotionstudio.gef.editor.figure.CompositeFigure; import de.bmotionstudio.gef.editor.library.AbstractLibraryCommand; @@ -37,7 +37,7 @@ import de.bmotionstudio.gef.editor.library.LibraryImageCommand; import de.bmotionstudio.gef.editor.library.LibraryVariableCommand; import de.bmotionstudio.gef.editor.model.BControl; -public class BCompositePart extends AppAbstractEditPart { +public class BCompositePart extends BMSAbstractEditPart { @Override protected IFigure createEditFigure() { @@ -130,12 +130,12 @@ public class BCompositePart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); - installEditPolicy(EditPolicy.LAYOUT_ROLE, new AppEditLayoutPolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); + installEditPolicy(EditPolicy.LAYOUT_ROLE, new BMSEditLayoutPolicy()); installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null); installEditPolicy(EditPolicy.CONTAINER_ROLE, new SnapFeedbackPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); installEditPolicy(ChangeAttributePolicy.CHANGE_ATTRIBUTE_POLICY, new ChangeAttributePolicy()); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BConnectionEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BConnectionEditPart.java index f8cea365..e1df8676 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BConnectionEditPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BConnectionEditPart.java @@ -47,7 +47,7 @@ import de.bmotionstudio.gef.editor.command.ConnectionDeleteCommand; import de.bmotionstudio.gef.editor.model.BConnection; import de.bmotionstudio.gef.editor.model.BControl; -public class BConnectionEditPart extends AppAbstractEditPart implements +public class BConnectionEditPart extends BMSAbstractEditPart implements ConnectionEditPart, LayerConstants { protected Color foregroundColor; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BControlTreeEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BControlTreeEditPart.java index 74522c77..5139f6d0 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BControlTreeEditPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BControlTreeEditPart.java @@ -7,39 +7,30 @@ package de.bmotionstudio.gef.editor.part; import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; + +import org.eclipse.gef.EditPolicy; +import org.eclipse.gef.Request; +import org.eclipse.gef.RequestConstants; +import org.eclipse.ui.IPageLayout; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import de.bmotionstudio.gef.editor.AttributeConstants; +import de.bmotionstudio.gef.editor.BMotionStudioImage; +import de.bmotionstudio.gef.editor.EditorImageRegistry; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; import de.bmotionstudio.gef.editor.model.BConnection; import de.bmotionstudio.gef.editor.model.BControl; +import de.bmotionstudio.gef.editor.model.ObserverRootVirtualTreeNode; import de.bmotionstudio.gef.editor.model.Visualization; +import de.bmotionstudio.gef.editor.observer.Observer; -public class BControlTreeEditPart extends AppAbstractTreeEditPart { - - @Override - protected List<BControl> getModelChildren() { - Set<BControl> toShowElements = new HashSet<BControl>(); - for (BControl control : ((BControl) getModel()).getChildrenArray()) { - if (control.showInOutlineView()) - toShowElements.add(control); - List<BConnection> sourceConnections = control - .getSourceConnections(); - for (BConnection con : sourceConnections) { - if (con.showInOutlineView()) - toShowElements.add(con); - } - List<BConnection> targetConnections = control - .getTargetConnections(); - for (BConnection con : targetConnections) { - if (con.showInOutlineView()) - toShowElements.add(con); - } - } - return new ArrayList<BControl>(toShowElements); - } +public class BControlTreeEditPart extends BMSAbstractTreeEditPart implements + PropertyChangeListener { public void propertyChange(final PropertyChangeEvent evt) { if (evt.getPropertyName().equals(BControl.PROPERTY_ADD) @@ -49,13 +40,90 @@ public class BControlTreeEditPart extends AppAbstractTreeEditPart { refreshVisuals(); } + @Override + protected void createEditPolicies() { + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); + } + + @Override + protected List<Object> getModelChildren() { + + List<Object> toShowElements = new ArrayList<Object>(); + + if (getModel() instanceof BControl) { + + BControl c = (BControl) getModel(); + + for (BControl control : c.getChildrenArray()) { + if (control.showInOutlineView()) + toShowElements.add(control); + List<BConnection> sourceConnections = control + .getSourceConnections(); + for (BConnection con : sourceConnections) { + if (con.showInOutlineView()) + toShowElements.add(con); + } + List<BConnection> targetConnections = control + .getTargetConnections(); + for (BConnection con : targetConnections) { + if (con.showInOutlineView()) + toShowElements.add(con); + } + } + + if (!(getModel() instanceof Visualization)) + toShowElements.add(new ObserverRootVirtualTreeNode(c)); + + } + + return toShowElements; + + } + + public void activate() { + if (!isActive()) { + super.activate(); + ((BControl) getModel()).addPropertyChangeListener(this); + } + } + + public void deactivate() { + if (isActive()) { + super.deactivate(); + ((BControl) getModel()).removePropertyChangeListener(this); + } + } + @Override public void refreshVisuals() { - BControl bcontrol = (BControl) getModel(); - if (!(bcontrol instanceof Visualization)) { - setWidgetText(bcontrol.getAttributeValue( - AttributeConstants.ATTRIBUTE_ID).toString()); - setWidgetImage(bcontrol.getIcon()); + + Object model = getModel(); + + if (model instanceof BControl) { + BControl bcontrol = (BControl) model; + if (!(bcontrol instanceof Visualization)) { + setWidgetText(bcontrol.getAttributeValue( + AttributeConstants.ATTRIBUTE_ID).toString()); + setWidgetImage(bcontrol.getIcon()); + } + } else if (model instanceof Observer) { + setWidgetText(((Observer) model).getName()); + setWidgetImage(BMotionStudioImage + .getImage(EditorImageRegistry.IMG_ICON_OBSERVER)); + } + + } + + @Override + public void performRequest(Request req) { + if (req.getType().equals(RequestConstants.REQ_OPEN)) { + try { + IWorkbenchPage page = PlatformUI.getWorkbench() + .getActiveWorkbenchWindow().getActivePage(); + page.showView(IPageLayout.ID_PROP_SHEET); + } catch (PartInitException e) { + e.printStackTrace(); + } } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java index 33d5600a..a4e8ae67 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java @@ -13,8 +13,8 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.gef.EditPolicy; import de.bmotionstudio.gef.editor.AttributeConstants; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.ChangeAttributePolicy; import de.bmotionstudio.gef.editor.figure.BMSImageFigure; import de.bmotionstudio.gef.editor.library.AbstractLibraryCommand; @@ -22,7 +22,7 @@ import de.bmotionstudio.gef.editor.library.AttributeRequest; import de.bmotionstudio.gef.editor.library.LibraryImageCommand; import de.bmotionstudio.gef.editor.model.BControl; -public class BImagePart extends AppAbstractEditPart { +public class BImagePart extends BMSAbstractEditPart { @Override public void refreshEditFigure(IFigure figure, BControl model, @@ -67,9 +67,9 @@ public class BImagePart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); installEditPolicy(ChangeAttributePolicy.CHANGE_ATTRIBUTE_POLICY, new ChangeAttributePolicy()); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractEditPart.java similarity index 95% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractEditPart.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractEditPart.java index 91a5bc5a..86445e7c 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppAbstractEditPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractEditPart.java @@ -47,7 +47,7 @@ import de.bmotionstudio.gef.editor.model.Visualization; import de.bmotionstudio.gef.editor.observer.IObserverListener; import de.bmotionstudio.gef.editor.observer.Observer; -public abstract class AppAbstractEditPart extends AbstractGraphicalEditPart +public abstract class BMSAbstractEditPart extends AbstractGraphicalEditPart implements PropertyChangeListener, IObserverListener, IAdaptable, NodeEditPart { diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractTreeEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractTreeEditPart.java new file mode 100644 index 00000000..8c74cbf3 --- /dev/null +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSAbstractTreeEditPart.java @@ -0,0 +1,15 @@ +/** + * (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.part; + +import org.eclipse.gef.editparts.AbstractTreeEditPart; + +public abstract class BMSAbstractTreeEditPart extends AbstractTreeEditPart { + + + +} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppEditPartFactory.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSEditPartFactory.java similarity index 92% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppEditPartFactory.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSEditPartFactory.java index ed44ebee..6c8852b5 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppEditPartFactory.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSEditPartFactory.java @@ -17,7 +17,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -public class AppEditPartFactory implements EditPartFactory { +public class BMSEditPartFactory implements EditPartFactory { @Override public EditPart createEditPart(EditPart context, Object model) { diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppTreeEditPartFactory.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSTreeEditPartFactory.java similarity index 52% rename from de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppTreeEditPartFactory.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSTreeEditPartFactory.java index 42aa2bc8..7114d753 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/AppTreeEditPartFactory.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BMSTreeEditPartFactory.java @@ -10,17 +10,28 @@ import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPartFactory; import de.bmotionstudio.gef.editor.model.BControl; +import de.bmotionstudio.gef.editor.model.ObserverRootVirtualTreeNode; +import de.bmotionstudio.gef.editor.observer.Observer; -public class AppTreeEditPartFactory implements EditPartFactory { +public class BMSTreeEditPartFactory implements EditPartFactory { public EditPart createEditPart(EditPart context, Object model) { - BControlTreeEditPart part = null; + + BMSAbstractTreeEditPart part = null; + if (model instanceof BControl) { part = new BControlTreeEditPart(); - if (part != null) - part.setModel(model); + } else if (model instanceof Observer) { + part = new ObserverTreeEditPart(); + } else if (model instanceof ObserverRootVirtualTreeNode) { + part = new ObserverRootTreeEditpart(); } + + if (part != null) + part.setModel(model); + return part; + } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BRadioButtonPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BRadioButtonPart.java index f4ad340b..6f69bd69 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BRadioButtonPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BRadioButtonPart.java @@ -24,15 +24,15 @@ import de.bmotionstudio.gef.editor.ButtonGroupHelper; import de.bmotionstudio.gef.editor.ImageRegistry; import de.bmotionstudio.gef.editor.edit.TextCellEditorLocator; import de.bmotionstudio.gef.editor.edit.TextEditManager; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.CustomDirectEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; import de.bmotionstudio.gef.editor.figure.AbstractBMotionFigure; import de.bmotionstudio.gef.editor.figure.RadioButtonFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BRadioButtonPart extends AppAbstractEditPart { +public class BRadioButtonPart extends BMSAbstractEditPart { private ChangeListener changeListener = new ChangeListener() { @Override @@ -142,12 +142,12 @@ public class BRadioButtonPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.NODE_ROLE, new RenamePolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new CustomDirectEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BShapePart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BShapePart.java index 1ffe72f8..c38752cc 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BShapePart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BShapePart.java @@ -17,12 +17,12 @@ import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; import de.bmotionstudio.gef.editor.AttributeConstants; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.figure.ShapeFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BShapePart extends AppAbstractEditPart { +public class BShapePart extends BMSAbstractEditPart { @Override public void refreshEditFigure(IFigure figure, BControl model, @@ -117,9 +117,9 @@ public class BShapePart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableCellPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableCellPart.java index 8c7907cd..fa8c5c2d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableCellPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableCellPart.java @@ -16,7 +16,7 @@ import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; import de.bmotionstudio.gef.editor.figure.TableCellFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BTableCellPart extends AppAbstractEditPart { +public class BTableCellPart extends BMSAbstractEditPart { @Override protected IFigure createEditFigure() { diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableColumnPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableColumnPart.java index 55b7db8b..77c24203 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableColumnPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTableColumnPart.java @@ -11,12 +11,12 @@ import org.eclipse.swt.graphics.RGB; import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.EditorImageRegistry; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionStudioFlowEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSFlowEditPolicy; import de.bmotionstudio.gef.editor.figure.TableColumnFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BTableColumnPart extends AppAbstractEditPart { +public class BTableColumnPart extends BMSAbstractEditPart { @Override protected IFigure createEditFigure() { @@ -33,9 +33,9 @@ public class BTableColumnPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { installEditPolicy(EditPolicy.LAYOUT_ROLE, - new BMotionStudioFlowEditPolicy()); + new BMSFlowEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override @@ -88,8 +88,8 @@ public class BTableColumnPart extends AppAbstractEditPart { } // Notify parent table about change - if (getParent() instanceof AppAbstractEditPart) { - AppAbstractEditPart tablePart = (AppAbstractEditPart) getParent(); + if (getParent() instanceof BMSAbstractEditPart) { + BMSAbstractEditPart tablePart = (BMSAbstractEditPart) getParent(); tablePart.refreshEditLayout(tablePart.getFigure(), control.getParent()); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTablePart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTablePart.java index 75a25091..4c93761e 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTablePart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTablePart.java @@ -13,15 +13,15 @@ import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.EditorImageRegistry; import de.bmotionstudio.gef.editor.command.CreateCommand; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionStudioFlowEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSFlowEditPolicy; import de.bmotionstudio.gef.editor.figure.TableFigure; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BTableCell; import de.bmotionstudio.gef.editor.model.BTableColumn; -public class BTablePart extends AppAbstractEditPart { +public class BTablePart extends BMSAbstractEditPart { @Override protected IFigure createEditFigure() { @@ -38,10 +38,10 @@ public class BTablePart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { installEditPolicy(EditPolicy.LAYOUT_ROLE, - new BMotionStudioFlowEditPolicy()); - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + new BMSFlowEditPolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextPart.java index 5de397b0..652b0bab 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextPart.java @@ -18,8 +18,8 @@ import org.eclipse.swt.widgets.Display; import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.edit.TextCellEditorLocator; import de.bmotionstudio.gef.editor.edit.TextEditManager; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.ChangeAttributePolicy; import de.bmotionstudio.gef.editor.editpolicy.CustomDirectEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; @@ -29,7 +29,7 @@ import de.bmotionstudio.gef.editor.library.AttributeRequest; import de.bmotionstudio.gef.editor.library.LibraryVariableCommand; import de.bmotionstudio.gef.editor.model.BControl; -public class BTextPart extends AppAbstractEditPart { +public class BTextPart extends BMSAbstractEditPart { @Override public void refreshEditFigure(IFigure figure, BControl model, @@ -97,12 +97,12 @@ public class BTextPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.NODE_ROLE, new RenamePolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new CustomDirectEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); installEditPolicy(ChangeAttributePolicy.CHANGE_ATTRIBUTE_POLICY, new ChangeAttributePolicy()); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextfieldPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextfieldPart.java index 424e6da8..e0b31366 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextfieldPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BTextfieldPart.java @@ -19,15 +19,15 @@ import org.eclipse.gef.RequestConstants; import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.edit.TextCellEditorLocator; import de.bmotionstudio.gef.editor.edit.TextEditManager; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.BMotionNodeEditPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSNodeEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.CustomDirectEditPolicy; import de.bmotionstudio.gef.editor.editpolicy.RenamePolicy; import de.bmotionstudio.gef.editor.figure.AbstractBMotionFigure; import de.bmotionstudio.gef.editor.figure.TextfieldFigure; import de.bmotionstudio.gef.editor.model.BControl; -public class BTextfieldPart extends AppAbstractEditPart { +public class BTextfieldPart extends BMSAbstractEditPart { private TextEditManager textEditManager; @@ -111,12 +111,12 @@ public class BTextfieldPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); installEditPolicy(EditPolicy.NODE_ROLE, new RenamePolicy()); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new CustomDirectEditPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, - new BMotionNodeEditPolicy()); + new BMSNodeEditPolicy()); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverRootTreeEditpart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverRootTreeEditpart.java new file mode 100644 index 00000000..fd70efd9 --- /dev/null +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverRootTreeEditpart.java @@ -0,0 +1,61 @@ +/** + * (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.part; + +import java.util.ArrayList; +import java.util.List; + +import de.bmotionstudio.gef.editor.BMotionStudioImage; +import de.bmotionstudio.gef.editor.EditorImageRegistry; +import de.bmotionstudio.gef.editor.model.BControl; +import de.bmotionstudio.gef.editor.model.ObserverRootVirtualTreeNode; +import de.bmotionstudio.gef.editor.observer.IObserverListener; +import de.bmotionstudio.gef.editor.observer.Observer; + +public class ObserverRootTreeEditpart extends BMSAbstractTreeEditPart implements + IObserverListener { + + public void activate() { + if (!isActive()) { + super.activate(); + ((ObserverRootVirtualTreeNode) getModel()).getControl() + .addObserverListener(this); + } + } + + public void deactivate() { + if (isActive()) { + super.deactivate(); + ((ObserverRootVirtualTreeNode) getModel()).getControl() + .removeObserverListener(this); + } + } + + @Override + protected List<Object> getModelChildren() { + ObserverRootVirtualTreeNode model = (ObserverRootVirtualTreeNode) getModel(); + return new ArrayList<Object>(model.getObserver()); + } + + @Override + public void refreshVisuals() { + setWidgetText("Observer"); + setWidgetImage(BMotionStudioImage + .getImage(EditorImageRegistry.IMG_ICON_OBSERVER)); + } + + @Override + public void addedObserver(BControl control, Observer observer) { + refreshChildren(); + } + + @Override + public void removedObserver(BControl control) { + refreshChildren(); + } + +} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverTreeEditPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverTreeEditPart.java new file mode 100644 index 00000000..1c4105be --- /dev/null +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/ObserverTreeEditPart.java @@ -0,0 +1,23 @@ +/** + * (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.part; + +import de.bmotionstudio.gef.editor.BMotionStudioImage; +import de.bmotionstudio.gef.editor.EditorImageRegistry; +import de.bmotionstudio.gef.editor.observer.Observer; + +public class ObserverTreeEditPart extends BMSAbstractTreeEditPart { + + @Override + public void refreshVisuals() { + Observer o = (Observer) getModel(); + setWidgetText(o.getName()); + setWidgetImage(BMotionStudioImage + .getImage(EditorImageRegistry.IMG_ICON_OBSERVER)); + } + +} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/UnknownPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/UnknownPart.java index 5b18e42c..97424556 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/UnknownPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/UnknownPart.java @@ -13,7 +13,7 @@ import org.eclipse.draw2d.IFigure; import de.bmotionstudio.gef.editor.figure.UnknownBControl; import de.bmotionstudio.gef.editor.model.BControl; -public class UnknownPart extends AppAbstractEditPart { +public class UnknownPart extends BMSAbstractEditPart { public static String ID = "de.bmotionstudio.gef.editor.unknown"; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/VisualizationPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/VisualizationPart.java index ffa7230b..2ecbed07 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/VisualizationPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/VisualizationPart.java @@ -24,8 +24,8 @@ import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; import de.bmotionstudio.gef.editor.AttributeConstants; -import de.bmotionstudio.gef.editor.editpolicy.AppDeletePolicy; -import de.bmotionstudio.gef.editor.editpolicy.AppEditLayoutPolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy; +import de.bmotionstudio.gef.editor.editpolicy.BMSEditLayoutPolicy; import de.bmotionstudio.gef.editor.editpolicy.ChangeAttributePolicy; import de.bmotionstudio.gef.editor.figure.VisualizationFigure; import de.bmotionstudio.gef.editor.library.AbstractLibraryCommand; @@ -34,7 +34,7 @@ import de.bmotionstudio.gef.editor.library.LibraryImageCommand; import de.bmotionstudio.gef.editor.library.LibraryVariableCommand; import de.bmotionstudio.gef.editor.model.BControl; -public class VisualizationPart extends AppAbstractEditPart { +public class VisualizationPart extends BMSAbstractEditPart { public static String ID = "de.bmotionstudio.gef.editor.visualization"; @@ -50,8 +50,8 @@ public class VisualizationPart extends AppAbstractEditPart { @Override protected void prepareEditPolicies() { - installEditPolicy(EditPolicy.COMPONENT_ROLE, new AppDeletePolicy()); - installEditPolicy(EditPolicy.LAYOUT_ROLE, new AppEditLayoutPolicy()); + installEditPolicy(EditPolicy.COMPONENT_ROLE, new BMSDeletePolicy()); + installEditPolicy(EditPolicy.LAYOUT_ROLE, new BMSEditLayoutPolicy()); installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null); installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null); installEditPolicy(EditPolicy.CONTAINER_ROLE, new SnapFeedbackPolicy()); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BButtonService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BButtonService.java index e53c63a0..e0b5b38b 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BButtonService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BButtonService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BButton; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BButtonPart; /** @@ -39,7 +39,7 @@ public class BButtonService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BButtonPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCheckboxService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCheckboxService.java index 7172275a..dcaebcef 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCheckboxService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCheckboxService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BCheckbox; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BCheckboxPart; /** @@ -39,7 +39,7 @@ public class BCheckboxService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BCheckboxPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCompositeService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCompositeService.java index 863246a3..4a11b1d1 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCompositeService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BCompositeService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BComposite; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BCompositePart; /** @@ -39,7 +39,7 @@ public class BCompositeService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BCompositePart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BConnectionService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BConnectionService.java index 6d88ddeb..8c2c8e97 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BConnectionService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BConnectionService.java @@ -17,7 +17,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BConnection; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BConnectionEditPart; /** @@ -47,7 +47,7 @@ public class BConnectionService extends AbstractBControlService implements } @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BConnectionEditPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BEllipseService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BEllipseService.java index 40de317b..ffaf7f7d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BEllipseService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BEllipseService.java @@ -7,7 +7,7 @@ import de.bmotionstudio.gef.editor.attribute.BAttributeShape; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BShape; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BShapePart; public class BEllipseService extends AbstractBControlService implements @@ -26,7 +26,7 @@ public class BEllipseService extends AbstractBControlService implements } @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BShapePart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BImageService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BImageService.java index 22886fb6..e70769ac 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BImageService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BImageService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BImage; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BImagePart; /** @@ -39,7 +39,7 @@ public class BImageService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BImagePart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRadioButtonService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRadioButtonService.java index 58d463b8..ae4b4250 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRadioButtonService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRadioButtonService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BRadioButton; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BRadioButtonPart; /** @@ -39,7 +39,7 @@ public class BRadioButtonService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BRadioButtonPart(); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRectangleService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRectangleService.java index 4f74a1ba..f29b430d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRectangleService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BRectangleService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BShape; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BShapePart; /** @@ -39,7 +39,7 @@ public class BRectangleService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BShapePart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableCellService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableCellService.java index 36bd5c52..65dd6ccc 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableCellService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableCellService.java @@ -5,7 +5,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BTableCell; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BTableCellPart; public class BTableCellService extends AbstractBControlService implements @@ -17,7 +17,7 @@ public class BTableCellService extends AbstractBControlService implements } @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BTableCellPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableColumnService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableColumnService.java index ea26c632..447e9918 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableColumnService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableColumnService.java @@ -5,7 +5,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BTableColumn; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BTableColumnPart; public class BTableColumnService extends AbstractBControlService implements @@ -17,7 +17,7 @@ public class BTableColumnService extends AbstractBControlService implements } @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BTableColumnPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableService.java index da6182eb..67da1a61 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTableService.java @@ -5,7 +5,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BTable; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BTablePart; public class BTableService extends AbstractBControlService implements @@ -17,7 +17,7 @@ public class BTableService extends AbstractBControlService implements } @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BTablePart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextService.java index 4eb9bc34..77fcbaa3 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BText; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BTextPart; /** @@ -39,7 +39,7 @@ public class BTextService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BTextPart(); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextfieldService.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextfieldService.java index 1512b76a..694879b1 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextfieldService.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/service/BTextfieldService.java @@ -11,7 +11,7 @@ import de.bmotionstudio.gef.editor.IBControlService; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.model.BTextfield; import de.bmotionstudio.gef.editor.model.Visualization; -import de.bmotionstudio.gef.editor.part.AppAbstractEditPart; +import de.bmotionstudio.gef.editor.part.BMSAbstractEditPart; import de.bmotionstudio.gef.editor.part.BTextfieldPart; /** @@ -39,7 +39,7 @@ public class BTextfieldService extends AbstractBControlService implements * @see de.bmotionstudio.gef.editor.IBControlService#createEditPart() */ @Override - public AppAbstractEditPart createEditPart() { + public BMSAbstractEditPart createEditPart() { return new BTextfieldPart(); } -- GitLab