From: Patrick Plitzner
@@ -22,7 +23,7 @@ import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
* @created Sep 21, 2010
* @version 1.0
*/
-public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
+public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart implements ISelectionElementEditingPart {
private DelaySelection delaySelection = null;
/**
@@ -30,6 +31,8 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
* If it is true
then it is currently delaying a selection.
*/
private boolean isInDelay;
+
+ protected Object selectionProvidingPart;
/**
@@ -91,6 +94,12 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
isInDelay = true;
Display.getCurrent().asyncExec(delaySelection);
}
+ selectionProvidingPart = part;
+ }
+
+ @Override
+ public Object getSelectionProvidingPart() {
+ return selectionProvidingPart;
}
@@ -113,6 +122,15 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
return AbstractUtility.getActiveEditor();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void showEmptyPage() {
+ selectionProvidingPart = null;
+ super.showEmptyPage();
+ }
+
/** {@inheritDoc} */
@Override
public void setFocus() {
@@ -124,6 +142,15 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
}
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void dispose() {
+ selectionProvidingPart = null;
+ super.dispose();
+ }
+
/** {@inheritDoc} */
@Override
public void changed(Object object) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java
index e2eb0ff0a..85596906c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java
@@ -20,7 +20,6 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IWorkbenchPart;
@@ -58,9 +57,6 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
private DetailsViewer viewer;
- //FIXME E4: this can be removed when working with E4 event system
- private Object selectionProvidingPart;
-
/** {@inheritDoc} */
@Override
public void createViewer(Composite parent) {
@@ -132,7 +128,6 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
return;
}
}
- selectionProvidingPart = part;
showViewer(part, structuredSelection);
}else{
showEmptyPage();
@@ -163,7 +158,6 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
@Override
public void showEmptyPage() {
- selectionProvidingPart = null;
viewer.setSelection(null);
super.showEmptyPage();
}
@@ -247,11 +241,11 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
if (element instanceof Taxon){
Taxon taxon = HibernateProxyHelper.deproxy(element, Taxon.class);
if (taxon.isMisapplication()){
-
+
if (part instanceof ITaxonEditor){
Taxon accepted= ((ITaxonEditor)part).getTaxon();
- Set
+ * This interface is used as a temporary workaround during e4 migration
+ * for simulating the IEditorPart behavior of editors VS views
+ *
+ * @author pplitzner
+ * @since Jun 27, 2017
+ *
+ */
+@Deprecated
+//FIXME E4 migration
+public interface ISelectionElementEditingPart {
+
+ /**
+ * Returns the part that has provided the last selection
+ * @return the selection providing part
+ */
+ public Object getSelectionProvidingPart();
+
+}