1 package eu
.etaxonomy
.taxeditor
.editor
.view
.derivate
;
3 import org
.eclipse
.jface
.action
.MenuManager
;
4 import org
.eclipse
.jface
.viewers
.ISelection
;
5 import org
.eclipse
.jface
.viewers
.TreeViewer
;
6 import org
.eclipse
.jface
.viewers
.Viewer
;
7 import org
.eclipse
.swt
.SWT
;
8 import org
.eclipse
.swt
.widgets
.Composite
;
9 import org
.eclipse
.swt
.widgets
.Control
;
10 import org
.eclipse
.swt
.widgets
.Menu
;
11 import org
.eclipse
.swt
.widgets
.Tree
;
12 import org
.eclipse
.ui
.IWorkbenchPart
;
14 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
15 import eu
.etaxonomy
.taxeditor
.bulkeditor
.BulkEditor
;
16 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
17 import eu
.etaxonomy
.taxeditor
.model
.IPartContentHasDetails
;
18 import eu
.etaxonomy
.taxeditor
.model
.IPartContentHasSupplementalData
;
19 import eu
.etaxonomy
.taxeditor
.view
.AbstractCdmEditorViewPart
;
22 * Displays the derivate hierarchy of all derivates belonging to a taxon.
25 public class DerivateView
extends AbstractCdmEditorViewPart
implements IPartContentHasDetails
, IPartContentHasSupplementalData
{
27 /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}</code> */
28 public static final String ID
= "eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView";
30 protected TreeViewer viewer
;
33 public void createViewer(Composite parent
) {
34 viewer
= new TreeViewer(new Tree(parent
, SWT
.MULTI
| SWT
.H_SCROLL
| SWT
.V_SCROLL
| SWT
.FULL_SELECTION
));
35 viewer
.setContentProvider(new DerivateContentProvider());
36 viewer
.setLabelProvider(new DerivateLabelProvider());
37 viewer
.setAutoExpandLevel(2);
38 // Propagate selection from viewer
39 getSite().setSelectionProvider(viewer
);
42 MenuManager menuManager
= new MenuManager();
44 getSite().registerContextMenu(menuManager
, viewer
);
46 Control control
= viewer
.getControl();
47 Menu menu
= menuManager
.createContextMenu(control
);
49 control
.setMenu(menu
);
53 public void selectionChanged(IWorkbenchPart part
, ISelection selection
) {
54 if(AbstractUtility
.getActiveEditor()==null || !(AbstractUtility
.getActiveEditor() instanceof BulkEditor
)){
58 else if(part
instanceof BulkEditor
){
61 getViewer().setInput(selection
);
69 public boolean onComplete() {
70 // TODO Auto-generated method stub
75 public Viewer
getViewer() {
81 public boolean postOperation(CdmBase objectAffectedByOperation
) {
82 return super.postOperation(objectAffectedByOperation
);