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.swt.SWTException;
import org.eclipse.swt.widgets.Composite;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
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;
*
*/
public class DetailsPartE4 extends AbstractCdmEditorPartE4 implements IPartContentHasSupplementalData {
-
- @Inject
+ @Inject
+ private Logger logger;
+
+ @Inject
public DetailsPartE4() {
}
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);
+
+ }
+ }
}
}