Project

General

Profile

Download (2.76 KB) Statistics
| Branch: | Tag: | Revision:
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
package eu.etaxonomy.taxeditor.preference.menu;
10

    
11
import java.util.List;
12

    
13
import org.eclipse.swt.SWT;
14
import org.eclipse.swt.events.SelectionAdapter;
15
import org.eclipse.swt.events.SelectionEvent;
16
import org.eclipse.swt.widgets.Button;
17
import org.eclipse.swt.widgets.Composite;
18
import org.eclipse.ui.IWorkbenchPreferencePage;
19

    
20
import eu.etaxonomy.cdm.model.name.Rank;
21
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
22
import eu.etaxonomy.taxeditor.store.TermStore;
23

    
24
/**
25
 * Allows the user to choose which <code>Rank</code>s to display in the
26
 * <code>PropertySheet</code> drop-down menu for <code>TaxonNameBase</code>.
27
 *
28
 * @author p.ciardelli
29
 * @author n.hoffmann
30
 * @created 17.09.2008
31
 * @version 1.0
32
 */
33
public class RankMenuPreferences extends AbstractMenuPreferences<Rank> implements
34
		IWorkbenchPreferencePage {
35

    
36
	/** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.rank"{trunked}</code> */
37
	public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.ranks";
38

    
39
	/**
40
	 * <p>Constructor for RankMenuPreferences.</p>
41
	 */
42
	public RankMenuPreferences() {
43
		super("Rank Preferences", 
44
				"Choose which ranks to display in the property sheet drop-down menu.",
45
				false);
46
	}
47

    
48
	/* (non-Javadoc)
49
	 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#createAdditionalContent(org.eclipse.swt.widgets.Composite)
50
	 */
51
	/** {@inheritDoc} */
52
	@Override
53
	protected void createAdditionalContent(Composite container) {
54
		
55
		// TODO create option to sort ranks either alphabetically or hierarchically (asc- or descending)
56
		
57
		final Button checkbox = new Button(container, SWT.CHECK);
58
		checkbox.setText("Sort ranks hierarchically (default is alphabetically)");
59
		
60
		checkbox.setSelection(PreferencesUtil.getSortRanksHierarchichally());
61
		
62
		checkbox.addSelectionListener(new SelectionAdapter() {
63
			/* (non-Javadoc)
64
			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
65
			 */
66
			@Override
67
			public void widgetSelected(SelectionEvent e) {
68
				PreferencesUtil.setSortRanksHierarchichally(checkbox.getSelection());
69
				refresh(TermStore.getRanks());
70
			}
71
		});
72
		
73
	}
74
	
75
	/* (non-Javadoc)
76
	 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTermClass()
77
	 */
78
	/** {@inheritDoc} */
79
	@Override
80
	protected Class<Rank> getTermClass() {
81
		return Rank.class;
82
	}
83

    
84
	/* (non-Javadoc)
85
	 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
86
	 */
87
	@Override
88
	protected List<Rank> getTerms() {
89
		return TermStore.getRanks();
90
	}
91

    
92
}
(15-15/18)