Refactored menu preference selection
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / preference / FeaturePreferences.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.SWT;
15 import org.eclipse.swt.events.MouseAdapter;
16 import org.eclipse.swt.events.MouseEvent;
17 import org.eclipse.swt.widgets.Button;
18 import org.eclipse.swt.widgets.Composite;
19 import org.eclipse.ui.IWorkbenchPreferencePage;
20
21 import eu.etaxonomy.cdm.model.description.Feature;
22 import eu.etaxonomy.taxeditor.store.CdmStore;
23
24 /**
25 * @author p.ciardelli
26 * @created 17.09.2008
27 * @version 1.0
28 * @author n.hoffmann
29 */
30 public class FeaturePreferences extends AbstractMenuPreferences implements
31 IWorkbenchPreferencePage {
32
33 public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.feature";
34 private Button newButton;
35 private Button editButton;
36 private Button removeButton;
37
38 public FeaturePreferences() {
39 super(CdmStore.getFeatures(), PreferencesUtil.getPreferredFeatures(), "Feature Preferences", "Choose which features you would like to use for descriptive elements.");
40 }
41
42
43 /* (non-Javadoc)
44 * @see org.eclipse.jface.preference.PreferencePage#performOk()
45 */
46 public boolean performOk() {
47 List<Feature> preferredFeatures = new ArrayList<Feature>();
48 for (Object element : getTableViewer().getCheckedElements()){
49 preferredFeatures.add((Feature) element);
50 }
51
52 PreferencesUtil.setPreferredFeatures(preferredFeatures);
53
54 return true;
55 }
56
57 /* (non-Javadoc)
58 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createButtons(org.eclipse.swt.widgets.Composite)
59 */
60 @Override
61 protected void createButtons(Composite buttonContainer) {
62 newButton = new Button(buttonContainer, SWT.PUSH);
63 newButton.setText("New");
64 newButton.addMouseListener(new MouseAdapter(){
65
66 /* (non-Javadoc)
67 * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)
68 */
69 @Override
70 public void mouseUp(MouseEvent e) {
71 super.mouseUp(e);
72 }
73
74 });
75
76 editButton = new Button(buttonContainer, SWT.PUSH);
77 editButton.setText("Edit");
78 editButton.addMouseListener(new MouseAdapter(){
79
80 /* (non-Javadoc)
81 * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)
82 */
83 @Override
84 public void mouseUp(MouseEvent e) {
85 super.mouseUp(e);
86 }
87
88 });
89
90 removeButton = new Button(buttonContainer, SWT.PUSH);
91 removeButton.setText("Remove");
92 removeButton.addMouseListener(new MouseAdapter(){
93
94 /* (non-Javadoc)
95 * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)
96 */
97 @Override
98 public void mouseUp(MouseEvent e) {
99 super.mouseUp(e);
100 }
101
102 });
103 }
104
105
106 }