Replacing SpecificationEditor with ISpecificationEditor.
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/IReqifEditor.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/IReqifEditor.java
index 95dfaed..cfd6a66 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/IReqifEditor.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/IReqifEditor.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.rmf.reqif10.ReqIF;
+import org.eclipse.rmf.reqif10.Specification;
import org.eclipse.ui.IEditorPart;
/**
@@ -29,4 +30,6 @@
public AdapterFactory getAdapterFactory();
public EditingDomainActionBarContributor getActionBarContributor();
+
+ public ISpecificationEditor openSpecEditor(Specification spec);
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/ISpecificationEditor.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/ISpecificationEditor.java
index 1239ad0..ce387c9 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/ISpecificationEditor.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/ISpecificationEditor.java
@@ -10,11 +10,22 @@
******************************************************************************/
package org.eclipse.rmf.reqif10.pror.editor;
+import org.eclipse.rmf.reqif10.Specification;
+import org.eclipse.rmf.reqif10.pror.filter.ReqifFilter;
+
/**
* This interface must be implemented by all editors for ReqIF Specifications.
*
* @author jastram
*/
-public interface ISpecificationEditor /* extends IReqifEditor */ {
+public interface ISpecificationEditor extends IReqifEditor {
+ /**
+ * Forward requests to show or hide SpecRelations.
+ */
+ public void setShowSpecRelations(boolean checked);
+
+ public void setFilter(ReqifFilter filter);
+
+ public Specification getSpecification();
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/AddTestObjectsActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/AddTestObjectsActionDelegate.java
index 6ae603f..7564eed 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/AddTestObjectsActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/AddTestObjectsActionDelegate.java
@@ -26,7 +26,7 @@
import org.eclipse.rmf.reqif10.SpecObject;
import org.eclipse.rmf.reqif10.SpecType;
import org.eclipse.rmf.reqif10.common.util.ReqIF10Util;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
@@ -62,9 +62,9 @@
SpecType type = specHierarchy.getObject().getType();
if (type == null)
return;
- if (!(editor instanceof SpecificationEditor))
+ if (!(editor instanceof ISpecificationEditor))
return;
- SpecificationEditor specificationEditor = (SpecificationEditor) editor;
+ ISpecificationEditor specificationEditor = (ISpecificationEditor) editor;
Shell shell = window != null ? window.getShell() : editor.getSite()
.getShell();
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ColumnConfigurationActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ColumnConfigurationActionDelegate.java
index 0166e92..896cbd4 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ColumnConfigurationActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ColumnConfigurationActionDelegate.java
@@ -31,8 +31,8 @@
import org.eclipse.rmf.reqif10.pror.configuration.ProrSpecViewConfiguration;
import org.eclipse.rmf.reqif10.pror.configuration.ProrToolExtension;
import org.eclipse.rmf.reqif10.pror.configuration.UnifiedColumn;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.presentation.ReqifSpecificationEditorInput;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.rmf.reqif10.pror.util.ConfigurationUtil;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
@@ -40,14 +40,14 @@
public class ColumnConfigurationActionDelegate implements IEditorActionDelegate {
- private SpecificationEditor editor;
+ private ISpecificationEditor editor;
/**
* Retrieves the {@link EditingDomain} from the Editor if present.
*/
public void setActiveEditor(IAction action, IEditorPart editor) {
- if (editor instanceof SpecificationEditor) {
- this.editor = (SpecificationEditor) editor;
+ if (editor instanceof ISpecificationEditor) {
+ this.editor = (ISpecificationEditor) editor;
} else {
this.editor = null;
}
@@ -88,11 +88,11 @@
}
private void launchColumnDialog(final ProrSpecViewConfiguration config) {
- SubtreeDialog dialog = new SubtreeDialog(editor.getReqifEditor(),
+ SubtreeDialog dialog = new SubtreeDialog(editor,
config, "Configure columns for "
+ ConfigurationUtil.getSpecElementLabel(
config.getSpecification(),
- editor.getReqifEditor().getAdapterFactory()),
+ editor.getAdapterFactory()),
"org.eclipse.rmf.reqif10.pror.editor.columnConfiguration");
dialog.setActions(new IAction[] { buildAddColumnAction(config), buildUnifiedColumnAction(config) }, false);
dialog.open();
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/DatatypeConfigurationActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/DatatypeConfigurationActionDelegate.java
index 5182504..b828ff9 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/DatatypeConfigurationActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/DatatypeConfigurationActionDelegate.java
@@ -18,7 +18,6 @@
import org.eclipse.rmf.reqif10.ReqIF;
import org.eclipse.rmf.reqif10.ReqIFToolExtension;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.rmf.reqif10.pror.provider.VirtualSpecObjectItemProvider;
import org.eclipse.rmf.reqif10.pror.provider.VirtualSpecRelationGroupItemProvider;
import org.eclipse.rmf.reqif10.pror.provider.VirtualSpecRelationsItemProvider;
@@ -37,8 +36,6 @@
public void setActiveEditor(IAction action, IEditorPart editor) {
if (editor instanceof IReqifEditor) {
this.editor = (IReqifEditor) editor;
- } else if (editor instanceof SpecificationEditor) {
- this.editor = ((SpecificationEditor) editor).getReqifEditor();
} else {
this.editor = null;
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/GeneralConfigurationActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/GeneralConfigurationActionDelegate.java
index 9517ad3..9b4c71c 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/GeneralConfigurationActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/GeneralConfigurationActionDelegate.java
@@ -21,7 +21,6 @@
import org.eclipse.rmf.reqif10.pror.configuration.ProrGeneralConfiguration;
import org.eclipse.rmf.reqif10.pror.configuration.ProrToolExtension;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.rmf.reqif10.pror.util.ConfigurationUtil;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
@@ -37,8 +36,6 @@
public void setActiveEditor(IAction action, IEditorPart editor) {
if (editor instanceof IReqifEditor) {
this.editor = (IReqifEditor) editor;
- } else if (editor instanceof SpecificationEditor) {
- this.editor = ((SpecificationEditor) editor).getReqifEditor();
} else {
this.editor = null;
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/PresentationConfigurationActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/PresentationConfigurationActionDelegate.java
index c0f4c66..7af8165 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/PresentationConfigurationActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/PresentationConfigurationActionDelegate.java
@@ -28,7 +28,6 @@
import org.eclipse.rmf.reqif10.pror.configuration.provider.ProrPresentationConfigurationsItemProvider;
import org.eclipse.rmf.reqif10.pror.edit.presentation.service.PresentationInterface;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.presentation.service.PresentationServiceManager;
import org.eclipse.rmf.reqif10.pror.util.ConfigurationUtil;
import org.eclipse.rmf.reqif10.pror.util.ProrUtil;
@@ -46,8 +45,6 @@
public void setActiveEditor(IAction action, IEditorPart editor) {
if (editor instanceof IReqifEditor) {
this.editor = (IReqifEditor) editor;
- } else if (editor instanceof SpecificationEditor) {
- this.editor = ((SpecificationEditor) editor).getReqifEditor();
} else {
this.editor = null;
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelDownActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelDownActionDelegate.java
index 7d98aea..43a8786 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelDownActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelDownActionDelegate.java
@@ -21,7 +21,7 @@
import org.eclipse.rmf.reqif10.ReqIF10Package;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.Specification;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
@@ -58,9 +58,9 @@
return;
// SpecType type = specHierarchy.getObject().getType();
- if (!(editor instanceof SpecificationEditor))
+ if (!(editor instanceof ISpecificationEditor))
return;
- SpecificationEditor specificationEditor = (SpecificationEditor) editor;
+ ISpecificationEditor specificationEditor = (ISpecificationEditor) editor;
// Shell shell = window != null ? window.getShell() : editor.getSite()
// .getShell();
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelUpActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelUpActionDelegate.java
index 15e5db4..6092d7d 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelUpActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ShiftLevelUpActionDelegate.java
@@ -23,7 +23,7 @@
import org.eclipse.rmf.reqif10.ReqIF10Package;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.Specification;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
@@ -61,9 +61,9 @@
return;
// SpecType type = specHierarchy.getObject().getType();
- if (!(editor instanceof SpecificationEditor))
+ if (!(editor instanceof ISpecificationEditor))
return;
- SpecificationEditor specificationEditor = (SpecificationEditor) editor;
+ ISpecificationEditor specificationEditor = (ISpecificationEditor) editor;
// Shell shell = window != null ? window.getShell() : editor.getSite()
// .getShell();
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ToggleSpecRelationsActionDelegate.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ToggleSpecRelationsActionDelegate.java
index f4e6339..5c85cb8 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ToggleSpecRelationsActionDelegate.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/actions/ToggleSpecRelationsActionDelegate.java
@@ -12,7 +12,7 @@
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
@@ -34,8 +34,8 @@
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
*/
public void run(IAction action) {
- if (editor != null && editor instanceof SpecificationEditor) {
- ((SpecificationEditor) editor).setShowSpecRelations(action
+ if (editor != null && editor instanceof ISpecificationEditor) {
+ ((ISpecificationEditor) editor).setShowSpecRelations(action
.isChecked());
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ActionBarContributor.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ActionBarContributor.java
index c10ab41..50a6bc7 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ActionBarContributor.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ActionBarContributor.java
@@ -53,6 +53,7 @@
import org.eclipse.rmf.reqif10.SpecRelationType;
import org.eclipse.rmf.reqif10.SpecType;
import org.eclipse.rmf.reqif10.common.util.ReqIF10Util;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.agilegrid.AgileCellEditorActionHandler;
import org.eclipse.rmf.reqif10.pror.filter.ReqifFilter;
import org.eclipse.rmf.reqif10.pror.filter.SimpleStringFilter;
@@ -273,13 +274,13 @@
quicksearch = new Text(parent, SWT.SEARCH | SWT.ICON_CANCEL
| SWT.ICON_SEARCH);
quicksearch.setSize(500, 0);
- quicksearch.setEnabled(activeEditorPart instanceof SpecificationEditor);
+ quicksearch.setEnabled(activeEditorPart instanceof ISpecificationEditor);
quicksearch.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
- if (activeEditorPart instanceof SpecificationEditor) {
+ if (activeEditorPart instanceof ISpecificationEditor) {
quicksearch.setEnabled(true);
- SpecificationEditor specEditor = (SpecificationEditor) activeEditor;
+ ISpecificationEditor specEditor = (ISpecificationEditor) activeEditor;
final String text = quicksearch.getText();
if (text == null || "".equals(text)) {
specEditor.setFilter(null);
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10Editor.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10Editor.java
index 1f25350..8b5de4d 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10Editor.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10Editor.java
@@ -106,6 +106,7 @@
import org.eclipse.rmf.reqif10.XhtmlContent;
import org.eclipse.rmf.reqif10.pror.configuration.provider.ConfigurationItemProviderAdapterFactory;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.presentation.service.PresentationServiceManager;
import org.eclipse.rmf.reqif10.pror.editor.propertiesview.ProrPropertySheetPage;
import org.eclipse.rmf.reqif10.pror.provider.ReqIF10ItemProviderAdapterFactory;
@@ -150,7 +151,7 @@
* This is an example of a Reqif10 model editor. <!-- begin-user-doc --> We
* modified the generated Editor as little as possible to keep the benefits of
* working Code. Note that this Editor doesn't do that much. The
- * {@link SpecificationEditor} is much more important and powerful. It uses some
+ * {@link ISpecificationEditor} is much more important and powerful. It uses some
* elements from this Editor, however (PropertyView, OutlineView...) <!--
* end-user-doc -->
*
@@ -1888,4 +1889,16 @@
}
}
+ public ISpecificationEditor openSpecEditor(Specification spec) {
+ ReqifSpecificationEditorInput editorInput = new ReqifSpecificationEditorInput(
+ this, spec);
+ try {
+ return (ISpecificationEditor) IDE.openEditor(getSite().getPage(),
+ editorInput, SpecificationEditor.EDITOR_ID, false);
+ } catch (PartInitException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ModelWizard.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ModelWizard.java
index a207273..d47a09a 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ModelWizard.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/Reqif10ModelWizard.java
@@ -25,8 +25,6 @@
import java.util.StringTokenizer;
import java.util.UUID;
-import javax.xml.datatype.XMLGregorianCalendar;
-
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -73,7 +71,6 @@
import org.eclipse.rmf.reqif10.pror.provider.Reqif10EditPlugin;
import org.eclipse.rmf.reqif10.pror.util.ConfigurationUtil;
import org.eclipse.rmf.reqif10.serialization.ReqIF10ResourceFactoryImpl;
-import org.eclipse.rmf.serialization.XMLPersistenceMappingResourceFactoryImpl;
import org.eclipse.rmf.serialization.XMLPersistenceMappingResourceSetImpl;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/ReqifMainForm.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/ReqifMainForm.java
index 2aaddd2..9b83ae6 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/ReqifMainForm.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/ReqifMainForm.java
@@ -41,9 +41,6 @@
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.events.ExpansionAdapter;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.widgets.FormToolkit;
@@ -51,7 +48,6 @@
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.ide.IDE;
/**
*
@@ -179,7 +175,7 @@
Object element = ((IStructuredSelection) event.getSelection())
.getFirstElement();
if (element instanceof Specification) {
- openSpec((Specification) element);
+ reqifEditor.openSpecEditor((Specification) element);
}
}
});
@@ -306,18 +302,6 @@
return form;
}
- private void openSpec(Specification spec) {
- try {
- IWorkbenchPage page = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage();
- ReqifSpecificationEditorInput editorInput = new ReqifSpecificationEditorInput(
- reqifEditor, spec);
- IDE.openEditor(page, editorInput, SpecificationEditor.EDITOR_ID);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
- }
-
private String getString(String key) {
return Reqif10EditorPlugin.INSTANCE.getString(key);
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/SpecificationEditor.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/SpecificationEditor.java
index 4e851b3..3164089 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/SpecificationEditor.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/presentation/SpecificationEditor.java
@@ -19,11 +19,13 @@
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CommandStack;
import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -34,6 +36,7 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.rmf.reqif10.ReqIF;
import org.eclipse.rmf.reqif10.ReqIF10Package;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.SpecRelation;
@@ -463,4 +466,37 @@
prorAgileGridViewer.setFilter(filter);
}
+ public ReqIF getReqif() {
+ return reqifEditor.getReqif();
+ }
+
+ public AdapterFactory getAdapterFactory() {
+ return reqifEditor.getAdapterFactory();
+ }
+
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return reqifEditor.getActionBarContributor();
+ }
+
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ reqifEditor.addSelectionChangedListener(listener);
+ }
+
+ public ISelection getSelection() {
+ return reqifEditor.getSelection();
+ }
+
+ public void removeSelectionChangedListener(
+ ISelectionChangedListener listener) {
+ reqifEditor.removeSelectionChangedListener(listener);
+ }
+
+ public void setSelection(ISelection selection) {
+ reqifEditor.setSelection(selection);
+ }
+
+ public ISpecificationEditor openSpecEditor(Specification spec) {
+ return reqifEditor.openSpecEditor(spec);
+ }
+
}
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/propertiesview/ProrPropertySheetPage.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/propertiesview/ProrPropertySheetPage.java
index 60f39eb..96d8fd8 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/propertiesview/ProrPropertySheetPage.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/propertiesview/ProrPropertySheetPage.java
@@ -35,8 +35,8 @@
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.rmf.reqif10.AttributeValue;
import org.eclipse.rmf.reqif10.Identifiable;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.presentation.Reqif10EditorPlugin;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -184,7 +184,7 @@
/**
* This method is called if a selection was changed in the
- * {@link SpecificationEditor}.
+ * {@link ISpecificationEditor}.
*/
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
EditingDomain newEditingDomain = null;
diff --git a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/util/ProrEditorUtil.java b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/util/ProrEditorUtil.java
index 6ade6bb..0e8ea48 100644
--- a/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/util/ProrEditorUtil.java
+++ b/org.eclipse.rmf.reqif10.pror.editor/src/org/eclipse/rmf/reqif10/pror/editor/util/ProrEditorUtil.java
@@ -39,8 +39,7 @@
import org.eclipse.rmf.reqif10.pror.configuration.ProrSpecViewConfiguration;
import org.eclipse.rmf.reqif10.pror.configuration.UnifiedColumn;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.ReqifSpecificationEditorInput;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.rmf.reqif10.pror.editor.presentation.service.IProrCellRenderer;
import org.eclipse.rmf.reqif10.pror.editor.presentation.service.PresentationEditorInterface;
import org.eclipse.rmf.reqif10.pror.util.ConfigurationUtil;
@@ -48,9 +47,7 @@
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
public class ProrEditorUtil {
@@ -220,7 +217,7 @@
}
/**
- * Attempts to find the {@link IReqifEditor} or {@link SpecificationEditor}
+ * Attempts to find the {@link IReqifEditor} or {@link ISpecificationEditor}
* for the given EObject by walking up the parent hierarchy to the enclosing
* {@link ReqIF} or {@link Specification}. If the {@link IReqifEditor} is
* found for a Specification, the corresponding editor will be opened.
@@ -249,8 +246,8 @@
IEditorReference[] eRefs = activePage.getEditorReferences();
for (IEditorReference eRef : eRefs) {
IEditorPart editor = eRef.getEditor(false);
- if (editor instanceof SpecificationEditor) {
- SpecificationEditor specEditor = (SpecificationEditor) editor;
+ if (editor instanceof ISpecificationEditor) {
+ ISpecificationEditor specEditor = (ISpecificationEditor) editor;
// Case 1: We found the right SpecificationEditor
if (specEditor.getSpecification().equals(spec)) {
@@ -265,14 +262,7 @@
if (spec == null) return reqifEditor;
// Case 3: We found the Reqif10Editor, but need the SpecificationEditor
- ReqifSpecificationEditorInput editorInput = new ReqifSpecificationEditorInput(
- reqifEditor, spec);
- try {
- return IDE.openEditor(activePage, editorInput,
- SpecificationEditor.EDITOR_ID, false);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
+ return reqifEditor.openSpecEditor(spec);
}
}
}
diff --git a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/filter/ui/ReqIFSearchPage.java b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/filter/ui/ReqIFSearchPage.java
index 33ba457..56ab863 100644
--- a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/filter/ui/ReqIFSearchPage.java
+++ b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/filter/ui/ReqIFSearchPage.java
@@ -20,7 +20,6 @@
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.rmf.reqif10.ReqIF;
import org.eclipse.rmf.reqif10.pror.editor.IReqifEditor;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
import org.eclipse.rmf.reqif10.search.filter.IFilter;
import org.eclipse.rmf.reqif10.search.filter.SimpleCompoundFilter;
import org.eclipse.rmf.reqif10.search.ui.ReqIFSearchUIPlugin;
@@ -212,9 +211,6 @@
if (editor instanceof IReqifEditor) {
return (IReqifEditor) editor;
}
- if (editor instanceof SpecificationEditor) {
- return ((SpecificationEditor) editor).getReqifEditor();
- }
return null;
}
diff --git a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
index c42aa8b..c724f00 100644
--- a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
+++ b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
@@ -16,7 +16,7 @@
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.rmf.reqif10.SpecHierarchy;
import org.eclipse.rmf.reqif10.Specification;
-import org.eclipse.rmf.reqif10.pror.editor.presentation.SpecificationEditor;
+import org.eclipse.rmf.reqif10.pror.editor.ISpecificationEditor;
import org.eclipse.search.ui.ISearchResultViewPart;
import org.eclipse.search.ui.NewSearchUI;
import org.eclipse.ui.IEditorActionDelegate;
@@ -29,7 +29,7 @@
private Specification spec;
private SpecHierarchy selectedSpecHierarchy;
- private SpecificationEditor editor;
+ private ISpecificationEditor editor;
@Override
public void run(IAction action) {
@@ -69,9 +69,9 @@
@Override
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
- if (targetEditor instanceof SpecificationEditor) {
- this.editor = (SpecificationEditor)targetEditor;
- this.spec = ((SpecificationEditor)targetEditor).getSpecification();
+ if (targetEditor instanceof ISpecificationEditor) {
+ this.editor = (ISpecificationEditor)targetEditor;
+ this.spec = ((ISpecificationEditor)targetEditor).getSpecification();
} else {
this.spec = null;
this.editor = null;