import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.model.term.TermCollection;
-import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
public class FilterDialog extends Dialog {
@SuppressWarnings("rawtypes")
- private List<TermVocabulary> vocabularies = new ArrayList<>();
+ private List<TermCollection> vocabularies = new ArrayList<>();
@SuppressWarnings("rawtypes")
private List<TermCollection> selectedVocabularies = new ArrayList<>();
private Object preferenceId;
- protected FilterDialog(Shell parentShell, Object preferenceId, List<TermCollection> selectedVocabularies, List<TermVocabulary> vocabularies) {
+ protected FilterDialog(Shell parentShell, Object preferenceId, List<TermCollection> selectedVocabularies, List<TermCollection> vocabularies) {
super(parentShell);
this.vocabularies = vocabularies;
this.preferenceId = preferenceId;
protected Control createDialogArea(Composite parent) {
Composite dialogArea = new Composite(parent, SWT.NULL);
dialogArea.setLayout(new GridLayout(1, false));
- for (TermVocabulary<?> voc: vocabularies){
+ for (TermCollection voc: vocabularies){
Button btnCheckButton = new Button(dialogArea, SWT.CHECK);
btnCheckButton.setText(voc.getLabel());
btnCheckButton.setData(voc);
public void widgetSelected(SelectionEvent e) {
if (btnCheckButton.getSelection()){
if (!tempSelectedVocabularies.contains(btnCheckButton.getData())){
- tempSelectedVocabularies.add((TermVocabulary<?>)btnCheckButton.getData());
+ tempSelectedVocabularies.add((TermCollection)btnCheckButton.getData());
if (!tempSelectedVocabularies.isEmpty()) {
getButton(IDialogConstants.OK_ID).setEnabled(true);
}
@Override
protected void okPressed(){
- for (TermVocabulary<?> voc: vocabularies){
+ for (TermCollection voc: vocabularies){
if (tempSelectedVocabularies.contains(voc)){
PreferencesUtil.setBooleanValue(getPrefKey(voc), false);
selectedVocabularies.add(voc);
super.okPressed();
}
- private String getPrefKey(TermVocabulary<?> vocabulary){
+ private String getPrefKey(TermCollection vocabulary){
return "hide_"+NamedAreaSelectionDialog.class.getCanonicalName()+vocabulary.getUuid()+preferenceId;
}
}
\ No newline at end of file
import org.eclipse.swt.widgets.Shell;\r
\r
import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.api.service.ITermTreeService;\r
import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;\r
import eu.etaxonomy.cdm.model.metadata.TermSearchField;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.term.TermCollection;\r
+import eu.etaxonomy.cdm.model.term.TermTree;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
import eu.etaxonomy.taxeditor.model.ImageResources;\r
protected List<TermCollection> selectedTermCollections;\r
@SuppressWarnings("rawtypes")\r
protected List<TermVocabulary> allVocabularies;\r
+ protected List<TermTree> allTrees;\r
\r
/**\r
* Creates a filtered selection dialog to select a named area.\r
\r
@Override\r
protected void init() {\r
- allVocabularies = getAvailableVocabularies();\r
+ getAvailableVocabularies();\r
}\r
\r
- private List<TermVocabulary> getAvailableVocabularies(){\r
+ private void getAvailableVocabularies(){\r
allVocabularies = new ArrayList<>();\r
allVocabularies = CdmStore.getService(IVocabularyService.class).listByTermType(TermType.NamedArea, true, null, null, null, null);\r
- return allVocabularies;\r
+ allTrees = CdmStore.getService(ITermTreeService.class).list(TermType.NamedArea, null, null, null, null);\r
+\r
}\r
\r
@Override\r
public void widgetSelected(SelectionEvent e) {\r
Object source = e.getSource();\r
if (source instanceof Button){\r
- Dialog dialog = new FilterDialog(getShell(), preferenceID, selectedTermCollections, allVocabularies);\r
+ List<TermCollection> allCollections = new ArrayList<>();\r
+ allCollections.addAll(allVocabularies);\r
+ allCollections.addAll(allTrees);\r
+\r
+ Dialog dialog = new FilterDialog(getShell(), preferenceID, selectedTermCollections, allCollections);\r
dialog.open();\r
createSelectedVocabularies();\r
search();\r