fd82c3c82690f071e255dbf86ad46ed662860191
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / preference / menu / FeatureMenuPreferences.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.menu;
10
11 import org.eclipse.core.runtime.IStatus;
12 import org.eclipse.jface.viewers.StructuredSelection;
13 import org.eclipse.jface.wizard.WizardDialog;
14 import org.eclipse.swt.events.SelectionAdapter;
15 import org.eclipse.swt.events.SelectionEvent;
16
17 import eu.etaxonomy.cdm.model.description.Feature;
18 import eu.etaxonomy.taxeditor.preference.wizard.VocabularyTermWizard;
19 import eu.etaxonomy.taxeditor.store.StoreUtil;
20 import eu.etaxonomy.taxeditor.store.TermStore;
21
22 /**
23 * <p>FeatureMenuPreferences class.</p>
24 *
25 * @author p.ciardelli
26 * @author n.hoffmann
27 * @created 17.09.2008
28 * @version 1.0
29 */
30 public class FeatureMenuPreferences extends AbstractMenuPreferences<Feature> {
31
32 /** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.feat"{trunked}</code> */
33 public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.feature";
34
35 /**
36 * <p>Constructor for FeatureMenuPreferences.</p>
37 */
38 public FeatureMenuPreferences() {
39 super(TermStore.getFeatures(),
40 "Feature Preferences",
41 "Choose which features you would like to use for descriptive elements.",
42 true);
43 }
44
45 /* (non-Javadoc)
46 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#addEditButtonListeners()
47 *
48 * TODO refactor into superclass
49 */
50 /** {@inheritDoc} */
51 @Override
52 protected void addNewButtonListeners() {
53 newButton.addSelectionListener(new SelectionAdapter(){
54 /* (non-Javadoc)
55 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
56 */
57 @Override
58 public void widgetSelected(SelectionEvent e) {
59 super.widgetSelected(e);
60 VocabularyTermWizard<Feature> wizard = new VocabularyTermWizard<Feature>(Feature.class);
61
62 WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), wizard);
63 if(dialog.open() == IStatus.OK){
64 tableViewer.setInput(TermStore.getFeatures());
65 }
66 }
67 });
68 }
69
70 /* (non-Javadoc)
71 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#addEditButtonListeners()
72 */
73 /** {@inheritDoc} */
74 @Override
75 protected void addEditButtonListeners() {
76 editButton.addSelectionListener(new SelectionAdapter(){
77 /* (non-Javadoc)
78 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
79 */
80 @Override
81 public void widgetSelected(SelectionEvent e) {
82 super.widgetSelected(e);
83 Feature selection = (Feature) ((StructuredSelection) tableViewer.getSelection()).getFirstElement();
84
85 VocabularyTermWizard<Feature> wizard = new VocabularyTermWizard<Feature>(Feature.class, selection);
86
87 WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), wizard);
88 dialog.open();
89
90 tableViewer.setInput(TermStore.getFeatures());
91 tableViewer.reveal(selection);
92 }
93 });
94 }
95
96 /* (non-Javadoc)
97 * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTermClass()
98 */
99 /** {@inheritDoc} */
100 @Override
101 protected Class<Feature> getTermClass() {
102 return Feature.class;
103 }
104
105 /* (non-Javadoc)
106 * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#addEditButtonListeners()
107 *
108 * TODO refactor into superclass
109 */
110 // @Override
111 // protected void addDeleteButtonListeners() {
112 // removeButton.addMouseListener(new MouseAdapter(){
113 //
114 // /* (non-Javadoc)
115 // * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)
116 // */
117 // @Override
118 // public void mouseUp(MouseEvent e) {
119 // super.mouseUp(e);
120 //
121 // Feature selected = (Feature) ((StructuredSelection) tableViewer.getSelection()).getFirstElement();
122 //
123 // VocabularyStore.delete(selected);
124 //
125 //
126 // tableViewer.setInput(VocabularyStore.getFeatures());
127 // }
128 //
129 // });
130 // }
131 }