58b12d421ca418b85b212c3e008200db39ae7259
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / preference / RankMenuPreferences.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 package eu.etaxonomy.taxeditor.preference;
10
11 import java.util.ArrayList;
12 import java.util.List;
13
14 import org.eclipse.swt.widgets.Composite;
15 import org.eclipse.ui.IWorkbenchPreferencePage;
16
17 import eu.etaxonomy.cdm.model.name.Rank;
18 import eu.etaxonomy.taxeditor.store.CdmStore;
19
20 /**
21 * Allows the user to choose which <code>Rank</code>s to display in the
22 * <code>PropertySheet</code> drop-down menu for <code>TaxonNameBase</code>.
23 *
24 * @author p.ciardelli
25 * @created 17.09.2008
26 * @version 1.0
27 * @author n.hoffmann
28 */
29 public class RankMenuPreferences extends AbstractMenuPreferences implements
30 IWorkbenchPreferencePage {
31
32 public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.ranks";
33
34 public RankMenuPreferences() {
35 super(CdmStore.getRanks(), PreferencesUtil.getPreferredRanks(), "Rank Preferences", "Choose which ranks to display in the property sheet drop-down menu.");
36 }
37
38 /* (non-Javadoc)
39 * @see org.eclipse.jface.preference.PreferencePage#performOk()
40 */
41 public boolean performOk() {
42
43 List<Rank> preferredRanks = new ArrayList<Rank>();
44 for (Object element : getTableViewer().getCheckedElements()){
45 preferredRanks.add((Rank) element);
46 }
47
48 PreferencesUtil.setPreferredRanks(preferredRanks);
49
50 return true;
51 }
52
53 /* (non-Javadoc)
54 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createButtons(org.eclipse.swt.widgets.Composite)
55 */
56 @Override
57 protected void createButtons(Composite buttonContainer) {
58 // not used
59 }
60 }