Project

General

Profile

Download (3.7 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.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{
41

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

    
44
	private ListViewer viewer;
45

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

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

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

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

    
74
	}
75

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

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

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

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

    
102

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

    
105
		getSite().setSelectionProvider(viewer);
106

    
107
		createMenu();
108

    
109
		createToolbar();
110
	}
111

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

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

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

    
121
		control.setMenu(menu);
122
	}
123

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

    
130

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