Project

General

Profile

Download (3.17 KB) Statistics
| Branch: | Tag: | Revision:
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
}
    (1-1/1)