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
.e4
;
11 import javax
.annotation
.PostConstruct
;
13 import org
.eclipse
.e4
.core
.contexts
.ContextInjectionFactory
;
14 import org
.eclipse
.e4
.core
.contexts
.IEclipseContext
;
15 import org
.eclipse
.e4
.ui
.model
.application
.ui
.basic
.MPart
;
16 import org
.eclipse
.e4
.ui
.services
.EMenuService
;
17 import org
.eclipse
.jface
.viewers
.TreeViewer
;
18 import org
.eclipse
.swt
.SWT
;
19 import org
.eclipse
.swt
.dnd
.Transfer
;
20 import org
.eclipse
.swt
.widgets
.Composite
;
21 import org
.eclipse
.swt
.widgets
.Tree
;
23 import eu
.etaxonomy
.taxeditor
.editor
.l10n
.Messages
;
24 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementDragListener
;
25 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementDropAdapter
;
26 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.DescriptionElementTransfer
;
27 import eu
.etaxonomy
.taxeditor
.editor
.view
.descriptive
.e4
.FactualDataPartE4
;
28 import eu
.etaxonomy
.taxeditor
.editor
.view
.uses
.UsesContentProvider
;
29 import eu
.etaxonomy
.taxeditor
.editor
.view
.uses
.UsesLabelProvider
;
38 public class UsesViewPartE4
extends FactualDataPartE4
{
40 //FIXME E4 implement delete handler
44 public void create(Composite parent
, EMenuService menuService
, MPart thisPart
,
45 IEclipseContext context
) {
47 this.thisPart
= thisPart
;
49 TreeViewer treeViewer
= new TreeViewer(new Tree(parent
, SWT
.H_SCROLL
50 | SWT
.V_SCROLL
| SWT
.FULL_SELECTION
| SWT
.MULTI
));
51 treeViewer
.setContentProvider(new UsesContentProvider(featureNodeContainerCache
));
52 treeViewer
.setLabelProvider(new UsesLabelProvider());
53 treeViewer
.setAutoExpandLevel(2);
55 Transfer
[] transfers
= new Transfer
[] { DescriptionElementTransfer
.getInstance() };
56 treeViewer
.addDragSupport(dndOperations
, transfers
, new DescriptionElementDragListener(
58 DescriptionElementDropAdapter dropListener
= new DescriptionElementDropAdapter(treeViewer
);
59 ContextInjectionFactory
.inject(dropListener
, context
);
60 treeViewer
.addDropSupport(dndOperations
, transfers
,
65 // Propagate selection from viewer
66 selectionChangedListener
= (event
-> selService
.setSelection(event
.getSelection()));
67 treeViewer
.addSelectionChangedListener(selectionChangedListener
);
70 menuService
.registerContextMenu(treeViewer
.getControl(), "eu.etaxonomy.taxeditor.editor.popupmenu.usesView");
76 protected String
getViewName(){
77 return Messages
.UsesViewPart_VIEWER_NAME
;
82 public boolean postOperation(Object objectAffectedByOperation
) {
84 return super.postOperation(objectAffectedByOperation
);