From e458e14ab4ac1ae8e7a276970f5b35aa4b784b58 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Tue, 24 Jun 2014 08:00:55 +0000 Subject: [PATCH] - changed "Original Label Data Field" to use data binding - added property change listener support for the field --- .gitattributes | 4 +- .../META-INF/MANIFEST.MF | 7 +- .../taxeditor/ui/element/CdmFormFactory.java | 20 +--- .../ui/element/OriginalLabelDataElement.java | 63 ++++++++++ .../ui/mvc/OriginalLabelDataController.java | 96 --------------- .../ui/mvc/OriginalLabelDataElement.java | 70 ----------- .../ui/mvc/OriginalLabelDataField.java | 112 ++++++++++++++++++ .../occurrence/OriginalLabelDataSection.java | 2 +- .../taxeditor/view/detail/CdmSectionPart.java | 21 +++- 9 files changed, 205 insertions(+), 190 deletions(-) create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java delete mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java delete mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java diff --git a/.gitattributes b/.gitattributes index 9b3a9a027..050a871d3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1380,6 +1380,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/Lay eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java -text @@ -1397,8 +1398,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grant eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/AbstractCdmComposite.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/DerivedUnitGeneralDetailElementMVC.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/GeographicPointElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/combo/EnumTermCombo.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/combo/EnumTermComboController.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java -text diff --git a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF index fc199cb9d..9344dffea 100644 --- a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF @@ -58,7 +58,12 @@ Require-Bundle: org.eclipse.osgi, org.eclipse.jface.text, org.eclipse.ui.forms, eu.etaxonomy.taxeditor.cdmlib, - org.eclipse.nebula.widgets.compositetable;bundle-version="1.0.0" + org.eclipse.nebula.widgets.compositetable;bundle-version="1.0.0", + org.eclipse.core.databinding, + org.eclipse.core.databinding.beans, + org.eclipse.core.databinding.observable, + org.eclipse.core.databinding.property, + org.eclipse.jface.databinding Import-Package: org.eclipse.core.commands, org.eclipse.core.commands.operations, org.eclipse.core.expressions, diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index c9662bdbc..45b01cb38 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -99,8 +99,6 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType; -import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataController; -import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataElement; import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled; import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement; import eu.etaxonomy.taxeditor.ui.password.EditPasswordElement; @@ -2152,6 +2150,12 @@ public class CdmFormFactory extends FormToolkit { return element; } + public OriginalLabelDataElement createOriginalLabelDataElement(ICdmFormElement parentElement) { + OriginalLabelDataElement element = new OriginalLabelDataElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + public PreservedSpecimenDetailElement createPreservedSpecimenDetailElement(ICdmFormElement parentElement) { PreservedSpecimenDetailElement element = new PreservedSpecimenDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); @@ -2722,16 +2726,4 @@ public class CdmFormFactory extends FormToolkit { return section; } - /** - * @param parentElement - * @return - */ - public OriginalLabelDataController createOriginalLabelDataController(AbstractCdmDetailSection parentElement) { - OriginalLabelDataElement originalLabelDataElement = new OriginalLabelDataElement(parentElement.getLayoutComposite(), SWT.NONE); - originalLabelDataElement.initController(this, parentElement); - OriginalLabelDataController controller = originalLabelDataElement.getController(); - addAndAdaptElement(parentElement, controller); - return controller; - } - } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java new file mode 100644 index 000000000..e5753d1ca --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java @@ -0,0 +1,63 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * 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.ui.element; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataField; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 17.06.2014 + * + */ +public class OriginalLabelDataElement extends AbstractCdmDetailElement { + + private TextWithLabelElement textOriginalLabelData; + + /** + * @param formFactory + * @param formElement + */ + public OriginalLabelDataElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls + * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, + DerivedUnitFacade entity, int style) { + new OriginalLabelDataField(formElement.getLayoutComposite(), style, entity.innerDerivedUnit(), getFormFactory()); +// textOriginalLabelData = formFactory.createTextWithLabelElement(formElement, +// "Original Label Data", entity.innerDerivedUnit().getOriginalLabelInfo(), SWT.MULTI); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == textOriginalLabelData) { + getEntity().innerDerivedUnit().setOriginalLabelInfo(textOriginalLabelData.getText()); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java deleted file mode 100644 index 024482b18..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java +++ /dev/null @@ -1,96 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2014 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* 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.ui.mvc; - -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; - -import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; -import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmCompositeController; -import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; - -/** - * @author pplitzner - * @date 17.06.2014 - * - */ -public class OriginalLabelDataController extends AbstractCdmDetailElement implements CdmCompositeController, ModifyListener{ - - private final OriginalLabelDataElement originalLabelDataElement; - - /** - * @param dateTimeElement - * @param formFactory - * @param parentElement - * @param initialDateTime - * @param none - */ - public OriginalLabelDataController(CdmFormFactory formFactory, ICdmFormElement parentElement, OriginalLabelDataElement originalLabelDataElement, int style) { - super(formFactory, parentElement); - this.originalLabelDataElement = originalLabelDataElement; - this.originalLabelDataElement.getText().addModifyListener(this); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.element.IRelevantFormElement#setIrrelevant(boolean) - */ - @Override - public void setIrrelevant(boolean irrelevant) { - // TODO Auto-generated method stub - - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#setEnabled(boolean) - */ - @Override - public void setEnabled(boolean enabled) { - originalLabelDataElement.setEnabled(enabled); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled() - */ - @Override - public boolean isEnabled() { - return originalLabelDataElement.isEnabled(); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.element.ICdmFormElement, java.lang.Object, int) - */ - @Override - protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { - String originalLabelInfo = entity.innerDerivedUnit().getOriginalLabelInfo(); - if(originalLabelInfo!=null){ -// originalLabelDataElement.getText().setText(originalLabelInfo); - } - } - - /* (non-Javadoc) - * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) - */ - @Override - public void modifyText(ModifyEvent e) { - getEntity().innerDerivedUnit().setOriginalLabelInfo(originalLabelDataElement.getText().getText()); - firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e)); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) - */ - @Override - public void handleEvent(Object eventSource) { - } - -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java deleted file mode 100644 index a6b753114..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java +++ /dev/null @@ -1,70 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2014 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* 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.ui.mvc; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.forms.widgets.TableWrapData; -import org.eclipse.ui.forms.widgets.TableWrapLayout; - -import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; - -/** - * @author pplitzner - * @date 17.06.2014 - * - */ -public class OriginalLabelDataElement extends AbstractCdmComposite{ - private final Text text; - - /** - * @param parent - * @param style - */ - public OriginalLabelDataElement(Composite parent, int style) { - super(parent, style); - { - TableWrapLayout tableWrapLayout = new TableWrapLayout(); - tableWrapLayout.verticalSpacing = 0; - tableWrapLayout.topMargin = 0; - tableWrapLayout.rightMargin = 0; - tableWrapLayout.leftMargin = 0; - tableWrapLayout.horizontalSpacing = 0; - tableWrapLayout.bottomMargin = 0; - tableWrapLayout.numColumns = 2; - setLayout(tableWrapLayout); - } - - Label lblOriginalLabelData = new Label(this, SWT.NONE); - lblOriginalLabelData.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1)); - lblOriginalLabelData.setText("Original Label Data"); - - text = new Text(this, SWT.BORDER | SWT.WRAP | SWT.MULTI); - text.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); - new Label(this, SWT.NONE); - - // TODO Auto-generated constructor stub - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.mvc.AbstractCdmComposite#initInternalController(eu.etaxonomy.taxeditor.ui.element.CdmFormFactory, eu.etaxonomy.taxeditor.ui.element.ICdmFormElement) - */ - @Override - protected void initInternalController(CdmFormFactory formFactory, ICdmFormElement parentElement) { - controller = new OriginalLabelDataController(formFactory, parentElement, this, SWT.NONE); - } - - public Text getText() { - return text; - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java new file mode 100644 index 000000000..725f84036 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java @@ -0,0 +1,112 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* 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.ui.mvc; + +import java.util.List; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.observable.value.IObservableValue; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; + +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; + +/** + * @author pplitzner + * @date 23.06.2014 + * + */ +public class OriginalLabelDataField extends Composite { + + private DataBindingContext m_bindingContext; + private eu.etaxonomy.cdm.model.occurrence.DerivedUnit derivedUnit = null; + private final Text originalLabelInfoText; + private CdmFormFactory formFactory; + + public OriginalLabelDataField(Composite parent, int style, eu.etaxonomy.cdm.model.occurrence.DerivedUnit newDerivedUnit, CdmFormFactory formFactory) { + this(parent, style); + setDerivedUnit(newDerivedUnit); + this.formFactory = formFactory; + } + + public OriginalLabelDataField(Composite parent, int style) { + super(parent, style); + setLayout(new GridLayout(2, false)); + + new Label(this, SWT.NONE).setText("Original Label Data"); + + originalLabelInfoText = new Text(this, SWT.BORDER | SWT.WRAP | SWT.MULTI); + originalLabelInfoText.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + if(formFactory!=null){ + List propertyChangeListeners = formFactory.getPropertyChangeListeners(); + for (IPropertyChangeListener iPropertyChangeListener : propertyChangeListeners) { + iPropertyChangeListener.propertyChange(new CdmPropertyChangeEvent(OriginalLabelDataField.this, e)); + } + } + } + }); + originalLabelInfoText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + if (derivedUnit != null) { + m_bindingContext = initDataBindings(); + } + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + private DataBindingContext initDataBindings() { + IObservableValue originalLabelInfoObserveWidget = SWTObservables.observeText(originalLabelInfoText, SWT.Modify); + IObservableValue originalLabelInfoObserveValue = BeansObservables + .observeValue(derivedUnit, "originalLabelInfo"); + // + DataBindingContext bindingContext = new DataBindingContext(); + // + bindingContext.bindValue(originalLabelInfoObserveWidget, originalLabelInfoObserveValue, null, null); + // + return bindingContext; + } + + public eu.etaxonomy.cdm.model.occurrence.DerivedUnit getDerivedUnit() { + return derivedUnit; + } + + public void setDerivedUnit(eu.etaxonomy.cdm.model.occurrence.DerivedUnit newDerivedUnit) { + setDerivedUnit(newDerivedUnit, true); + } + + public void setDerivedUnit(eu.etaxonomy.cdm.model.occurrence.DerivedUnit newDerivedUnit, boolean update) { + derivedUnit = newDerivedUnit; + if (update) { + if (m_bindingContext != null) { + m_bindingContext.dispose(); + m_bindingContext = null; + } + if (derivedUnit != null) { + m_bindingContext = initDataBindings(); + } + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java index d0284f486..e4c1602b2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java @@ -51,7 +51,7 @@ public class OriginalLabelDataSection extends AbstractCdmDetailSection createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { - return formFactory.createOriginalLabelDataController(parentElement); + return formFactory.createOriginalLabelDataElement(parentElement); } } 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 285fd520e..53e294b55 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 @@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.view.detail; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.widgets.Control; import org.eclipse.ui.forms.SectionPart; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; @@ -120,15 +121,23 @@ public class CdmSectionPart extends SectionPart implements if (event != null) { Object eventSource = event.getSource(); + Control[] children = formSection.getLayoutComposite().getChildren(); + boolean containsElement = false; + for (Control control : children) { + if(eventSource.equals(control)){ + containsElement = true; + break; + } + } + if(containsElement){ + markDirty(); + } - if (formSection.equals(eventSource)){ + else if (formSection.equals(eventSource)){ markDirty(); } - if(( - (eventSource instanceof ICdmFormElement) - && formSection.containsFormElement((ICdmFormElement) eventSource)) - ) { - markDirty(); + else if(((eventSource instanceof ICdmFormElement)&& formSection.containsFormElement((ICdmFormElement) eventSource))) { + markDirty(); } } } -- 2.34.1