diff options
author | ddunne | 2010-09-10 20:11:40 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2010-09-10 20:11:40 +0000 |
commit | 6439e2e30cae467a3ed366b888c8a37faddb6e5a (patch) | |
tree | 647017d582ab9760e5a263a41f44ca8f66573112 /plugins/org.eclipse.osee.ats/src | |
parent | ac0af3c046173169c1bc33899e28fe187851c8c3 (diff) | |
download | org.eclipse.osee-6439e2e30cae467a3ed366b888c8a37faddb6e5a.tar.gz org.eclipse.osee-6439e2e30cae467a3ed366b888c8a37faddb6e5a.tar.xz org.eclipse.osee-6439e2e30cae467a3ed366b888c8a37faddb6e5a.zip |
feature[ats_GT6D6]: Add 'View Word Change Report' option on right mouse click from ATS Task Tab
Diffstat (limited to 'plugins/org.eclipse.osee.ats/src')
3 files changed, 27 insertions, 38 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java index 84804c5ff81..2a97bdd6344 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskXViewer.java @@ -17,25 +17,24 @@ import java.util.Iterator; import java.util.Set; import java.util.logging.Level; import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.GroupMarker; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.nebula.widgets.xviewer.XViewer; import org.eclipse.nebula.widgets.xviewer.XViewerColumn; import org.eclipse.osee.ats.artifact.AtsAttributeTypes; import org.eclipse.osee.ats.artifact.TaskArtifact; import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; import org.eclipse.osee.ats.internal.AtsPlugin; import org.eclipse.osee.ats.util.PromptChangeUtil; +import org.eclipse.osee.ats.world.AtsWorldEditorItems; +import org.eclipse.osee.ats.world.IAtsWorldEditorItem; import org.eclipse.osee.ats.world.WorldXViewer; import org.eclipse.osee.ats.world.WorldXViewerFactory; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.GUID; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.plugin.core.util.ExtensionDefinedObjects; 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.artifact.ArtifactPromptChange; @@ -48,44 +47,28 @@ import org.eclipse.swt.widgets.TreeItem; */ public class TaskXViewer extends WorldXViewer { - public static final String MENU_GROUP_ATS_TASK_SHOW = "ATS TASK SHOW"; - private final TaskComposite xTaskViewer; + private final TaskComposite taskComposite; private final IDirtiableEditor editor; private boolean tasksEditable = true; private boolean newTaskSelectionEnabled = false; private static String viewerId = GUID.create(); - private ITaskAction showRelatedTasksAction = null; public TaskXViewer(TaskComposite taskComposite, int style, IDirtiableEditor editor, TaskComposite xTaskViewer) { super(taskComposite, style, new TaskXViewerFactory()); this.editor = editor; - this.xTaskViewer = xTaskViewer; - registerAdvancedSectionsFromExtensionPoints(); - } - - private void registerAdvancedSectionsFromExtensionPoints() { - - ExtensionDefinedObjects<ITaskAction> extensions = - new ExtensionDefinedObjects<ITaskAction>(AtsPlugin.PLUGIN_ID + ".AtsMenuAction", "AtsMenuAction", "classname"); - for (ITaskAction item : extensions.getObjects()) { - try { - showRelatedTasksAction = item; - } catch (Exception ex) { - OseeLog.log(AtsPlugin.class, Level.SEVERE, ex); - } - } + this.taskComposite = xTaskViewer; } @Override public String toString() { - if (xTaskViewer == null) { + if (taskComposite == null) { return "TaskXViewer"; } try { - if (xTaskViewer.getIXTaskViewer().getSma() != null) { - return "TaskXViewer - id:" + viewerId + " - " + xTaskViewer.getIXTaskViewer().getSma().toString(); + if (taskComposite.getIXTaskViewer().getSma() != null) { + return "TaskXViewer - id:" + viewerId + " - " + taskComposite.getIXTaskViewer().getSma().toString(); } - return "TaskXViewer - id:" + viewerId + " - " + xTaskViewer.getIXTaskViewer().toString(); + return "TaskXViewer - id:" + viewerId + " - " + taskComposite.getIXTaskViewer().toString(); } catch (Exception ex) { return "TaskXViewer - id:" + viewerId; } @@ -259,7 +242,7 @@ public class TaskXViewer extends WorldXViewer { addNewTaskAction = new Action("New Task", IAction.AS_PUSH_BUTTON) { @Override public void run() { - xTaskViewer.handleNewTask(); + taskComposite.handleNewTask(); } }; @@ -267,7 +250,7 @@ public class TaskXViewer extends WorldXViewer { @Override public void run() { try { - xTaskViewer.handleDeleteTask(); + taskComposite.handleDeleteTask(); } catch (Exception ex) { OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); } @@ -280,17 +263,12 @@ public class TaskXViewer extends WorldXViewer { public void updateEditMenuActions() { MenuManager mm = getMenuManager(); - if (showRelatedTasksAction == null) { - registerAdvancedSectionsFromExtensionPoints(); - } - if (showRelatedTasksAction != null && showRelatedTasksAction.isValid(getSelectedTaskArtifacts())) { - showRelatedTasksAction.setXViewer(this); - mm.insertBefore(XViewer.MENU_GROUP_PRE, new GroupMarker(MENU_GROUP_ATS_TASK_SHOW)); - mm.insertBefore(WorldXViewer.MENU_GROUP_ATS_WORLD_EDIT, (Action) showRelatedTasksAction); - mm.insertBefore(WorldXViewer.MENU_GROUP_ATS_WORLD_EDIT, new Separator()); - editTaskNotesAction.setEnabled(isTasksEditable() && getSelectedArtifacts().size() > 0); + for (IAtsWorldEditorItem item : AtsWorldEditorItems.getItems()) { + item.updateTaskEditMenuActions(this); } + editTaskNotesAction.setEnabled(isTasksEditable() && getSelectedArtifacts().size() > 0); + // EDIT MENU BLOCK mm.insertBefore(WorldXViewer.MENU_GROUP_ATS_WORLD_EDIT, editTaskTitleAction); editTaskTitleAction.setEnabled(isTasksEditable() && getSelectedArtifacts().size() == 1 && isSelectedTaskArtifactsAreInWork()); @@ -413,4 +391,8 @@ public class TaskXViewer extends WorldXViewer { this.newTaskSelectionEnabled = newTaskSelectionEnabled; } + public TaskComposite getTaskComposite() { + return taskComposite; + } + } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java index cab66b9c877..001f627551b 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java @@ -18,6 +18,7 @@ import org.eclipse.osee.ats.actions.ExportChangeReportsAction; import org.eclipse.osee.ats.export.AtsExportManager; import org.eclipse.osee.ats.operation.CancelMultipleWorkflows; import org.eclipse.osee.ats.operation.CompleteMultipleWorkflows; +import org.eclipse.osee.ats.task.TaskXViewer; /** * @author Donald G. Dunne @@ -30,4 +31,10 @@ public class AtsWorldEditorItem extends AtsWorldEditorItemBase { new DuplicateWorkflowViaWorldEditorAction(worldEditor), new CompleteMultipleWorkflows(worldEditor), new CancelMultipleWorkflows(worldEditor)); } + + @Override + public void updateTaskEditMenuActions(TaskXViewer taskXViewer) { + // do nothing + } + } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsWorldEditorItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsWorldEditorItem.java index 08e53d0ceac..a088838f25a 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsWorldEditorItem.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsWorldEditorItem.java @@ -13,6 +13,7 @@ package org.eclipse.osee.ats.world; import java.util.List; import org.eclipse.jface.action.Action; import org.eclipse.nebula.widgets.xviewer.XViewerColumn; +import org.eclipse.osee.ats.task.TaskXViewer; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; @@ -35,9 +36,8 @@ public interface IAtsWorldEditorItem { /** * Return menu item objects to add to the World Editor pull-down menu only if applicable for the given * worldSearchItem - * - * @return applicable pull-down actions */ public List<? extends Action> getWorldEditorMenuActions(IWorldEditorProvider worldEditorProvider, WorldEditor worldEditor) throws OseeCoreException; + public void updateTaskEditMenuActions(TaskXViewer taskXViewer); } |