Project

General

Profile

Download (2.57 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 org.eclipse.jface.viewers.ITableLabelProvider;
14
import org.eclipse.jface.viewers.LabelProvider;
15
import org.eclipse.jface.viewers.ViewerComparator;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.swt.widgets.Composite;
18
import org.eclipse.swt.widgets.Control;
19

    
20
import eu.etaxonomy.cdm.model.common.Language;
21
import eu.etaxonomy.taxeditor.store.TermStore;
22

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

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

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

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