Project

General

Profile

Download (3.61 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.EditorUtil;
30
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
31
import eu.etaxonomy.taxeditor.editor.key.AbstractKeyEditor;
32
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
33

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

    
41
	public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept";
42
	
43
	private ListViewer viewer;
44
	
45
	/* (non-Javadoc)
46
	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
47
	 */
48
	@Override
49
	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
50
		if(EditorUtil.getActiveEditor() == null){
51
			showEmptyPage();
52
			return;
53
		}
54
		
55
		if(part instanceof BulkEditor){
56
			showEmptyPage();
57
			return;
58
		}
59
		
60
		if(part instanceof AbstractKeyEditor){
61
			showEmptyPage();
62
			return;
63
		}
64
		
65
		if(part instanceof MultiPageTaxonEditor){
66
			if(! part.equals(this.part)){
67
				IEditorInput input = ((IEditorPart) part).getEditorInput();
68
				showViewer(part, new StructuredSelection(input));
69
			}
70
			showViewer();
71
		}
72

    
73
	}
74

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

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

    
91
	/* (non-Javadoc)
92
	 * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
93
	 */
94
	@Override
95
	public void createViewer(Composite parent) {
96
		viewer = new ListViewer(parent);
97
		
98
		viewer.setContentProvider(new ConceptContentProvider());
99
		viewer.setLabelProvider(new ConceptLabelProvider());
100
		
101
		
102
		viewer.setSorter(new ConceptViewerSorter());
103
		
104
		getSite().setSelectionProvider(viewer);
105
		
106
		createMenu();
107
		
108
		createToolbar();
109
	}
110
	
111
	private void createMenu(){
112
		MenuManager menuManager = new MenuManager();
113
		menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
114
		
115
		getSite().registerContextMenu(menuManager, viewer);
116
		
117
		Control control = viewer.getControl();
118
		Menu menu = menuManager.createContextMenu(control);
119
		
120
		control.setMenu(menu);	
121
	}
122
	
123
	private void createToolbar() {
124
		IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
125
//		toolBarManager.add();
126
//		toolBarManager.add();
127
	}
128

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