Project

General

Profile

« Previous | Next » 

Revision 01b3ade8

Added by Patrick Plitzner over 9 years ago

  • added context menu entry to taxon navigator to open associated derivates in DerivateEditor
    • added taxon filter to DerivateSearchView (non-functional) (#4506)

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
10 10
package eu.etaxonomy.taxeditor.view.derivateSearch;
11 11

  
12 12
import java.util.ArrayList;
13
import java.util.Arrays;
14
import java.util.LinkedHashMap;
15 13
import java.util.List;
16 14

  
17 15
import org.eclipse.core.commands.ExecutionException;
......
36 34
import eu.etaxonomy.cdm.api.service.config.IdentifiableServiceConfiguratorImpl;
37 35
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
38 36
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
37
import eu.etaxonomy.cdm.model.taxon.Taxon;
39 38
import eu.etaxonomy.taxeditor.model.AbstractUtility;
40 39
import eu.etaxonomy.taxeditor.model.MessagingUtils;
41 40
import eu.etaxonomy.taxeditor.store.CdmStore;
41
import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
42 42
import eu.etaxonomy.taxeditor.ui.mvc.combo.EnumTermComboController;
43 43

  
44 44
/**
......
54 54
    private EnumTermComboController<SpecimenOrObservationType> enumTermComboController;
55 55
    private final DerivateSearchView derivateSearchView;
56 56
	private DerivateLabelProvider labelProvider;
57
	private Taxon selectedTaxon;
58

  
57 59
    /**
58 60
     * @param parent
59 61
     * @param derivateSearchView
......
65 67
    }
66 68

  
67 69
    private void init(){
68
        LinkedHashMap<SpecimenOrObservationType, String> orderedTerms = AbstractUtility.orderTerms(Arrays.asList(SpecimenOrObservationType.values()));
69
        String[] comboItems = new String[orderedTerms.size()];
70
        int count = 0;
71
        for(String termMessage:orderedTerms.values()){
72
            comboItems[count] = termMessage;
73
            count++;
74
        }
75

  
70
        //derivate type combo
76 71
        enumTermComboController = new EnumTermComboController<SpecimenOrObservationType>(derivateSearchComposite.getComboDerivateType(), null, null, SpecimenOrObservationType.class, 0);
77 72
        enumTermComboController.setSelection(SpecimenOrObservationType.Unknown);
78 73

  
74
        //add listeners
79 75
        derivateSearchComposite.getSearchField().addListener(SWT.KeyDown, this);
80 76
        derivateSearchComposite.getButtonSearch().addListener(SWT.Selection, this);
77
        derivateSearchComposite.getBtnBrowseTaxa().addListener(SWT.Selection, this);
81 78

  
79

  
80
        //result table
82 81
        TableViewer resultViewer = derivateSearchComposite.getResultViewer();
83 82
        resultViewer.setContentProvider(new ArrayContentProvider());
84 83
        labelProvider = new DerivateLabelProvider();
......
114 113

  
115 114
        configurator.setTitleSearchString(derivateSearchComposite.getSearchField().getText());
116 115
        SpecimenOrObservationType type = enumTermComboController.getSelection();
116

  
117
        //filter by taxon
118
        //TODO implement findOccurrencesByTaxon()
119

  
117 120
        //filter by specimen type
118 121
        List<SpecimenOrObservationBase> results = CdmStore.getSearchManager().findOccurrencesByType(configurator, type);
122

  
119 123
        //filter out assigned specimens
120 124
        if(derivateSearchComposite.getBtnFilterUndeterminedSpecimen().getSelection()){
121 125
            List<SpecimenOrObservationBase> specimensWithNoDetermination = new ArrayList<SpecimenOrObservationBase>();
......
139 143
                || (eventSource == derivateSearchComposite.getSearchField() && event.keyCode == SWT.CR)){
140 144
            searchDerivates();
141 145
        }
146
        else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
147
            selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, derivateSearchView.getSite().getShell(), derivateSearchView.getConversationHolder(), null);
148
            if(selectedTaxon!=null){
149
                derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
150
            }
151
        }
142 152
    }
143 153

  
144 154
    /**
......
159 169
        derivateSearchComposite.getSearchField().setText("");
160 170
        enumTermComboController.setSelection(SpecimenOrObservationType.Unknown);
161 171
        derivateSearchComposite.getComboDerivateType().deselectAll();
172
        selectedTaxon = null;
162 173
    }
163 174

  
164 175
    public TableViewer getResultViewer() {

Also available in: Unified diff