package eu.etaxonomy.taxeditor.ui.section.classification;
import org.apache.commons.lang.StringUtils;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
-import eu.etaxonomy.taxeditor.parser.ParseHandler;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
private Taxon taxon;
- private Reference secReference;
-
private TextWithLabelElement textNewTaxonName;
private TaxonNodeAgentRelationCollectionSection selectionNodeAgentRelation;
setClassification(selection_classification.getEntity());
} else if (eventSource == selection_parentTaxonNode) {
setParentTreeNode(selection_parentTaxonNode.getEntity());
- } else if (eventSource == selection_SecRef) {
- setSecReference(selection_SecRef.getEntity());
} else if (eventSource == selection_reuseExistingTaxon) {
boolean enabled = selection_reuseExistingTaxon.getEntity() == null;
selection_reuseExistingName.setEnabled(enabled);
selection_reuseExistingTaxon.setEnabled(enabled);
selection_reuseExistingName.setEnabled(enabled);
- setTaxon(textNewTaxonName.getText());
complete = !textNewTaxonName.getText().isEmpty();
} else if (eventSource == checkbox_openInEditor) {
setOpenInEditor(checkbox_openInEditor.getSelection());
return parentTreeNode;
}
- public Taxon getTaxon() {
- return taxon;
- }
-
private void setClassification(Classification classification) {
this.classification = classification;
setParentTreeNode(classification);
selection_SecRef.setEntity(((TaxonNode)treeNode).getTaxon().getSec());
}
- private void setSecReference(Reference secRef){
- this.secReference = secRef;
- setTaxon(textNewTaxonName.getText());
- }
-
private void setTaxon(Taxon taxon) {
this.taxon = taxon;
if (isCreateNew()){
selection_SecRef.setEntity(taxon.getSec());
}
- private void setTaxon(String taxonNameString) {
- TaxonNameBase taxonName = ParseHandler.parseReferencedName(
- taxonNameString, null);
- setTaxon(taxonName);
- }
-
private void setTaxon(TaxonNameBase taxonName) {
Reference secundum = null;
if (getParentTreeNode() != null) {
if (this.selection_SecRef.getEntity() != null){
secundum = this.selection_SecRef.getEntity();
- } /*else if (getParentTreeNode() instanceof Classification) {
- secundum = ((Classification) getParentTreeNode())
- .getReference();
- } else if (getParentTreeNode() instanceof TaxonNode) {
- secundum = ((TaxonNode) getParentTreeNode()).getTaxon()
- .getSec();
- }*/
+ }
}
if (taxonName != null){
taxon = Taxon.NewInstance(taxonName, secundum);
this.openInEditor = openInEditor;
}
- public TextWithLabelElement getTextNewTaxonName() {
- return textNewTaxonName;
+ public String getTaxonName() {
+ return textNewTaxonName.getText();
}
+ public Reference getReference(){
+ return selection_SecRef.getSelection();
+ }
+
+ public Control getMainControl(){
+ return textNewTaxonName.getMainControl();
+ }
+
public boolean isComplete() {
boolean allComplete = true;
if (!isCreateNew()){
import org.eclipse.swt.widgets.Listener;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.newWizard.IWizardPageListener;
+import eu.etaxonomy.taxeditor.parser.ParseHandler;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
detailElement.setEntity(entity);
formFactory.addPropertyChangeListener(this);
if (isCreateNew){
- detailElement.getTextNewTaxonName().getMainControl().addListener(SWT.KeyDown, this);
+ detailElement.getMainControl().addListener(SWT.KeyDown, this);
}
return detailElement;
}
setMessage("No classification set.", WARNING);
}
else if(isCreateNew ){
- if(detailElement.getTextNewTaxonName().getText().isEmpty()){
+ if(detailElement.getTaxonName().isEmpty()){
setMessage("No taxon name set.", ERROR);
} else{
setMessage(null);
.getParentTreeNode();
}
- public Taxon getTaxon() {
- return ((TaxonNodeDetailElement) getDetailElement()).getTaxon();
+ public Taxon createTaxon() {
+ String taxonName = ((TaxonNodeDetailElement) getDetailElement()).getTaxonName();
+ Reference reference = ((TaxonNodeDetailElement) getDetailElement()).getReference();
+ NonViralName parseReferencedName = ParseHandler.parseReferencedName(taxonName, null);
+ return Taxon.NewInstance(parseReferencedName, reference);
}
/*
@Override
public void handleEvent(Event event) {
TaxonNodeDetailElement detailElement = (TaxonNodeDetailElement) getDetailElement();
- if(event.widget == detailElement.getTextNewTaxonName().getMainControl()
+ if(event.widget == detailElement.getMainControl()
&& event.keyCode == SWT.CR && isPageComplete()){
wizardPageListener.close();
}