--- /dev/null
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.preference;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.MouseAdapter;\r
+import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.MessageBox;\r
+import org.eclipse.ui.IWorkbenchPreferencePage;\r
+\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 17.09.2008\r
+ * @version 1.0\r
+ * @author n.hoffmann\r
+ */\r
+public class FeatureMenuPreferences extends AbstractMenuPreferences implements\r
+ IWorkbenchPreferencePage {\r
+\r
+ public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.feature";\r
+ private Button newButton;\r
+ private Button editButton;\r
+ private Button removeButton;\r
+ \r
+ public FeatureMenuPreferences() {\r
+ super(CdmStore.getFeatures(), PreferencesUtil.getPreferredFeatures(), "Feature Preferences", "Choose which features you would like to use for descriptive elements.");\r
+ }\r
+\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()\r
+ */\r
+ public boolean performOk() {\r
+ List<Feature> preferredFeatures = new ArrayList<Feature>();\r
+ for (Object element : getTableViewer().getCheckedElements()){\r
+ preferredFeatures.add((Feature) element);\r
+ }\r
+ \r
+ PreferencesUtil.setPreferredFeatures(preferredFeatures);\r
+ \r
+ return true;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createButtons(org.eclipse.swt.widgets.Composite)\r
+ */\r
+ @Override\r
+ protected void createButtons(Composite buttonContainer) {\r
+ newButton = new Button(buttonContainer, SWT.PUSH);\r
+ newButton.setText("New");\r
+ newButton.addMouseListener(new MouseAdapter(){\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ super.mouseUp(e);\r
+ notImplemented();\r
+ }\r
+ \r
+ });\r
+ \r
+ editButton = new Button(buttonContainer, SWT.PUSH);\r
+ editButton.setText("Edit");\r
+ editButton.addMouseListener(new MouseAdapter(){\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ super.mouseUp(e);\r
+ notImplemented();\r
+ }\r
+ \r
+ });\r
+ \r
+ removeButton = new Button(buttonContainer, SWT.PUSH);\r
+ removeButton.setText("Remove");\r
+ removeButton.addMouseListener(new MouseAdapter(){\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ super.mouseUp(e);\r
+ notImplemented();\r
+ }\r
+ \r
+ });\r
+ }\r
+\r
+ private void notImplemented(){\r
+ MessageBox messageBox = new MessageBox(StoreUtil.getShell(), SWT.ICON_WARNING | SWT.OK);\r
+ messageBox.setText("Not yet implemented");\r
+ messageBox.open();\r
+ }\r
+\r
+}\r