3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.featuretree
;
13 import java
.util
.HashSet
;
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
;
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
;
30 * <p>AvailableFeaturesWizardPage class.</p>
33 * @created Aug 5, 2010
36 public class AvailableFeaturesWizardPage
extends WizardPage
{
38 private CheckboxTableViewer viewer
;
41 * <p>Constructor for AvailableFeaturesWizardPage.</p>
43 * @param featureTree a {@link eu.etaxonomy.cdm.model.description.FeatureTree} object.
45 protected AvailableFeaturesWizardPage(FeatureTree featureTree
) {
46 super("AvailableFeaturesWizardPage");
50 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
54 public void createControl(Composite parent
) {
55 Composite composite
= new Composite(parent
, SWT
.NULL
);
56 composite
.setLayout(new GridLayout());
58 viewer
= CheckboxTableViewer
.newCheckList(composite
, SWT
.NULL
);
60 viewer
.getControl().setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
62 viewer
.setContentProvider(new DefinedTermBaseContentProvider());
63 viewer
.setLabelProvider(new DefinedTermBaseLabelProvider());
65 viewer
.setInput(PreferencesUtil
.getPreferredFeatures());
67 setControl(composite
);
71 * <p>getSelectedFeatures</p>
73 * @return a {@link java.util.Set} object.
75 public Set
<Feature
> getSelectedFeatures() {
77 Object
[] checkedElements
= viewer
.getCheckedElements();
79 Set
<Feature
> features
= new HashSet
<Feature
>(checkedElements
.length
);
81 for(Object element
: checkedElements
){
82 features
.add((Feature
) element
);