-// $Id$
/**
* Copyright (C) 2007 EDIT
* European Distributed Institute of Taxonomy
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.part.PageBook;
import org.eclipse.ui.part.ViewPart;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
public static IStructuredSelection EMPTY_SELECTION = new StructuredSelection();
- protected IWorkbenchPart part;
+ protected Object part;
private PageBook pageBook;
setInitialSelection();
}
- /**
- *
- */
private void setInitialSelection() {
- selectionChanged(AbstractUtility.getActivePart(), getInitialSelection());
+// selectionChanged(AbstractUtility.getActiveWorkbenchPart(), getInitialSelection());
}
/**
* <p>showEmptyPage</p>
*/
public void showEmptyPage(){
+ setPartName(createPartTitle(null));
pageBook.showPage(emptySelectionLabel);
}
* @param part a {@link org.eclipse.ui.IWorkbenchPart} object.
* @param selection a {@link org.eclipse.jface.viewers.ISelection} object.
*/
- public void showViewer(IWorkbenchPart part, IStructuredSelection selection){
+ public void showViewer(Object part, IStructuredSelection selection){
this.part = part;
Object element = selection.getFirstElement();
+ //avoid widget is disposed exceptions
+ if (getViewer().getControl()==null || getViewer().getControl().isDisposed()){
+ return;
+ }
+ setPartName(createPartTitle(element));
getViewer().setInput(element);
-
showViewer();
}
}
@Override
- public List<CdmBase> getRootEntities() {
+ public List<? extends CdmBase> getRootEntities() {
return Arrays.asList((CdmBase)getViewer().getInput());
}
public void forceDirty() {
changed(null);
}
+
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
+ */
+ @Override
+ public Map<Object, List<String>> getPropertyPathsMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ protected String createPartTitle(Object selectedObject){
+ if(selectedObject!=null){
+ return getViewName()+": "+selectedObject; //$NON-NLS-1$
+ }
+ return getViewName();
+ }
+
+ protected abstract String getViewName();
}