3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.preference
.menu
;
13 import java
.util
.List
;
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
;
22 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
23 import eu
.etaxonomy
.taxeditor
.store
.TermStore
;
26 * <p>LanguageMenuPreferences class.</p>
32 public class LanguageMenuPreferences
extends AbstractMenuPreferences
<Language
> {
34 /** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */
35 public final static String ID
= "eu.etaxonomy.taxeditor.preferences.languages";
38 * <p>Constructor for LanguageMenuPreferences.</p>
40 public LanguageMenuPreferences() {
41 super("Language Preferences",
42 "Configure language preferences.",
47 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createContents(org.eclipse.swt.widgets.Composite)
51 public Control
createContents(Composite parent
) {
52 Control control
= super.createContents(parent
);
54 tableViewer
.setLabelProvider(new LanguagePreferenceLabelProvider());
55 tableViewer
.setComparator(new ViewerComparator());
60 class LanguagePreferenceLabelProvider
extends LabelProvider
implements ITableLabelProvider
{
63 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
65 public Image
getColumnImage(Object element
, int columnIndex
) {
70 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
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";
83 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTermClass()
87 protected Class
<Language
> getTermClass() {
88 return Language
.class;
92 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
95 protected List
<Language
> getTerms() {
96 return TermStore
.getLanguages();