1 package eu
.etaxonomy
.taxeditor
.navigation
.navigator
;
3 import org
.eclipse
.swt
.dnd
.DND
;
4 import org
.eclipse
.swt
.dnd
.Transfer
;
5 import org
.eclipse
.swt
.widgets
.Composite
;
6 import org
.eclipse
.ui
.internal
.navigator
.NavigatorContentService
;
7 import org
.eclipse
.ui
.internal
.navigator
.dnd
.NavigatorDnDService
;
8 import org
.eclipse
.ui
.navigator
.CommonDragAdapter
;
9 import org
.eclipse
.ui
.navigator
.CommonDropAdapter
;
10 import org
.eclipse
.ui
.navigator
.CommonViewer
;
11 import org
.eclipse
.ui
.navigator
.INavigatorContentService
;
13 import eu
.etaxonomy
.taxeditor
.dnd
.transfer
.TaxonNodeTransfer
;
15 public class TaxonNavigatorViewer
extends CommonViewer
{
17 private NavigatorContentService contentService
;
20 public TaxonNavigatorViewer(String aViewerId
, Composite aParent
, int aStyle
) {
21 super(aViewerId
, aParent
, aStyle
);
22 contentService
= new TaxonNavigatorContentService(aViewerId
, this);
27 protected void initDragAndDrop() {
29 int operations
= DND
.DROP_MOVE
;
31 CommonDragAdapter dragAdapter
= createDragAdapter();
32 addDragSupport(operations
, dragAdapter
.getSupportedDragTransfers(),
34 Transfer
[] transfers
= new Transfer
[] { TaxonNodeTransfer
.getInstance() };
35 TreeNodeDropAdapter dropAdapter
= createTreeNodeDropAdapter();
36 addDropSupport(operations
, transfers
, dropAdapter
);
38 TaxonNavigatorDnDService dnd
= (TaxonNavigatorDnDService
)getNavigatorContentService().getDnDService();
39 dnd
.setDropAdaptor(dropAdapter
);
43 protected TreeNodeDropAdapter
createTreeNodeDropAdapter() {
44 return new TreeNodeDropAdapter(this);
47 public NavigatorContentService
getNavigatorContentService(){
48 if (contentService
== null){
49 contentService
= new TaxonNavigatorContentService(viewerId
);
51 return contentService
;