Project

General

Profile

Download (2.76 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.preference.menu;
12

    
13
import java.util.List;
14

    
15
import org.eclipse.jface.viewers.ITableLabelProvider;
16
import org.eclipse.jface.viewers.LabelProvider;
17
import org.eclipse.jface.viewers.ViewerComparator;
18
import org.eclipse.swt.graphics.Image;
19
import org.eclipse.swt.widgets.Composite;
20
import org.eclipse.swt.widgets.Control;
21

    
22
import eu.etaxonomy.cdm.model.common.Language;
23
import eu.etaxonomy.taxeditor.store.TermStore;
24

    
25
/**
26
 * <p>LanguageMenuPreferences class.</p>
27
 *
28
 * @author p.ciardelli
29
 * @created 24.08.2009
30
 * @version 1.0
31
 */
32
public class LanguageMenuPreferences extends AbstractMenuPreferences<Language> {
33
	
34
	/** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */
35
	public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages";
36
	
37
	/**
38
	 * <p>Constructor for LanguageMenuPreferences.</p>
39
	 */
40
	public LanguageMenuPreferences() {
41
		super("Language Preferences", 
42
				"Configure language preferences.",
43
				false);
44
	}
45
	
46
	/* (non-Javadoc)
47
	 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createContents(org.eclipse.swt.widgets.Composite)
48
	 */
49
	/** {@inheritDoc} */
50
	@Override
51
	public Control createContents(Composite parent) {
52
		Control control = super.createContents(parent);
53
		
54
		tableViewer.setLabelProvider(new LanguagePreferenceLabelProvider());
55
		tableViewer.setComparator(new ViewerComparator());
56
		
57
		return control;
58
	}
59
		
60
	class LanguagePreferenceLabelProvider extends LabelProvider implements ITableLabelProvider{
61

    
62
		/* (non-Javadoc)
63
		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
64
		 */
65
		public Image getColumnImage(Object element, int columnIndex) {
66
			return null;
67
		}
68

    
69
		/* (non-Javadoc)
70
		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
71
		 */
72
		public String getColumnText(Object element, int columnIndex) {
73
			String description = ((Language)element).getDescription();
74
			if (description == null) {
75
				description = ((Language)element).getLabel() + " - Warning: no description - not shown in menus";
76
			}
77
			return description;
78
		}
79
		
80
		}
81

    
82
	/* (non-Javadoc)
83
	 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTermClass()
84
	 */
85
	/** {@inheritDoc} */
86
	@Override
87
	protected Class<Language> getTermClass() {
88
		return Language.class;
89
	}
90

    
91
	/* (non-Javadoc)
92
	 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
93
	 */
94
	@Override
95
	protected List<Language> getTerms() {
96
		return TermStore.getLanguages();
97
	}
98
}
(6-6/18)