diff options
Diffstat (limited to 'plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor')
12 files changed, 1076 insertions, 1076 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java index 1313ab362c1..f7d39e6df76 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java @@ -1,440 +1,440 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor;
-
-import java.util.Arrays;
-import java.util.EventObject;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
-import org.eclipse.gef.dnd.TemplateTransferDropTargetListener;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.gef.requests.SimpleFactory;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.gef.ui.parts.ContentOutlinePage;
-import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.gef.ui.parts.TreeViewer;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.TransferDropTargetListener;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver;
-import org.eclipse.osee.ats.workflow.AtsWorkPage;
-import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
-import org.eclipse.osee.ats.workflow.editor.model.CancelledWorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.CompletedWorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.DefaultTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.TransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
-import org.eclipse.osee.ats.workflow.editor.parts.ShapesEditPartFactory;
-import org.eclipse.osee.ats.workflow.editor.parts.ShapesTreeEditPartFactory;
-import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.event.FrameworkTransactionData;
-import org.eclipse.osee.framework.skynet.core.event.IFrameworkTransactionEventListener;
-import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
-import org.eclipse.osee.framework.skynet.core.event.Sender;
-import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener;
-import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.plugin.util.Result;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * A graphical editor for the configuration of ATS workflows<br>
- * <REM2>
- *
- * @author Donald G. Dunne
- */
-public class AtsWorkflowConfigEditor extends GraphicalEditorWithFlyoutPalette implements IArtifactEventListener, IFrameworkTransactionEventListener {
-
- /** This is the root of the editor's model. */
- private WorkflowDiagram diagram;
- /** Palette component, holding the tools and shapes. */
- private static PaletteRoot PALETTE_MODEL;
- public static String EDITOR_ID = "org.eclipse.osee.ats.workflow.editor.AtsWorkflowConfigEditor";
-
- /** Create a new ShapesEditor instance. This is called by the Workspace. */
- public AtsWorkflowConfigEditor() {
- setEditDomain(new DefaultEditDomain(this));
- OseeEventManager.addListener(this);
- }
-
- /**
- * Configure the graphical viewer before it receives contents.
- * <p>
- * This is the place to choose an appropriate RootEditPart and EditPartFactory for your editor. The RootEditPart
- * determines the behavior of the editor's "work-area". For example, GEF includes zoomable and scrollable root edit
- * parts. The EditPartFactory maps model elements to edit parts (controllers).
- * </p>
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
- */
- @Override
- protected void configureGraphicalViewer() {
- super.configureGraphicalViewer();
-
- GraphicalViewer viewer = getGraphicalViewer();
- viewer.setEditPartFactory(new ShapesEditPartFactory());
- viewer.setRootEditPart(new ScalableFreeformRootEditPart());
- viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
-
- // configure the context menu provider
- ContextMenuProvider cmProvider = new AtsWorkflowConfigEditorContextMenuProvider(viewer, getActionRegistry());
- viewer.setContextMenu(cmProvider);
- getSite().registerContextMenu(cmProvider, viewer);
- AtsPlugin.getInstance().setHelp(viewer.getControl(), "atsConfigureWorkflow", "org.eclipse.osee.ats.help.ui");
-
- }
-
- @Override
- public void commandStackChanged(EventObject event) {
- firePropertyChange(IEditorPart.PROP_DIRTY);
- super.commandStackChanged(event);
- }
-
- @Override
- protected PaletteViewerProvider createPaletteViewerProvider() {
- return new PaletteViewerProvider(getEditDomain()) {
- @Override
- protected void configurePaletteViewer(PaletteViewer viewer) {
- super.configurePaletteViewer(viewer);
- // create a drag source listener for this palette viewer
- // together with an appropriate transfer drop target listener, this will enable
- // model element creation by dragging a CombinatedTemplateCreationEntries
- // from the palette into the editor
- // @see ShapesEditor#createTransferDropTargetListener()
- viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
- }
- };
- }
-
- /**
- * Create a transfer drop target listener. When using a CombinedTemplateCreationEntry tool in the palette, this will
- * enable model element creation by dragging from the palette.
- *
- * @see #createPaletteViewerProvider()
- */
- private TransferDropTargetListener createTransferDropTargetListener() {
- return new TemplateTransferDropTargetListener(getGraphicalViewer()) {
- @Override
- protected CreationFactory getFactory(Object template) {
- return new SimpleFactory((Class<?>) template);
- }
- };
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- try {
- SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Configuration Editor Save");
- Result result = diagram.doSave(transaction);
- if (result.isFalse()) {
- AWorkbench.popup("Save Error", result.getText());
- return;
- }
- transaction.execute();
- diagram.getWorkFlowDefinition().loadPageData(true);
- getCommandStack().markSaveLocation();
-
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
- @Override
- public void doSaveAs() {
- AWorkbench.popup("ERROR", "Not implemented yet");
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public Object getAdapter(Class type) {
- if (type == IContentOutlinePage.class) {
- return new ShapesOutlinePage(new TreeViewer());
- }
- return super.getAdapter(type);
- }
-
- WorkflowDiagram getModel() {
- return diagram;
- }
-
- @Override
- protected PaletteRoot getPaletteRoot() {
- if (PALETTE_MODEL == null) {
- PALETTE_MODEL = AtsWorkflowConfigEditorPaletteFactory.createPalette(this);
- }
- return PALETTE_MODEL;
- }
-
- /**
- * Set up the editor's inital content (after creation).
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#initializeGraphicalViewer()
- */
- @Override
- protected void initializeGraphicalViewer() {
- super.initializeGraphicalViewer();
- GraphicalViewer viewer = getGraphicalViewer();
- viewer.setContents(getModel()); // set the contents of this editor
-
- // listen for dropped parts
- viewer.addDropTargetListener(createTransferDropTargetListener());
- createActions();
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected void createActions() {
- super.createActions();
- ActionRegistry registry = getActionRegistry();
- IAction action;
-
- action = new EditAction();
- registry.registerAction(action);
- getStackActions().add(action.getId());
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return true;
- }
-
- @Override
- protected void setInput(IEditorInput input) {
- super.setInput(input);
- if (input instanceof AtsWorkflowConfigEditorInput) {
- AtsWorkflowConfigEditorInput editorInput = (AtsWorkflowConfigEditorInput) input;
- WorkFlowDefinition workflowDef = editorInput.workflow;
- try {
- setPartName(workflowDef.getName());
- diagram = new WorkflowDiagram(workflowDef);
- int yLoc = 0;
- WorkPageDefinition startPage = workflowDef.getStartPage();
- if (startPage == null || startPage.getName().equals("")) {
- throw new OseeArgumentException("StartPage null for workflow " + workflowDef);
- }
- // Create states
- List<WorkPageDefinition> pages = workflowDef.getPagesOrdered();
- for (WorkPageDefinition page : workflowDef.getPages()) {
- if (!pages.contains(page)) {
- pages.add(page);
- }
- }
- for (WorkPageDefinition pageDef : pages) {
- WorkPageShape pageShape = null;
- if (pageDef.isCancelledPage()) {
- pageShape = new CancelledWorkPageShape(pageDef);
- pageShape.setLocation(new Point(250, 300));
- } else if (pageDef.isCompletePage()) {
- pageShape = new CompletedWorkPageShape(pageDef);
- pageShape.setLocation(new Point(50, yLoc += 90));
- } else {
- pageShape = new WorkPageShape(pageDef);
- pageShape.setLocation(new Point(50, yLoc += 90));
- }
- pageShape.setStartPage(startPage.getId().equals(pageShape.getId()) || pageShape.getId().endsWith(
- startPage.getId()));
- diagram.addChild(pageShape);
- }
-
- // Create transitions
- for (WorkPageDefinition workPageDefinition : workflowDef.getPagesOrdered()) {
- WorkPageShape pageShape = getWorkPageShape(workPageDefinition);
- AtsWorkPage atsWorkPage =
- new AtsWorkPage(workflowDef, workPageDefinition, null, ATSXWidgetOptionResolver.getInstance());
- // Handle to pages
- Set<WorkPageDefinition> toPages = new HashSet<WorkPageDefinition>();
- toPages.addAll(atsWorkPage.getToPages());
- List<WorkPageDefinition> returnPages = atsWorkPage.getReturnPages();
- for (WorkPageDefinition toPageDef : toPages) {
- // Don't want to show return pages twice
- if (returnPages.contains(toPageDef)) {
- continue;
- }
- WorkPageShape toPageShape = getWorkPageShape(toPageDef);
- if (toPageDef.equals(atsWorkPage.getDefaultToPage())) {
- new DefaultTransitionConnection(pageShape, toPageShape);
- // System.out.println("Default: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- } else {
- new TransitionConnection(pageShape, toPageShape);
- // System.out.println("To: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- }
- }
- // Handle return pages
- for (WorkPageDefinition toPageDef : returnPages) {
- WorkPageShape toPageShape = getWorkPageShape(toPageDef);
- new ReturnTransitionConnection(pageShape, toPageShape);
- // System.out.println("Return: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
-
- } else {
- throw new IllegalStateException("Invalid editor input");
- }
-
- }
-
- private WorkPageShape getWorkPageShape(WorkPageDefinition page) {
- for (Object object : getModel().getChildren()) {
- if (object instanceof WorkPageShape) {
- if (((WorkPageShape) object).getId().equals(page.getId()) || (page.getParentId() != null && ((WorkPageShape) object).getId().equals(
- page.getParentId()))) {
- return (WorkPageShape) object;
- }
- }
- }
- return null;
- }
- /**
- * Creates an outline pagebook for this editor.
- */
- public class ShapesOutlinePage extends ContentOutlinePage {
- /**
- * Create a new outline page for the shapes editor.
- *
- * @param viewer a viewer (TreeViewer instance) used for this outline page
- * @throws OseeArgumentException if editor is null
- */
- public ShapesOutlinePage(EditPartViewer viewer) {
- super(viewer);
- }
-
- @Override
- public void createControl(Composite parent) {
- // create outline viewer page
- getViewer().createControl(parent);
- // configure outline viewer
- getViewer().setEditDomain(getEditDomain());
- getViewer().setEditPartFactory(new ShapesTreeEditPartFactory());
- // configure & add context menu to viewer
- ContextMenuProvider cmProvider =
- new AtsWorkflowConfigEditorContextMenuProvider(getViewer(), getActionRegistry());
- getViewer().setContextMenu(cmProvider);
- getSite().registerContextMenu("org.eclipse.osee.ats.config.editor.contextmenu", cmProvider,
- getSite().getSelectionProvider());
- // hook outline viewer
- getSelectionSynchronizer().addViewer(getViewer());
- // initialize outline viewer with model
- getViewer().setContents(getModel());
- // show outline viewer
- }
-
- @Override
- public void dispose() {
- // unhook outline viewer
- getSelectionSynchronizer().removeViewer(getViewer());
- // dispose
- super.dispose();
- }
-
- @Override
- public Control getControl() {
- return getViewer().getControl();
- }
-
- /**
- * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
- */
- @Override
- public void init(IPageSite pageSite) {
- super.init(pageSite);
- ActionRegistry registry = getActionRegistry();
- IActionBars bars = pageSite.getActionBars();
- String id = ActionFactory.UNDO.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- id = ActionFactory.REDO.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- id = ActionFactory.DELETE.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- }
- }
-
- public void closeEditor() {
- final IEditorPart editor = this;
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- if (AWorkbench.getActivePage() != null) {
- AWorkbench.getActivePage().closeEditor(editor, false);
- }
- }
- });
- }
-
- @Override
- public void handleFrameworkTransactionEvent(Sender sender, FrameworkTransactionData transData) throws OseeCoreException {
- if (transData.branchId != AtsUtil.getAtsBranch().getId()) {
- return;
- }
- for (Artifact delArt : transData.cacheDeletedArtifacts) {
- if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
- if (delArt.getName().equals(getPartName())) {
- closeEditor();
- }
- }
- }
- System.out.println("Add refresh of editor if workflow mod");
- }
-
- @Override
- public List<? extends IEventFilter> getEventFilters() {
- return Arrays.asList(OseeEventManager.getCommonBranchFilter(), AtsUtil.getWorkItemArtifactTypeEventFilter());
- }
-
- @Override
- public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
- for (Artifact delArt : artifactEvent.getCacheArtifacts(EventModType.Deleted)) {
- if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
- if (delArt.getName().equals(getPartName())) {
- closeEditor();
- }
- }
- }
- System.out.println("Add refresh of editor if workflow mod");
- }
-
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor; + +import java.util.Arrays; +import java.util.EventObject; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.gef.ContextMenuProvider; +import org.eclipse.gef.DefaultEditDomain; +import org.eclipse.gef.EditPartViewer; +import org.eclipse.gef.GraphicalViewer; +import org.eclipse.gef.dnd.TemplateTransferDragSourceListener; +import org.eclipse.gef.dnd.TemplateTransferDropTargetListener; +import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; +import org.eclipse.gef.palette.PaletteRoot; +import org.eclipse.gef.requests.CreationFactory; +import org.eclipse.gef.requests.SimpleFactory; +import org.eclipse.gef.ui.actions.ActionRegistry; +import org.eclipse.gef.ui.palette.PaletteViewer; +import org.eclipse.gef.ui.palette.PaletteViewerProvider; +import org.eclipse.gef.ui.parts.ContentOutlinePage; +import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette; +import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler; +import org.eclipse.gef.ui.parts.TreeViewer; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.util.TransferDropTargetListener; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver; +import org.eclipse.osee.ats.workflow.AtsWorkPage; +import org.eclipse.osee.ats.workflow.editor.actions.EditAction; +import org.eclipse.osee.ats.workflow.editor.model.CancelledWorkPageShape; +import org.eclipse.osee.ats.workflow.editor.model.CompletedWorkPageShape; +import org.eclipse.osee.ats.workflow.editor.model.DefaultTransitionConnection; +import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection; +import org.eclipse.osee.ats.workflow.editor.model.TransitionConnection; +import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape; +import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram; +import org.eclipse.osee.ats.workflow.editor.parts.ShapesEditPartFactory; +import org.eclipse.osee.ats.workflow.editor.parts.ShapesTreeEditPartFactory; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.exception.OseeArgumentException; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.event.FrameworkTransactionData; +import org.eclipse.osee.framework.skynet.core.event.IFrameworkTransactionEventListener; +import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; +import org.eclipse.osee.framework.skynet.core.event.Sender; +import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent; +import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType; +import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener; +import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.util.Result; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition; +import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.part.IPageSite; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +/** + * A graphical editor for the configuration of ATS workflows<br> + * <REM2> + * + * @author Donald G. Dunne + */ +public class AtsWorkflowConfigEditor extends GraphicalEditorWithFlyoutPalette implements IArtifactEventListener, IFrameworkTransactionEventListener { + + /** This is the root of the editor's model. */ + private WorkflowDiagram diagram; + /** Palette component, holding the tools and shapes. */ + private static PaletteRoot PALETTE_MODEL; + public static String EDITOR_ID = "org.eclipse.osee.ats.workflow.editor.AtsWorkflowConfigEditor"; + + /** Create a new ShapesEditor instance. This is called by the Workspace. */ + public AtsWorkflowConfigEditor() { + setEditDomain(new DefaultEditDomain(this)); + OseeEventManager.addListener(this); + } + + /** + * Configure the graphical viewer before it receives contents. + * <p> + * This is the place to choose an appropriate RootEditPart and EditPartFactory for your editor. The RootEditPart + * determines the behavior of the editor's "work-area". For example, GEF includes zoomable and scrollable root edit + * parts. The EditPartFactory maps model elements to edit parts (controllers). + * </p> + * + * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer() + */ + @Override + protected void configureGraphicalViewer() { + super.configureGraphicalViewer(); + + GraphicalViewer viewer = getGraphicalViewer(); + viewer.setEditPartFactory(new ShapesEditPartFactory()); + viewer.setRootEditPart(new ScalableFreeformRootEditPart()); + viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)); + + // configure the context menu provider + ContextMenuProvider cmProvider = new AtsWorkflowConfigEditorContextMenuProvider(viewer, getActionRegistry()); + viewer.setContextMenu(cmProvider); + getSite().registerContextMenu(cmProvider, viewer); + AtsPlugin.getInstance().setHelp(viewer.getControl(), "atsConfigureWorkflow", "org.eclipse.osee.ats.help.ui"); + + } + + @Override + public void commandStackChanged(EventObject event) { + firePropertyChange(IEditorPart.PROP_DIRTY); + super.commandStackChanged(event); + } + + @Override + protected PaletteViewerProvider createPaletteViewerProvider() { + return new PaletteViewerProvider(getEditDomain()) { + @Override + protected void configurePaletteViewer(PaletteViewer viewer) { + super.configurePaletteViewer(viewer); + // create a drag source listener for this palette viewer + // together with an appropriate transfer drop target listener, this will enable + // model element creation by dragging a CombinatedTemplateCreationEntries + // from the palette into the editor + // @see ShapesEditor#createTransferDropTargetListener() + viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer)); + } + }; + } + + /** + * Create a transfer drop target listener. When using a CombinedTemplateCreationEntry tool in the palette, this will + * enable model element creation by dragging from the palette. + * + * @see #createPaletteViewerProvider() + */ + private TransferDropTargetListener createTransferDropTargetListener() { + return new TemplateTransferDropTargetListener(getGraphicalViewer()) { + @Override + protected CreationFactory getFactory(Object template) { + return new SimpleFactory((Class<?>) template); + } + }; + } + + @Override + public void doSave(IProgressMonitor monitor) { + try { + SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Configuration Editor Save"); + Result result = diagram.doSave(transaction); + if (result.isFalse()) { + AWorkbench.popup("Save Error", result.getText()); + return; + } + transaction.execute(); + diagram.getWorkFlowDefinition().loadPageData(true); + getCommandStack().markSaveLocation(); + + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + } + + @Override + public void doSaveAs() { + AWorkbench.popup("ERROR", "Not implemented yet"); + } + + @SuppressWarnings("rawtypes") + @Override + public Object getAdapter(Class type) { + if (type == IContentOutlinePage.class) { + return new ShapesOutlinePage(new TreeViewer()); + } + return super.getAdapter(type); + } + + WorkflowDiagram getModel() { + return diagram; + } + + @Override + protected PaletteRoot getPaletteRoot() { + if (PALETTE_MODEL == null) { + PALETTE_MODEL = AtsWorkflowConfigEditorPaletteFactory.createPalette(this); + } + return PALETTE_MODEL; + } + + /** + * Set up the editor's inital content (after creation). + * + * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#initializeGraphicalViewer() + */ + @Override + protected void initializeGraphicalViewer() { + super.initializeGraphicalViewer(); + GraphicalViewer viewer = getGraphicalViewer(); + viewer.setContents(getModel()); // set the contents of this editor + + // listen for dropped parts + viewer.addDropTargetListener(createTransferDropTargetListener()); + createActions(); + } + + @SuppressWarnings("unchecked") + @Override + protected void createActions() { + super.createActions(); + ActionRegistry registry = getActionRegistry(); + IAction action; + + action = new EditAction(); + registry.registerAction(action); + getStackActions().add(action.getId()); + } + + @Override + public boolean isSaveAsAllowed() { + return true; + } + + @Override + protected void setInput(IEditorInput input) { + super.setInput(input); + if (input instanceof AtsWorkflowConfigEditorInput) { + AtsWorkflowConfigEditorInput editorInput = (AtsWorkflowConfigEditorInput) input; + WorkFlowDefinition workflowDef = editorInput.workflow; + try { + setPartName(workflowDef.getName()); + diagram = new WorkflowDiagram(workflowDef); + int yLoc = 0; + WorkPageDefinition startPage = workflowDef.getStartPage(); + if (startPage == null || startPage.getName().equals("")) { + throw new OseeArgumentException("StartPage null for workflow " + workflowDef); + } + // Create states + List<WorkPageDefinition> pages = workflowDef.getPagesOrdered(); + for (WorkPageDefinition page : workflowDef.getPages()) { + if (!pages.contains(page)) { + pages.add(page); + } + } + for (WorkPageDefinition pageDef : pages) { + WorkPageShape pageShape = null; + if (pageDef.isCancelledPage()) { + pageShape = new CancelledWorkPageShape(pageDef); + pageShape.setLocation(new Point(250, 300)); + } else if (pageDef.isCompletePage()) { + pageShape = new CompletedWorkPageShape(pageDef); + pageShape.setLocation(new Point(50, yLoc += 90)); + } else { + pageShape = new WorkPageShape(pageDef); + pageShape.setLocation(new Point(50, yLoc += 90)); + } + pageShape.setStartPage(startPage.getId().equals(pageShape.getId()) || pageShape.getId().endsWith( + startPage.getId())); + diagram.addChild(pageShape); + } + + // Create transitions + for (WorkPageDefinition workPageDefinition : workflowDef.getPagesOrdered()) { + WorkPageShape pageShape = getWorkPageShape(workPageDefinition); + AtsWorkPage atsWorkPage = + new AtsWorkPage(workflowDef, workPageDefinition, null, ATSXWidgetOptionResolver.getInstance()); + // Handle to pages + Set<WorkPageDefinition> toPages = new HashSet<WorkPageDefinition>(); + toPages.addAll(atsWorkPage.getToPages()); + List<WorkPageDefinition> returnPages = atsWorkPage.getReturnPages(); + for (WorkPageDefinition toPageDef : toPages) { + // Don't want to show return pages twice + if (returnPages.contains(toPageDef)) { + continue; + } + WorkPageShape toPageShape = getWorkPageShape(toPageDef); + if (toPageDef.equals(atsWorkPage.getDefaultToPage())) { + new DefaultTransitionConnection(pageShape, toPageShape); + // System.out.println("Default: " + atsWorkPage.getName() + " -> " + toPageShape.getName()); + } else { + new TransitionConnection(pageShape, toPageShape); + // System.out.println("To: " + atsWorkPage.getName() + " -> " + toPageShape.getName()); + } + } + // Handle return pages + for (WorkPageDefinition toPageDef : returnPages) { + WorkPageShape toPageShape = getWorkPageShape(toPageDef); + new ReturnTransitionConnection(pageShape, toPageShape); + // System.out.println("Return: " + atsWorkPage.getName() + " -> " + toPageShape.getName()); + } + } + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + + } else { + throw new IllegalStateException("Invalid editor input"); + } + + } + + private WorkPageShape getWorkPageShape(WorkPageDefinition page) { + for (Object object : getModel().getChildren()) { + if (object instanceof WorkPageShape) { + if (((WorkPageShape) object).getId().equals(page.getId()) || (page.getParentId() != null && ((WorkPageShape) object).getId().equals( + page.getParentId()))) { + return (WorkPageShape) object; + } + } + } + return null; + } + /** + * Creates an outline pagebook for this editor. + */ + public class ShapesOutlinePage extends ContentOutlinePage { + /** + * Create a new outline page for the shapes editor. + * + * @param viewer a viewer (TreeViewer instance) used for this outline page + * @throws OseeArgumentException if editor is null + */ + public ShapesOutlinePage(EditPartViewer viewer) { + super(viewer); + } + + @Override + public void createControl(Composite parent) { + // create outline viewer page + getViewer().createControl(parent); + // configure outline viewer + getViewer().setEditDomain(getEditDomain()); + getViewer().setEditPartFactory(new ShapesTreeEditPartFactory()); + // configure & add context menu to viewer + ContextMenuProvider cmProvider = + new AtsWorkflowConfigEditorContextMenuProvider(getViewer(), getActionRegistry()); + getViewer().setContextMenu(cmProvider); + getSite().registerContextMenu("org.eclipse.osee.ats.config.editor.contextmenu", cmProvider, + getSite().getSelectionProvider()); + // hook outline viewer + getSelectionSynchronizer().addViewer(getViewer()); + // initialize outline viewer with model + getViewer().setContents(getModel()); + // show outline viewer + } + + @Override + public void dispose() { + // unhook outline viewer + getSelectionSynchronizer().removeViewer(getViewer()); + // dispose + super.dispose(); + } + + @Override + public Control getControl() { + return getViewer().getControl(); + } + + /** + * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite) + */ + @Override + public void init(IPageSite pageSite) { + super.init(pageSite); + ActionRegistry registry = getActionRegistry(); + IActionBars bars = pageSite.getActionBars(); + String id = ActionFactory.UNDO.getId(); + bars.setGlobalActionHandler(id, registry.getAction(id)); + id = ActionFactory.REDO.getId(); + bars.setGlobalActionHandler(id, registry.getAction(id)); + id = ActionFactory.DELETE.getId(); + bars.setGlobalActionHandler(id, registry.getAction(id)); + } + } + + public void closeEditor() { + final IEditorPart editor = this; + Displays.ensureInDisplayThread(new Runnable() { + @Override + public void run() { + if (AWorkbench.getActivePage() != null) { + AWorkbench.getActivePage().closeEditor(editor, false); + } + } + }); + } + + @Override + public void handleFrameworkTransactionEvent(Sender sender, FrameworkTransactionData transData) throws OseeCoreException { + if (transData.branchId != AtsUtil.getAtsBranch().getId()) { + return; + } + for (Artifact delArt : transData.cacheDeletedArtifacts) { + if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) { + if (delArt.getName().equals(getPartName())) { + closeEditor(); + } + } + } + System.out.println("Add refresh of editor if workflow mod"); + } + + @Override + public List<? extends IEventFilter> getEventFilters() { + return Arrays.asList(OseeEventManager.getCommonBranchFilter(), AtsUtil.getWorkItemArtifactTypeEventFilter()); + } + + @Override + public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { + for (Artifact delArt : artifactEvent.getCacheArtifacts(EventModType.Deleted)) { + if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) { + if (delArt.getName().equals(getPartName())) { + closeEditor(); + } + } + } + System.out.println("Add refresh of editor if workflow mod"); + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java index 098f2219293..bc62ccad106 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java @@ -1,70 +1,70 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * @author Donald G. Dunne
- */
-public class AtsWorkflowConfigEditorInput implements IEditorInput {
- protected WorkFlowDefinition workflow;
-
- public AtsWorkflowConfigEditorInput(WorkFlowDefinition workflow) {
- this.workflow = workflow;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof AtsWorkflowConfigEditorInput) {
- AtsWorkflowConfigEditorInput otherEdInput = (AtsWorkflowConfigEditorInput) obj;
- return workflow.getId().equals(otherEdInput.workflow.getId());
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return workflow.getId().hashCode();
- }
-
- public boolean exists() {
- return true;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public String getName() {
- if (workflow == null) {
- return "No Artifact Input Provided";
- }
- return workflow.getName();
- }
-
- public IPersistableElement getPersistable() {
- return null;
- }
-
- public String getToolTipText() {
- return getName();
- }
-
- @SuppressWarnings("rawtypes")
- public Object getAdapter(Class adapter) {
- return null;
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IPersistableElement; + +/** + * @author Donald G. Dunne + */ +public class AtsWorkflowConfigEditorInput implements IEditorInput { + protected WorkFlowDefinition workflow; + + public AtsWorkflowConfigEditorInput(WorkFlowDefinition workflow) { + this.workflow = workflow; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof AtsWorkflowConfigEditorInput) { + AtsWorkflowConfigEditorInput otherEdInput = (AtsWorkflowConfigEditorInput) obj; + return workflow.getId().equals(otherEdInput.workflow.getId()); + } + return false; + } + + @Override + public int hashCode() { + return workflow.getId().hashCode(); + } + + public boolean exists() { + return true; + } + + public ImageDescriptor getImageDescriptor() { + return null; + } + + public String getName() { + if (workflow == null) { + return "No Artifact Input Provided"; + } + return workflow.getName(); + } + + public IPersistableElement getPersistable() { + return null; + } + + public String getToolTipText() { + return getName(); + } + + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) { + return null; + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java index cd0eb5f88f5..b572cfee1ac 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java @@ -1,101 +1,101 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import java.util.Iterator;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
-import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
-import org.eclipse.osee.ats.workflow.editor.parts.WorkPageEditPart;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.skynet.render.PresentationType;
-import org.eclipse.osee.framework.ui.skynet.render.RendererManager;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinitionFactory;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class EditAction extends Action {
-
- public static String ID = "osee.ats.workflowConfigEdit.edit";
-
- public EditAction() {
- super("Edit");
- }
-
- @Override
- public String getId() {
- return ID;
- }
-
- @Override
- public void run() {
- ISelectionProvider selectionProvider =
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.actions; + +import java.util.Iterator; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape; +import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram; +import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart; +import org.eclipse.osee.ats.workflow.editor.parts.WorkPageEditPart; +import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.skynet.render.PresentationType; +import org.eclipse.osee.framework.ui.skynet.render.RendererManager; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinitionFactory; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition; + +/** + * @author Donald G. Dunne + */ +public class EditAction extends Action { + + public static String ID = "osee.ats.workflowConfigEdit.edit"; + + public EditAction() { + super("Edit"); + } + + @Override + public String getId() { + return ID; + } + + @Override + public void run() { + ISelectionProvider selectionProvider = AWorkbench.getActivePage().getActivePart().getSite().getSelectionProvider(); -
- if (selectionProvider != null && selectionProvider.getSelection() instanceof IStructuredSelection) {
- IStructuredSelection structuredSelection = (IStructuredSelection) selectionProvider.getSelection();
-
- try {
- Iterator<?> i = structuredSelection.iterator();
- while (i.hasNext()) {
- Object obj = i.next();
- if (obj instanceof DiagramEditPart) {
- if (((DiagramEditPart) obj).getModel() instanceof WorkflowDiagram) {
- WorkflowDiagram diagram = (WorkflowDiagram) ((DiagramEditPart) obj).getModel();
- Artifact artifact = null;
- if (diagram.getWorkFlowDefinition() != null) {
- WorkFlowDefinition def = diagram.getWorkFlowDefinition();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
- }
- if (artifact != null) {
+ + if (selectionProvider != null && selectionProvider.getSelection() instanceof IStructuredSelection) { + IStructuredSelection structuredSelection = (IStructuredSelection) selectionProvider.getSelection(); + + try { + Iterator<?> i = structuredSelection.iterator(); + while (i.hasNext()) { + Object obj = i.next(); + if (obj instanceof DiagramEditPart) { + if (((DiagramEditPart) obj).getModel() instanceof WorkflowDiagram) { + WorkflowDiagram diagram = (WorkflowDiagram) ((DiagramEditPart) obj).getModel(); + Artifact artifact = null; + if (diagram.getWorkFlowDefinition() != null) { + WorkFlowDefinition def = diagram.getWorkFlowDefinition(); + artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId()); + } + if (artifact != null) { RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT); - return;
- }
- }
- }
- if (obj instanceof WorkPageEditPart) {
- if (((WorkPageEditPart) obj).getModel() instanceof WorkPageShape) {
- WorkPageShape shape = (WorkPageShape) ((WorkPageEditPart) obj).getModel();
- Artifact artifact = null;
- if (shape.getWorkPageDefinition() != null) {
- WorkPageDefinition def = shape.getWorkPageDefinition();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
- } else {
- String id = shape.getId();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(id);
+ return; + } + } + } + if (obj instanceof WorkPageEditPart) { + if (((WorkPageEditPart) obj).getModel() instanceof WorkPageShape) { + WorkPageShape shape = (WorkPageShape) ((WorkPageEditPart) obj).getModel(); + Artifact artifact = null; + if (shape.getWorkPageDefinition() != null) { + WorkPageDefinition def = shape.getWorkPageDefinition(); + artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId()); + } else { + String id = shape.getId(); + artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(id); RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT); - return;
- }
- if (artifact != null) {
+ return; + } + if (artifact != null) { RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT); - return;
- }
- }
- }
- }
- AWorkbench.popup("ERROR", "Can't locate corresponding artifact");
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
- }
-
-}
+ return; + } + } + } + } + AWorkbench.popup("ERROR", "Can't locate corresponding artifact"); + } catch (Exception ex) { + OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + } + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java index 1fa6b330d9d..8f95e116317 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java @@ -1,62 +1,62 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.tools.SelectionTool;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.model.ModelElement;
-import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.plugin.util.Result;
-import org.eclipse.swt.events.MouseEvent;
-
-/**
- * @author Donald G. Dunne
- */
-public class ValidateDiagramTool extends SelectionTool {
-
- public ValidateDiagramTool() {
- setDefaultCursor(SharedCursors.ARROW);
- }
-
- @Override
- public void mouseDown(MouseEvent e, EditPartViewer viewer) {
- super.mouseDown(e, viewer);
- try {
- EditPart editPart = getTargetEditPart();
- Object model = editPart.getModel();
- if (editPart instanceof ScalableFreeformRootEditPart) {
- EditPart ePart = ((ScalableFreeformRootEditPart) editPart).getContents();
- if (ePart instanceof DiagramEditPart) {
- model = ((DiagramEditPart) ePart).getModel();
- }
- }
- if (model instanceof ModelElement) {
- Result result = ((ModelElement) model).validForSave();
- if (result.isFalse()) {
- AWorkbench.popup("Validate Error", model + "\n\n" + "Error: " + result.getText());
- } else {
- AWorkbench.popup("Validate Success", model + "\n\n" + "Valid");
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.actions; + +import org.eclipse.gef.EditPart; +import org.eclipse.gef.EditPartViewer; +import org.eclipse.gef.SharedCursors; +import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; +import org.eclipse.gef.tools.SelectionTool; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.workflow.editor.model.ModelElement; +import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.framework.ui.plugin.util.Result; +import org.eclipse.swt.events.MouseEvent; + +/** + * @author Donald G. Dunne + */ +public class ValidateDiagramTool extends SelectionTool { + + public ValidateDiagramTool() { + setDefaultCursor(SharedCursors.ARROW); + } + + @Override + public void mouseDown(MouseEvent e, EditPartViewer viewer) { + super.mouseDown(e, viewer); + try { + EditPart editPart = getTargetEditPart(); + Object model = editPart.getModel(); + if (editPart instanceof ScalableFreeformRootEditPart) { + EditPart ePart = ((ScalableFreeformRootEditPart) editPart).getContents(); + if (ePart instanceof DiagramEditPart) { + model = ((DiagramEditPart) ePart).getModel(); + } + } + if (model instanceof ModelElement) { + Result result = ((ModelElement) model).validForSave(); + if (result.isFalse()) { + AWorkbench.popup("Validate Error", model + "\n\n" + "Error: " + result.getText()); + } else { + AWorkbench.popup("Validate Success", model + "\n\n" + "Valid"); + } + } + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java index 470f148c604..50091e6ad7a 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java @@ -1,33 +1,33 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.framework.ui.swt.ImageManager;
-
-/**
- * @author Donald G. Dunne
- */
-public class ValidateDiagramToolEntry extends ToolEntry {
-
- /**
- * @param label
- * @param shortDesc
- * @param iconSmall
- * @param iconLarge
- */
- public ValidateDiagramToolEntry() {
- super("Validate Diagram", "Validate", ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE),
- ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE), ValidateDiagramTool.class);
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.actions; + +import org.eclipse.gef.palette.ToolEntry; +import org.eclipse.osee.ats.AtsImage; +import org.eclipse.osee.framework.ui.swt.ImageManager; + +/** + * @author Donald G. Dunne + */ +public class ValidateDiagramToolEntry extends ToolEntry { + + /** + * @param label + * @param shortDesc + * @param iconSmall + * @param iconLarge + */ + public ValidateDiagramToolEntry() { + super("Validate Diagram", "Validate", ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE), + ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE), ValidateDiagramTool.class); + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java index 346873c7f0c..65b45b100c3 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java @@ -1,47 +1,47 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import java.util.logging.Level;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.page.AtsCancelledWorkPageDefinition;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class CancelledWorkPageShape extends WorkPageShape {
-
- /**
- * @param workPageDefinition
- */
- public CancelledWorkPageShape(WorkPageDefinition workPageDefinition) {
- super(workPageDefinition);
- }
-
- public CancelledWorkPageShape() {
- super(new WorkPageDefinition("Cancelled", "NEW", AtsCancelledWorkPageDefinition.ID));
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof WorkPageShape) {
- try {
- return ((WorkPageShape) obj).isCancelledState();
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
- return super.equals(obj);
- }
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.model; + +import java.util.logging.Level; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.workflow.page.AtsCancelledWorkPageDefinition; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition; + +/** + * @author Donald G. Dunne + */ +public class CancelledWorkPageShape extends WorkPageShape { + + /** + * @param workPageDefinition + */ + public CancelledWorkPageShape(WorkPageDefinition workPageDefinition) { + super(workPageDefinition); + } + + public CancelledWorkPageShape() { + super(new WorkPageDefinition("Cancelled", "NEW", AtsCancelledWorkPageDefinition.ID)); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof WorkPageShape) { + try { + return ((WorkPageShape) obj).isCancelledState(); + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); + } + } + return super.equals(obj); + } +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java index 04fdb782fe1..2cc6e3c089c 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java @@ -1,48 +1,48 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import java.util.logging.Level;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.page.AtsCompletedWorkPageDefinition;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class CompletedWorkPageShape extends WorkPageShape {
-
- public CompletedWorkPageShape() {
- super(new WorkPageDefinition("Completed", "NEW", AtsCompletedWorkPageDefinition.ID));
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof WorkPageShape) {
- try {
- return ((WorkPageShape) obj).isCompletedState();
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
- return super.equals(obj);
- }
-
- /**
- * @param workPageDefinition
- */
- public CompletedWorkPageShape(WorkPageDefinition workPageDefinition) {
- super(workPageDefinition);
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.model; + +import java.util.logging.Level; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.workflow.page.AtsCompletedWorkPageDefinition; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition; + +/** + * @author Donald G. Dunne + */ +public class CompletedWorkPageShape extends WorkPageShape { + + public CompletedWorkPageShape() { + super(new WorkPageDefinition("Completed", "NEW", AtsCompletedWorkPageDefinition.ID)); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof WorkPageShape) { + try { + return ((WorkPageShape) obj).isCompletedState(); + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); + } + } + return super.equals(obj); + } + + /** + * @param workPageDefinition + */ + public CompletedWorkPageShape(WorkPageDefinition workPageDefinition) { + super(workPageDefinition); + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java index 81f36666783..85f4c659ab7 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java @@ -1,45 +1,45 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @author Donald G. Dunne
- */
-public class DefaultTransitionConnection extends TransitionConnection {
-
- /**
- * @param source
- * @param target
- */
- public DefaultTransitionConnection(Shape source, Shape target) {
- super(source, target);
- }
-
- @Override
- public Color getForegroundColor() {
- return Displays.getSystemColor(SWT.COLOR_DARK_GREEN);
- }
-
- @Override
- public int getLineWidth() {
- return 3;
- }
-
- @Override
- public String getLabel() {
- return "Default Transition";
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.model; + +import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; + +/** + * @author Donald G. Dunne + */ +public class DefaultTransitionConnection extends TransitionConnection { + + /** + * @param source + * @param target + */ + public DefaultTransitionConnection(Shape source, Shape target) { + super(source, target); + } + + @Override + public Color getForegroundColor() { + return Displays.getSystemColor(SWT.COLOR_DARK_GREEN); + } + + @Override + public int getLineWidth() { + return 3; + } + + @Override + public String getLabel() { + return "Default Transition"; + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java index e5347b6f9e6..26e4279f547 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java @@ -1,37 +1,37 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import org.eclipse.draw2d.Graphics;
-
-/**
- * @author Donald G. Dunne
- */
-public class ReturnTransitionConnection extends TransitionConnection {
-
- /**
- * @param source
- * @param target
- */
- public ReturnTransitionConnection(Shape source, Shape target) {
- super(source, target);
- }
-
- @Override
- public int getLineStyle() {
- return Graphics.LINE_DASH;
- }
-
- @Override
- public String getLabel() {
- return "Return Transition";
- }
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.model; + +import org.eclipse.draw2d.Graphics; + +/** + * @author Donald G. Dunne + */ +public class ReturnTransitionConnection extends TransitionConnection { + + /** + * @param source + * @param target + */ + public ReturnTransitionConnection(Shape source, Shape target) { + super(source, target); + } + + @Override + public int getLineStyle() { + return Graphics.LINE_DASH; + } + + @Override + public String getLabel() { + return "Return Transition"; + } +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java index 00a6a10c8e5..3c11f50179e 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java @@ -1,34 +1,34 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * @author Donald G. Dunne
- */
-class LeftAnchor extends ChopboxAnchor {
-
- LeftAnchor(IFigure source) {
- super(source);
- }
-
- @Override
- public Point getLocation(Point reference) {
- Rectangle r = getOwner().getBounds().getCopy();
- getOwner().translateToAbsolute(r);
- return r.getLeft();
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.parts; + +import org.eclipse.draw2d.ChopboxAnchor; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.draw2d.geometry.Rectangle; + +/** + * @author Donald G. Dunne + */ +class LeftAnchor extends ChopboxAnchor { + + LeftAnchor(IFigure source) { + super(source); + } + + @Override + public Point getLocation(Point reference) { + Rectangle r = getOwner().getBounds().getCopy(); + getOwner().translateToAbsolute(r); + return r.getLeft(); + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java index 27672bcc3cd..d9ad5597109 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java @@ -1,34 +1,34 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * @author Donald G. Dunne
- */
-class RightAnchor extends ChopboxAnchor {
-
- RightAnchor(IFigure source) {
- super(source);
- }
-
- @Override
- public Point getLocation(Point reference) {
- Rectangle r = getOwner().getBounds().getCopy();
- getOwner().translateToAbsolute(r);
- return r.getRight();
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.parts; + +import org.eclipse.draw2d.ChopboxAnchor; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.draw2d.geometry.Rectangle; + +/** + * @author Donald G. Dunne + */ +class RightAnchor extends ChopboxAnchor { + + RightAnchor(IFigure source) { + super(source); + } + + @Override + public Point getLocation(Point reference) { + Rectangle r = getOwner().getBounds().getCopy(); + getOwner().translateToAbsolute(r); + return r.getRight(); + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java index cf76a80bf46..85ce8d6d235 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java @@ -1,130 +1,130 @@ -/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import java.beans.PropertyChangeEvent;
-import java.util.logging.Level;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.GridLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
-import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemAttributes;
-
-/**
- * @author Donald G. Dunne
- */
-public class WorkPageEditPart extends ShapeEditPart {
-
- private final WorkPageShape workPageShape;
- private RightAnchor returnAnchor;
- private Label label;
-
- public WorkPageEditPart(WorkPageShape workPageShape) {
- this.workPageShape = workPageShape;
- }
-
- @Override
- protected IFigure createFigure() {
- IFigure f = super.createFigure();
- f.setLayoutManager(new GridLayout());
- try {
- if (workPageShape.isCompletedState()) {
- f.setBackgroundColor(ColorConstants.darkGreen);
- } else if (workPageShape.isCancelledState()) {
- f.setBackgroundColor(ColorConstants.lightGray);
- } else if (workPageShape.isStartPage()) {
- f.setBackgroundColor(ColorConstants.yellow);
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- label = new Label(workPageShape.getName());
- f.add(label);
- f.setToolTip(new Label(workPageShape.getToolTip()));
- return f;
- }
-
- @Override
- protected void refreshVisuals() {
- super.refreshVisuals();
- label.setText(workPageShape.getName());
- }
-
- @Override
- public void performRequest(Request req) {
- super.performRequest(req);
- System.out.println(req);
- if (req instanceof SelectionRequest) {
- (new EditAction()).run();
- }
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- super.propertyChange(evt);
- String prop = evt.getPropertyName();
- if (WorkPageShape.START_PAGE.equals(prop)) {
- if (workPageShape.isStartPage()) {
- getFigure().setBackgroundColor(ColorConstants.yellow);
- } else {
- getFigure().setBackgroundColor(ColorConstants.green);
- }
- }
- if (WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName().equals(prop)) {
- refreshVisuals();
- }
- }
-
- @Override
- public ConnectionAnchor getTargetConnectionAnchor(Request request) {
- // TODO implement sending back returnAnchor if appropriate
- return super.getTargetConnectionAnchor(request);
- }
-
- @Override
- public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
- if (connection.getModel() instanceof ReturnTransitionConnection) {
- if (returnAnchor == null) {
- returnAnchor = new RightAnchor(getFigure());
- }
- return returnAnchor;
- }
- return super.getTargetConnectionAnchor(connection);
- }
-
- @Override
- public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
- if (connection.getModel() instanceof ReturnTransitionConnection) {
- if (returnAnchor == null) {
- returnAnchor = new RightAnchor(getFigure());
- }
- return returnAnchor;
- }
- return super.getTargetConnectionAnchor(connection);
- }
-
- @Override
- public ConnectionAnchor getSourceConnectionAnchor(Request request) {
- // TODO implement sending back returnAnchor if appropriate
- return super.getSourceConnectionAnchor(request);
- }
-
-}
+/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.workflow.editor.parts; + +import java.beans.PropertyChangeEvent; +import java.util.logging.Level; +import org.eclipse.draw2d.ColorConstants; +import org.eclipse.draw2d.ConnectionAnchor; +import org.eclipse.draw2d.GridLayout; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.Label; +import org.eclipse.gef.ConnectionEditPart; +import org.eclipse.gef.Request; +import org.eclipse.gef.requests.SelectionRequest; +import org.eclipse.osee.ats.internal.AtsPlugin; +import org.eclipse.osee.ats.workflow.editor.actions.EditAction; +import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection; +import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemAttributes; + +/** + * @author Donald G. Dunne + */ +public class WorkPageEditPart extends ShapeEditPart { + + private final WorkPageShape workPageShape; + private RightAnchor returnAnchor; + private Label label; + + public WorkPageEditPart(WorkPageShape workPageShape) { + this.workPageShape = workPageShape; + } + + @Override + protected IFigure createFigure() { + IFigure f = super.createFigure(); + f.setLayoutManager(new GridLayout()); + try { + if (workPageShape.isCompletedState()) { + f.setBackgroundColor(ColorConstants.darkGreen); + } else if (workPageShape.isCancelledState()) { + f.setBackgroundColor(ColorConstants.lightGray); + } else if (workPageShape.isStartPage()) { + f.setBackgroundColor(ColorConstants.yellow); + } + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); + } + label = new Label(workPageShape.getName()); + f.add(label); + f.setToolTip(new Label(workPageShape.getToolTip())); + return f; + } + + @Override + protected void refreshVisuals() { + super.refreshVisuals(); + label.setText(workPageShape.getName()); + } + + @Override + public void performRequest(Request req) { + super.performRequest(req); + System.out.println(req); + if (req instanceof SelectionRequest) { + (new EditAction()).run(); + } + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + super.propertyChange(evt); + String prop = evt.getPropertyName(); + if (WorkPageShape.START_PAGE.equals(prop)) { + if (workPageShape.isStartPage()) { + getFigure().setBackgroundColor(ColorConstants.yellow); + } else { + getFigure().setBackgroundColor(ColorConstants.green); + } + } + if (WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName().equals(prop)) { + refreshVisuals(); + } + } + + @Override + public ConnectionAnchor getTargetConnectionAnchor(Request request) { + // TODO implement sending back returnAnchor if appropriate + return super.getTargetConnectionAnchor(request); + } + + @Override + public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) { + if (connection.getModel() instanceof ReturnTransitionConnection) { + if (returnAnchor == null) { + returnAnchor = new RightAnchor(getFigure()); + } + return returnAnchor; + } + return super.getTargetConnectionAnchor(connection); + } + + @Override + public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) { + if (connection.getModel() instanceof ReturnTransitionConnection) { + if (returnAnchor == null) { + returnAnchor = new RightAnchor(getFigure()); + } + return returnAnchor; + } + return super.getTargetConnectionAnchor(connection); + } + + @Override + public ConnectionAnchor getSourceConnectionAnchor(Request request) { + // TODO implement sending back returnAnchor if appropriate + return super.getSourceConnectionAnchor(request); + } + +} |