performed javacscript:fix and worked on documentation
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / featuretree / AvailableFeaturesWizardPage.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.featuretree;
12
13 import java.util.HashSet;
14 import java.util.Set;
15
16 import org.eclipse.jface.viewers.CheckboxTableViewer;
17 import org.eclipse.jface.wizard.WizardPage;
18 import org.eclipse.swt.SWT;
19 import org.eclipse.swt.layout.GridData;
20 import org.eclipse.swt.layout.GridLayout;
21 import org.eclipse.swt.widgets.Composite;
22
23 import eu.etaxonomy.cdm.model.description.Feature;
24 import eu.etaxonomy.cdm.model.description.FeatureTree;
25 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
26 import eu.etaxonomy.taxeditor.preference.menu.DefinedTermBaseContentProvider;
27 import eu.etaxonomy.taxeditor.preference.menu.DefinedTermBaseLabelProvider;
28
29 /**
30 * <p>AvailableFeaturesWizardPage class.</p>
31 *
32 * @author n.hoffmann
33 * @created Aug 5, 2010
34 * @version 1.0
35 */
36 public class AvailableFeaturesWizardPage extends WizardPage {
37
38 private CheckboxTableViewer viewer;
39
40 /**
41 * <p>Constructor for AvailableFeaturesWizardPage.</p>
42 *
43 * @param featureTree a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
44 */
45 protected AvailableFeaturesWizardPage(FeatureTree featureTree) {
46 super("AvailableFeaturesWizardPage");
47 }
48
49 /* (non-Javadoc)
50 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
51 */
52 /** {@inheritDoc} */
53 @Override
54 public void createControl(Composite parent) {
55 Composite composite = new Composite(parent, SWT.NULL);
56 composite.setLayout(new GridLayout());
57
58 viewer = CheckboxTableViewer.newCheckList(composite, SWT.NULL);
59
60 viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
61
62 viewer.setContentProvider(new DefinedTermBaseContentProvider());
63 viewer.setLabelProvider(new DefinedTermBaseLabelProvider());
64
65 viewer.setInput(PreferencesUtil.getPreferredFeatures());
66
67 setControl(composite);
68 }
69
70 /**
71 * <p>getSelectedFeatures</p>
72 *
73 * @return a {@link java.util.Set} object.
74 */
75 public Set<Feature> getSelectedFeatures() {
76
77 Object[] checkedElements = viewer.getCheckedElements();
78
79 Set<Feature> features = new HashSet<Feature>(checkedElements.length);
80
81 for(Object element : checkedElements){
82 features.add((Feature) element);
83 }
84
85 return features;
86 }
87 }