Project

General

Profile

Download (3.8 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.IToolBarManager;
15
import org.eclipse.jface.action.MenuManager;
16
import org.eclipse.jface.viewers.ISelection;
17
import org.eclipse.jface.viewers.ListViewer;
18
import org.eclipse.jface.viewers.StructuredSelection;
19
import org.eclipse.jface.viewers.Viewer;
20
import org.eclipse.swt.widgets.Composite;
21
import org.eclipse.swt.widgets.Control;
22
import org.eclipse.swt.widgets.Menu;
23
import org.eclipse.ui.IEditorInput;
24
import org.eclipse.ui.IEditorPart;
25
import org.eclipse.ui.IWorkbenchActionConstants;
26
import org.eclipse.ui.IWorkbenchPart;
27

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

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

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

    
45
	private ListViewer viewer;
46

    
47
	/* (non-Javadoc)
48
	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
49
	 */
50
	@Override
51
	protected void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
52
		if(AbstractUtility.getActiveEditor() == null){
53
			showEmptyPage();
54
			return;
55
		}
56

    
57
		if(part instanceof BulkEditor){
58
			showEmptyPage();
59
			return;
60
		}
61

    
62
		if(part instanceof AbstractGraphKeyEditor){
63
			showEmptyPage();
64
			return;
65
		}
66

    
67
		if(part instanceof MultiPageTaxonEditor){
68
			if(! part.equals(this.part)){
69
				IEditorInput input = ((IEditorPart) part).getEditorInput();
70
				showViewer(part, new StructuredSelection(input));
71
			}
72
			showViewer();
73
		}
74

    
75
	}
76

    
77
	/* (non-Javadoc)
78
	 * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
79
	 */
80
	@Override
81
	public boolean onComplete() {
82
		return true;
83
	}
84

    
85
	/* (non-Javadoc)
86
	 * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getViewer()
87
	 */
88
	@Override
89
	public Viewer getViewer() {
90
		return viewer;
91
	}
92

    
93
	/* (non-Javadoc)
94
	 * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
95
	 */
96
	@Override
97
	public void createViewer(Composite parent) {
98
		viewer = new ListViewer(parent);
99

    
100
		viewer.setContentProvider(new ConceptContentProvider());
101
		viewer.setLabelProvider(new ConceptLabelProvider());
102

    
103

    
104
		viewer.setSorter(new ConceptViewerSorter());
105

    
106
		getSite().setSelectionProvider(viewer);
107

    
108
		createMenu();
109

    
110
		createToolbar();
111
	}
112

    
113
	private void createMenu(){
114
		MenuManager menuManager = new MenuManager();
115
		menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
116

    
117
		getSite().registerContextMenu(menuManager, viewer);
118

    
119
		Control control = viewer.getControl();
120
		Menu menu = menuManager.createContextMenu(control);
121

    
122
		control.setMenu(menu);
123
	}
124

    
125
	private void createToolbar() {
126
		IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
127
//		toolBarManager.add();
128
//		toolBarManager.add();
129
	}
130

    
131

    
132
	/* (non-Javadoc)
133
	 * @see eu.etaxonomy.taxeditor.editor.view.AbstractCdmEditorViewPart#changed(java.lang.Object)
134
	 */
135
	@Override
136
	public void changed(Object object) {
137
		getViewer().refresh();
138
		super.changed(object);
139
	}
140

    
141
}
(3-3/4)