From: n.hoffmann Date: Tue, 7 Jun 2011 13:10:55 +0000 (+0000) Subject: Refactoring of property change handling. Also fixes #2363 X-Git-Tag: rcp.ss-first-working-version~37 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/e0b35bf151c9fa684aafad55c1cce79b497893c5 Refactoring of property change handling. Also fixes #2363 --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java index 0525acbbd..38cd1c5b7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java @@ -199,9 +199,14 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog extends return; } } - + // call specific handler implementation handleEvent(eventSource); - + // refire the event + firePropertyChangeEvent(this, event); + // update possible parents updateParentSection(); } } @@ -210,7 +212,7 @@ public abstract class AbstractCdmDetailElement extends } /** - *

handleEvent

+ * Gets called when the source of the event is a child widget of this widget. * * @param eventSource a {@link java.lang.Object} object. */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java index 05c499996..25821d71a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java @@ -106,7 +106,5 @@ public class ClassificationDetailElement extends } else if (eventSource == text_microReference) { getEntity().setMicroReference(text_microReference.getText()); } - - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java index 0240d1caa..f45d12647 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java @@ -157,9 +157,6 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement } else if (eventSource == checkbox_openInEditor) { setOpenInEditor(checkbox_openInEditor.getSelection()); } - - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); - } /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java index 2b004eaa0..defd67798 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java @@ -114,7 +114,5 @@ public class PolytomousKeyNodeDetailElement extends } else if (eventSource == selection_otherNode) { getEntity().setOtherNode(selection_otherNode.getEntity()); } - - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java index 2b8e6b33a..6cb687c41 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java @@ -62,7 +62,6 @@ public class HybridDetailElement extends AbstractCdmDetailElement else if(eventSource == checkbox_trinomHybrid){ getEntity().setTrinomHybrid(checkbox_trinomHybrid.getSelection()); } - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java index 6ae1fa914..082317916 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java @@ -21,7 +21,6 @@ import eu.etaxonomy.cdm.model.name.ZoologicalName; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; -import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement; @@ -29,7 +28,6 @@ import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement; import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; @@ -176,7 +174,8 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement except = Arrays - .asList(new Object[] { toggleable_cache }); - setIrrelevant(irrelevant, except); } else if (eventSource == section_name || eventSource == section_author) { if (getParentElement() instanceof AbstractCdmDetailSection) ((AbstractCdmDetailSection) getParentElement()).updateTitle(); @@ -166,7 +161,5 @@ public class NonViralNameDetailElement extends section_name.setEntity(getEntity()); getLayoutComposite().layout(); } - - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java index cbf150ff1..735fac83d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java @@ -95,6 +95,5 @@ public class FieldObservationDetailElement extends AbstractCdmDetailElement { getEntity().setCredentialsNonExpired( checkbox_credentialsNonExpired.getSelection()); } - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java index d5bdc1948..18629c9ae 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ReferenceSelectionElement.java @@ -68,11 +68,13 @@ public class ReferenceSelectionElement extends Reference newSelection = ReferenceSelectionDialog.select(getShell(), getConversationHolder(), entity); - Reference freshlyLoadedSelection = null; - if (newSelection != null) - freshlyLoadedSelection = CdmStore.getService( - IReferenceService.class).load(newSelection.getUuid()); - - setSelectionInternal(freshlyLoadedSelection); + setSelectionInternal(newSelection); + +// Reference freshlyLoadedSelection = null; +// if (newSelection != null) +// freshlyLoadedSelection = CdmStore.getService( +// IReferenceService.class).load(newSelection.getUuid()); +// +// setSelectionInternal(freshlyLoadedSelection); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java index 2a8321d42..097d78afe 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java @@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; @@ -103,8 +103,8 @@ public class CdmSectionPart extends SectionPart implements Object eventSource = event.getSource(); if (formSection.equals(eventSource) - || (eventSource instanceof ICdmFormElement && formSection - .containsFormElement((ICdmFormElement) eventSource))) { + || (eventSource instanceof AbstractCdmDetailElement && formSection + .containsFormElement((AbstractCdmDetailElement) eventSource))) { markDirty(); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index 941e099f3..e9ed4f3d3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -115,10 +115,10 @@ public class DetailsViewer extends AbstractCdmDataViewer { super(parent, viewPart); } - // START HACK TO MAKE THE DERIVED UNIT FACADE WORKING + // START HACK TO MAKE THE DERIVED UNIT FACADE WORK // since we are getting implementations of DerivedUnitBase from the bulk // editor - // and not derived unit base objects, + // and not derived unit facade objects, /* * (non-Javadoc) @@ -150,7 +150,7 @@ public class DetailsViewer extends AbstractCdmDataViewer { super.markViewPartDirty(); } - // END HACK TO MAKE THE DERIVED UNIT FACADE WORKING + // END HACK TO MAKE THE DERIVED UNIT FACADE WORK /* * (non-Javadoc)