Project

General

Profile

Download (2.98 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 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

    
11
package eu.etaxonomy.taxeditor.editor.view.concept;
12

    
13
import org.eclipse.jface.action.GroupMarker;
14
import org.eclipse.jface.action.MenuManager;
15
import org.eclipse.jface.viewers.ISelection;
16
import org.eclipse.jface.viewers.ListViewer;
17
import org.eclipse.jface.viewers.StructuredSelection;
18
import org.eclipse.jface.viewers.Viewer;
19
import org.eclipse.swt.widgets.Composite;
20
import org.eclipse.swt.widgets.Control;
21
import org.eclipse.swt.widgets.Menu;
22
import org.eclipse.ui.IEditorInput;
23
import org.eclipse.ui.IEditorPart;
24
import org.eclipse.ui.IWorkbenchActionConstants;
25
import org.eclipse.ui.IWorkbenchPart;
26

    
27
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
28
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
29
import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;
30
import eu.etaxonomy.taxeditor.model.AbstractUtility;
31
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
32
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
33
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
34

    
35
/**
36
 * @author n.hoffmann
37
 * @created Jan 24, 2011
38
 * @version 1.0
39
 */
40
public class ConceptViewPart extends AbstractCdmEditorViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData{
41

    
42
	public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept";
43

    
44
	private ListViewer viewer;
45

    
46
	@Override
47
	protected void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
48
		if(AbstractUtility.getActiveEditor() == null){
49
			showEmptyPage();
50
			return;
51
		}
52

    
53
		if(part instanceof BulkEditor){
54
			showEmptyPage();
55
			return;
56
		}
57

    
58
		if(part instanceof AbstractGraphKeyEditor){
59
			showEmptyPage();
60
			return;
61
		}
62

    
63
		if(part instanceof MultiPageTaxonEditor){
64
			if(! part.equals(this.part)){
65
				IEditorInput input = ((IEditorPart) part).getEditorInput();
66
				showViewer(part, new StructuredSelection(input));
67
			}
68
			showViewer();
69
		}
70

    
71
	}
72

    
73
	@Override
74
	public boolean onComplete() {
75
		return true;
76
	}
77

    
78
	@Override
79
	public Viewer getViewer() {
80
		return viewer;
81
	}
82

    
83
	@Override
84
	public void createViewer(Composite parent) {
85
		viewer = new ListViewer(parent);
86

    
87
		viewer.setContentProvider(new ConceptContentProvider());
88
		viewer.setLabelProvider(new ConceptLabelProvider());
89

    
90

    
91
		viewer.setSorter(new ConceptViewerSorter());
92

    
93
		getSite().setSelectionProvider(viewer);
94

    
95
		createMenu();
96
	}
97

    
98
	private void createMenu(){
99
		MenuManager menuManager = new MenuManager();
100
		menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
101

    
102
		getSite().registerContextMenu(menuManager, viewer);
103

    
104
		Control control = viewer.getControl();
105
		Menu menu = menuManager.createContextMenu(control);
106

    
107
		control.setMenu(menu);
108
	}
109

    
110
	@Override
111
	public void changed(Object object) {
112
		getViewer().refresh();
113
		super.changed(object);
114
	}
115

    
116
}
(3-3/4)