Revision b13da0b9
Added by Cherian Mathew almost 9 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java | ||
---|---|---|
24 | 24 |
import org.eclipse.ui.IEditorInput; |
25 | 25 |
import org.eclipse.ui.IEditorPart; |
26 | 26 |
import org.eclipse.ui.IEditorReference; |
27 |
import org.eclipse.ui.IWorkbenchPage; |
|
27 | 28 |
import org.eclipse.ui.PartInitException; |
28 | 29 |
import org.eclipse.ui.handlers.HandlerUtil; |
29 | 30 |
|
30 | 31 |
import eu.etaxonomy.cdm.api.service.ITaxonService; |
32 |
import eu.etaxonomy.cdm.model.common.ITreeNode; |
|
31 | 33 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
32 | 34 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
33 | 35 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
34 | 36 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
37 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
35 | 38 |
import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditor; |
36 | 39 |
import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditorInput; |
37 | 40 |
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin; |
... | ... | |
453 | 456 |
openTaxonBase(((TaxonBase<?>) object).getUuid()); |
454 | 457 |
} |
455 | 458 |
} |
459 |
|
|
460 |
public static boolean closeObsoleteEditor(TaxonNode taxonNode, IWorkbenchPage activePage){ |
|
461 |
boolean result = true; |
|
462 |
for (IEditorReference ref : activePage.getEditorReferences()) { |
|
463 |
try { |
|
464 |
String treeIndex = ((ITreeNode)taxonNode).treeIndex(); |
|
465 |
|
|
466 |
|
|
467 |
IEditorInput input = ref.getEditorInput(); |
|
468 |
if (input instanceof TaxonEditorInput) { |
|
469 |
TaxonNode node = ((TaxonEditorInput) input).getTaxonNode(); |
|
470 |
//if node is a child of taxonNode then close the editor |
|
471 |
if( ((ITreeNode) node).treeIndex().startsWith(treeIndex)){ |
|
472 |
//if (taxonNode.equals(node)) { |
|
473 |
result &= activePage.closeEditor(ref.getEditor(false), true); |
|
474 |
|
|
475 |
} |
|
476 |
} |
|
477 |
} catch (PartInitException e) { |
|
478 |
continue; |
|
479 |
} |
|
480 |
} |
|
481 |
return result; |
|
482 |
} |
|
456 | 483 |
} |
Also available in: Unified diff
#5007 : Add remoting handler / operations for the taxon navigator