* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-
package eu.etaxonomy.taxeditor.view.detail;
import java.util.EventObject;
import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonDetailSection;
*
* @author n.hoffmann
* @created Feb 8, 2010
- * @version 1.0
*/
-public class CdmSectionPart<T> extends SectionPart implements
- IPropertyChangeListener {
+public class CdmSectionPart<T> extends SectionPart
+ implements IPropertyChangeListener {
public static String EXPANDED = "expanded";
public static String COLLAPSED = "collapsed";
*/
private Object rootInput;
- /**
- * <p>
- * Constructor for CdmSectionPart.
- * </p>
- *
- * @param section
- * a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- * @param <T>
- * a T object.
- */
public CdmSectionPart(AbstractFormSection<T> section) {
super(section);
formSection = section;
}
- /** {@inheritDoc} */
@Override
public boolean setFormInput(Object input) {
+ if (formSection.isDisposed()){
+ return false;
+ }
+
this.rootInput = input;
//FIXME (CM): Need to fix this part of the design.
//The design seems to be locked to the idea that only one
if (input instanceof IElementHasDetails) {
input = ((IElementHasDetails) input).getData();
}
+
if ((input instanceof TaxonBase)
&& (formSection instanceof ITaxonBaseDetailSection)) {
((ITaxonBaseDetailSection) formSection)
- .setTaxonBase((TaxonBase) input);
+ .setTaxonBase((TaxonBase<?>) input);
return true;
}
else if (input.getClass().equals(DerivedUnit.class)
((NomenclaturalStatusSection) formSection)
.setTaxonBase( ((TaxonRelationship)input).getFromTaxon());
return true;
-// }else if ((input instanceof TaxonRelationship)
-// && (formSection instanceof ProtologueSection)) {
-// ((ProtologueSection) formSection)
-// .setTaxonBase( ((TaxonRelationship)input).getFromTaxon());
-// return true;
}else if ((input instanceof TaxonRelationship)
&& (formSection instanceof TypeDesignationSection)) {
((TypeDesignationSection) formSection)
&& (formSection instanceof RightsSection)){
((RightsSection)formSection).setEntity(((DerivedUnitFacade)input).innerDerivedUnit());
return true;
+ }else if ((input instanceof DerivedUnitFacade)
+ && (formSection instanceof DeterminationDetailSection)){
+ ((DeterminationDetailSection)formSection).setEntity(((DerivedUnitFacade)input).innerDerivedUnit());
+ return true;
+ }else if ((input instanceof DerivedUnitFacade)
+ && (formSection instanceof SampleDesignationDetailSection)){
+ ((SampleDesignationDetailSection)formSection).setEntity(((DerivedUnitFacade)input).innerDerivedUnit());
+ return true;
}
//check whether this is needed
// }else if ((input instanceof TaxonBase)
// return true;
// }
-
formSection.setEntity((T) input);
+
return true;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse
- * .jface.util.PropertyChangeEvent)
- */
- /** {@inheritDoc} */
@Override
public void propertyChange(PropertyChangeEvent event) {
if (event != null) {
super.expansionStateChanged(expanded);
PreferencesUtil.setStringValue(StoreUtil.getPrefKey(formSection.getClass(), rootInput.getClass().getCanonicalName()), expanded?EXPANDED:COLLAPSED);
}
-
-}
+}
\ No newline at end of file