-// $Id$
/**
* Copyright (C) 2013 EDIT
* European Distributed Institute of Taxonomy
import java.util.List;
import java.util.UUID;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator;
-import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator.AssignmentStatus;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.persistence.query.AssignmentStatus;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.SearchManager;
import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
}
private void searchDerivates(){
+ if(derivativeEditor.isDirty()){
+ boolean confirm = MessagingUtils.confirmDialog("Unsaved changes", "You have to save before performing this action. Save now?");
+ if(confirm){
+ derivativeEditor.save(new NullProgressMonitor());
+ }
+ else{
+ return;
+ }
+ }
String queryString = derivateSearchComposite.getSearchField().getText();
SpecimenOrObservationType specimenType = comboSpecimenTypeController.getSelection();
default:
break;
}
+ if(derivativeEditor.getCdmEntitySession()!=null){
+ derivativeEditor.getCdmEntitySession().dispose();
+ derivativeEditor.getCdmEntitySession().bind();
+ }
SearchManager searchManager = new SearchManager();
List<SpecimenOrObservationBase> occurrences = searchManager.findOccurrences(config, true);
searchDerivates();
}
else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
- selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), derivativeEditor.getConversationHolder(), null);
+ selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), //derivativeEditor.getConversationHolder(),
+ null);
if(selectedTaxon!=null){
derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
}
}
else if(eventSource==derivateSearchComposite.getBtnClearTaxon()){
selectedTaxon = null;
- derivateSearchComposite.getTextTaxonName().setText("");
+ derivateSearchComposite.getTextTaxonName().setText(""); //$NON-NLS-1$
derivateSearchComposite.getComboTaxonAssignment().select(DerivateSearchComposite.ALL_SPECIMENS);
derivateSearchComposite.getComboTaxonAssignment().setEnabled(true);
derivateSearchComposite.getLbltaxonAssignment().setEnabled(true);
*/
public void reset(){
if(!derivateSearchComposite.isDisposed()){
- derivateSearchComposite.getSearchField().setText("");
+ derivateSearchComposite.getSearchField().setText(""); //$NON-NLS-1$
derivateSearchComposite.getComboDerivateType().deselectAll();
comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
}
derivateSearchComposite.getComboTaxonAssignment().setEnabled(false);
}
}
-
+
public void setFocusOnSearchField(){
derivateSearchComposite.getSearchField().setFocus();
}