Project

General

Profile

Download (4.11 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.cdm.api.application.CdmChangeEvent;
29
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
30
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
31
import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;
32
import eu.etaxonomy.taxeditor.model.AbstractUtility;
33
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
34
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
35
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
36

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

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

    
46
	private ListViewer viewer;
47

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

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

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

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

    
76
	}
77

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

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

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

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

    
104

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

    
107
		getSite().setSelectionProvider(viewer);
108

    
109
		createMenu();
110

    
111
		createToolbar();
112
	}
113

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

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

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

    
123
		control.setMenu(menu);
124
	}
125

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

    
132

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

    
142
    /* (non-Javadoc)
143
     * @see eu.etaxonomy.cdm.api.application.ICdmChangeListener#onChange(eu.etaxonomy.cdm.api.application.CdmChangeEvent)
144
     */
145
    @Override
146
    public void onChange(CdmChangeEvent event) {
147
        // TODO Auto-generated method stub
148

    
149
    }
150
}
(3-3/4)