2 * Copyright (C) 2011 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.editor
.view
.uses
;
11 import org
.eclipse
.jface
.viewers
.TreeViewer
;
12 import org
.eclipse
.swt
.SWT
;
13 import org
.eclipse
.swt
.dnd
.Transfer
;
14 import org
.eclipse
.swt
.widgets
.Composite
;
15 import org
.eclipse
.swt
.widgets
.Tree
;
17 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
18 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementDragListener
;
19 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementDropAdapter
;
20 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementTransfer
;
21 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptiveViewPart
;
22 import eu
.etaxonomy
.taxeditor
.model
.IPartContentHasDetails
;
23 import eu
.etaxonomy
.taxeditor
.model
.IPartContentHasSupplementalData
;
27 * The Class create a speific Use View to keep the taxonomic view clean
29 * @created mar 13, 2012
32 public class UsesViewPart
extends DescriptiveViewPart
implements IPartContentHasDetails
, IPartContentHasSupplementalData
{
34 /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.uses"</code> */
35 public static final String ID
= "eu.etaxonomy.taxeditor.editor.view.uses";
38 public void createViewer(Composite parent
) {
40 viewer
= new TreeViewer(new Tree(parent
, SWT
.MULTI
| SWT
.H_SCROLL
41 | SWT
.V_SCROLL
| SWT
.FULL_SELECTION
));
42 viewer
.setContentProvider(new UsesContentProvider(featureNodeContainerCache
));
43 viewer
.setLabelProvider(new UsesLabelProvider());
44 viewer
.setAutoExpandLevel(2);
48 Transfer
[] transfers
= new Transfer
[] { DescriptionElementTransfer
.getInstance() };
49 viewer
.addDragSupport(dndOperations
, transfers
, new DescriptionElementDragListener(
51 viewer
.addDropSupport(dndOperations
, transfers
,
52 new DescriptionElementDropAdapter(viewer
));
54 // Propagate selection from viewer
55 getSite().setSelectionProvider(viewer
);
57 showAllElementsAction
= new ToggleDescriptionAction(false);
58 hideAllElementsAction
= new ToggleDescriptionAction(true);
60 // Add context menu to tree
69 public boolean postOperation(CdmBase objectAffectedByOperation
) {
71 return super.postOperation(objectAffectedByOperation
);