#823
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / preference / LanguageMenuPreferences.java
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;
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.VocabularyStore;
22
23 /**
24 * @author p.ciardelli
25 * @created 24.08.2009
26 * @version 1.0
27 */
28 public class LanguageMenuPreferences extends AbstractMenuPreferences<Language> {
29
30 public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages";
31
32 /**
33 * @param initialVocabulary
34 * @param title
35 * @param description
36 */
37 public LanguageMenuPreferences() {
38 super(VocabularyStore.getLanguages(),
39 "Language Preferences",
40 "Configure language preferences.",
41 false);
42 }
43
44 /* (non-Javadoc)
45 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createContents(org.eclipse.swt.widgets.Composite)
46 */
47 @Override
48 public Control createContents(Composite parent) {
49 Control control = super.createContents(parent);
50
51 tableViewer.setLabelProvider(new LanguagePreferenceLabelProvider());
52 tableViewer.setComparator(new ViewerComparator());
53
54 return control;
55 }
56
57 class LanguagePreferenceLabelProvider extends LabelProvider implements ITableLabelProvider{
58
59 /* (non-Javadoc)
60 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
61 */
62 public Image getColumnImage(Object element, int columnIndex) {
63 return null;
64 }
65
66 /* (non-Javadoc)
67 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
68 */
69 public String getColumnText(Object element, int columnIndex) {
70 String description = ((Language)element).getDescription();
71 if (description == null) {
72 description = ((Language)element).getLabel() + " - Warning: no description - not shown in menus";
73 }
74 return description;
75 }
76
77 }
78 }