Merge branch 'develop' into LibrAlign
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / menu / LanguageMenuPreferences.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.taxeditor.preference.menu;
11
12 import org.eclipse.jface.viewers.ITableLabelProvider;
13 import org.eclipse.jface.viewers.LabelProvider;
14 import org.eclipse.jface.viewers.ViewerComparator;
15 import org.eclipse.swt.graphics.Image;
16 import org.eclipse.swt.widgets.Composite;
17 import org.eclipse.swt.widgets.Control;
18
19 import eu.etaxonomy.cdm.model.common.Language;
20 import eu.etaxonomy.cdm.model.common.TermType;
21
22 /**
23 * <p>LanguageMenuPreferences class.</p>
24 *
25 * @author p.ciardelli
26 * @created 24.08.2009
27 * @version 1.0
28 */
29 public class LanguageMenuPreferences extends AbstractMenuPreferences<Language> {
30
31 /** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */
32 public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages";
33
34 /**
35 * <p>Constructor for LanguageMenuPreferences.</p>
36 */
37 public LanguageMenuPreferences() {
38 super("Language Preferences",
39 "Configure language preferences.",
40 false);
41 }
42
43 /* (non-Javadoc)
44 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createContents(org.eclipse.swt.widgets.Composite)
45 */
46 /** {@inheritDoc} */
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 @Override
63 public Image getColumnImage(Object element, int columnIndex) {
64 return null;
65 }
66
67 /* (non-Javadoc)
68 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
69 */
70 @Override
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 TermType getTermType() {
87 return TermType.Language;
88 }
89 }