Project

General

Profile

Download (3.47 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.singlesource.editor.view.media;
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.IStructuredSelection;
17
import org.eclipse.jface.viewers.StructuredSelection;
18
import org.eclipse.jface.viewers.TreeViewer;
19
import org.eclipse.jface.viewers.Viewer;
20
import org.eclipse.swt.SWT;
21
import org.eclipse.swt.widgets.Composite;
22
import org.eclipse.swt.widgets.Control;
23
import org.eclipse.swt.widgets.Menu;
24
import org.eclipse.swt.widgets.Tree;
25
import org.eclipse.ui.IEditorInput;
26
import org.eclipse.ui.IEditorPart;
27
import org.eclipse.ui.IWorkbenchActionConstants;
28
import org.eclipse.ui.IWorkbenchPart;
29

    
30
import eu.etaxonomy.taxeditor.editor.EditorUtil;
31
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
32
import eu.etaxonomy.taxeditor.editor.view.media.MediaContentProvider;
33
import eu.etaxonomy.taxeditor.editor.view.media.MediaLabelProvider;
34
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
35
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
36
import eu.etaxonomy.taxeditor.singlesource.ImplementationLoader;
37
import eu.etaxonomy.taxeditor.singlesource.editor.view.concept.ConceptLabelProviderFacade;
38
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
39

    
40
/**
41
 * <p>MediaViewPart class.</p>
42
 *
43
 * @author n.hoffmann
44
 * @created Jun 15, 2010
45
 * @version 1.0
46
 */
47
public abstract class MediaViewPart extends AbstractCdmEditorViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData {
48
	/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.medi"{trunked}</code> */
49
	public static final String ID = "eu.etaxonomy.taxeditor.editor.view.media";
50

    
51
	private TreeViewer viewer;
52
	
53
	/*
54
	 * (non-Javadoc)
55
	 * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
56
	 */
57
	/** {@inheritDoc} */
58
	@Override
59
	public void createViewer(Composite parent) {
60
		
61
		viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL
62
				| SWT.V_SCROLL | SWT.FULL_SELECTION));
63
		
64
		viewer.setContentProvider(new MediaContentProvider());
65
		viewer.setLabelProvider(new MediaLabelProvider());
66
		viewer.setAutoExpandLevel(2);
67
		
68
		// Propagate selection from viewer
69
		getSite().setSelectionProvider(viewer);
70
		
71
		// Add context menu to tree
72
		MenuManager menuMgr = new MenuManager();
73
		menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
74
		getSite().registerContextMenu(menuMgr, viewer);
75
		
76
		Control control = viewer.getControl();
77
		Menu menu = menuMgr.createContextMenu(control);
78
		control.setMenu(menu);	
79
		
80
	}
81
	
82
	/* (non-Javadoc)
83
	 * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection()
84
	 */
85
	/** {@inheritDoc} */
86
	@Override
87
	protected ISelection getInitialSelection() {
88
		if(getEditor() != null){
89
			return new StructuredSelection(getEditor().getEditorInput());
90
		}	
91
		
92
		return super.getInitialSelection();
93
	}
94

    
95
	/** {@inheritDoc} */
96
	@Override
97
	public void changed(Object object) {
98
		viewer.refresh();
99
		super.changed(object);
100
	}
101

    
102
	/** {@inheritDoc} */
103
	@Override
104
	public Viewer getViewer() {
105
		return viewer;
106
	}
107

    
108
	/**
109
	 * <p>onComplete</p>
110
	 *
111
	 * @return a boolean.
112
	 */
113
	public boolean onComplete() {
114
		return true;
115
	}
116
}
    (1-1/1)