e0641a75b5087cb49a0e21a4d734c657819d036e
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / derivative / OccurrenceView.java
1 // $Id$
2 /**
3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.view.derivative;
11
12 import org.eclipse.jface.action.MenuManager;
13 import org.eclipse.jface.viewers.AbstractTreeViewer;
14 import org.eclipse.jface.viewers.ISelection;
15 import org.eclipse.jface.viewers.TreeViewer;
16 import org.eclipse.swt.SWT;
17 import org.eclipse.swt.layout.GridData;
18 import org.eclipse.swt.widgets.Composite;
19 import org.eclipse.swt.widgets.Control;
20 import org.eclipse.swt.widgets.Menu;
21 import org.eclipse.swt.widgets.Tree;
22 import org.eclipse.ui.ISelectionListener;
23 import org.eclipse.ui.ISelectionService;
24 import org.eclipse.ui.IWorkbenchPart;
25 import org.eclipse.ui.part.ViewPart;
26
27 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
28 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
29
30 /**
31 * @author pplitzner
32 * @date Oct 7, 2015
33 *
34 */
35 public class OccurrenceView extends ViewPart implements ISelectionListener{
36
37 public static String ID = "eu.etaxonomy.taxeditor.view.derivative.OccurrenceView";
38
39 private TreeViewer viewer;
40 private DerivateContentProvider contentProvider;
41 private DerivateLabelProvider labelProvider;
42
43 private ISelectionService selectionService;
44
45 /**
46 * {@inheritDoc}
47 */
48 @Override
49 public void createPartControl(Composite parent) {
50
51 //listen to selection changes
52 selectionService = getSite().getWorkbenchWindow().getSelectionService();
53 selectionService.addSelectionListener(this);
54
55 //---tree viewer---
56 viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
57 GridData gridDataTree = new GridData();
58 gridDataTree.horizontalAlignment = GridData.FILL;
59 gridDataTree.verticalAlignment = GridData.FILL;
60 gridDataTree.grabExcessVerticalSpace = true;
61 gridDataTree.grabExcessHorizontalSpace = true;
62 viewer.getTree().setLayoutData(gridDataTree);
63 contentProvider = new DerivateContentProvider();
64 viewer.setContentProvider(contentProvider);
65 labelProvider = new DerivateLabelProvider();
66 viewer.setLabelProvider(labelProvider);
67 viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
68 // Propagate selection from viewer
69 getSite().setSelectionProvider(viewer);
70
71 //create context menu
72 MenuManager menuManager = new MenuManager();
73 getSite().registerContextMenu(menuManager, viewer);
74 Control control = viewer.getControl();
75 Menu menu = menuManager.createContextMenu(control);
76 control.setMenu(menu);
77
78 }
79
80 /**
81 * {@inheritDoc}
82 */
83 @Override
84 public void setFocus() {
85 }
86
87 /**
88 * {@inheritDoc}
89 */
90 @Override
91 public void dispose() {
92 selectionService.removeSelectionListener(this);
93 }
94
95 /**
96 * {@inheritDoc}
97 */
98 @Override
99 public void selectionChanged(IWorkbenchPart part, ISelection selection) {
100 System.out.println(selection);
101 }
102 }