import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.services.log.Logger;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWTException;
import org.eclipse.swt.widgets.Composite;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4;
+import eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4;
import eu.etaxonomy.taxeditor.workbench.part.ISelectionElementEditingPart;
/**
* @date 18.07.2017
*
*/
-public class DetailsPartE4 extends AbstractCdmEditorPartE4 implements IPartContentHasSupplementalData {
+public class DetailsPartE4 extends AbstractCdmEditorPartE4 implements IPartContentHasSupplementalData, IPartContentHasFactualData {
+ @Inject
+ private Logger logger;
- @Inject
+ @Inject
public DetailsPartE4() {
}
}
Object partObject = createPartObject(activePart);
+ if (partObject instanceof SupplementalDataPartE4 ) {
+ // do not show empty page
+ return;
+ }
if(partObject instanceof IPartContentHasDetails){
IStructuredSelection structuredSelection = createSelection(selection);
return;
}
}
-// if (partObject instanceof IDistributionEditor){
-//
-// showViewer(structuredSelection, activePart, viewer);
-// return;
-//
-// }
+
+ //FIXME this is a temporary workaround to fix selection handling for supplemental data view
+ // Now the supp data view gets double selection from details view and name editor (see #7126)
+
+ viewer.setSelection(structuredSelection, false);
+
showViewer(structuredSelection, activePart, viewer);
+
+
+
return;
}
else{
}
}
+ public void refreshSelection(){
+ selectionChanged_internal(new StructuredSelection(this.viewer.getInput()), selectionProvidingPart, thisPart);
+ }
+
@Override
protected void showEmptyPage() {
super.showEmptyPage();
if(viewer!=null && viewer.getControl()!=null && !viewer.getControl().isDisposed() ){
- ((DetailsViewerE4)viewer).destroySections();
+ try{
+ ((DetailsViewerE4)viewer).destroySections();
+ }catch(SWTException e){
+ if (PreferencesUtil.isShowUpWidgetIsDisposedMessages() && e.getMessage().equals("Widget is disposed")){
+ MessagingUtils.errorDialog("Widget is disposed",
+ null,
+ MessagingUtils.WIDGET_IS_DISPOSED_MESSAGE,
+ null,
+ e,
+ true);
+
+ }
+ }
}
}