ref #9630: fix time period disabling and supplemental data enabling
authorKatja Luther <k.luther@bgbm.org>
Tue, 1 Jun 2021 08:36:22 +0000 (10:36 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 1 Jun 2021 08:36:22 +0000 (10:36 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/supplementaldata/SupplementalDataPartE4.java

index ce0844c3f2981c330d1b63f1d041fa1731828b05..2ce2b4e90f92959f0e240f7848f7ec658beb7f90 100644 (file)
@@ -20,7 +20,7 @@ import eu.etaxonomy.taxeditor.l10n.Messages;
 \r
 public class DateDetailSection<T extends TimePeriod>\r
                extends AbstractFormSection<T>\r
-        implements ICacheRelevantFormElement{\r
+        implements ICacheRelevantFormElement, IEnableableFormElement{\r
 \r
        protected TextWithLabelElement text_freeText;\r
        protected PartialElement partialElement_start;\r
@@ -31,6 +31,8 @@ public class DateDetailSection<T extends TimePeriod>
        protected int cursorPosition;\r
        protected boolean includeVerbatim;\r
 \r
+       boolean isEnabled = true;\r
+\r
        public int getCursorPosition() {\r
         return cursorPosition;\r
     }\r
@@ -238,4 +240,21 @@ public class DateDetailSection<T extends TimePeriod>
     public CacheRelevance cacheRelevance() {\r
         return null;\r
     }\r
+\r
+    @Override\r
+    public void setEnabled(boolean enabled){\r
+        this.isEnabled = enabled;\r
+        for (ICdmFormElement element: getElements()){\r
+            if (element instanceof IEnableableFormElement){\r
+                IEnableableFormElement enableableElement = (IEnableableFormElement) element;\r
+                enableableElement.setEnabled(enabled);\r
+            }\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public boolean isEnabled() {\r
+       return isEnabled;\r
+    }\r
+\r
 }
\ No newline at end of file
index 90bea8999409cc64a3844ce5e0e53403b33ea2dc..1a5e0335e7284efdff0e1e99a31c09ee73b0fe05 100644 (file)
@@ -19,7 +19,8 @@ import eu.etaxonomy.cdm.model.common.TimePeriod;
  * @created Nov 17, 2009
  */
 public class TimePeriodElement
-                       extends TimePeriodElementBase<TimePeriod> {
+                       extends TimePeriodElementBase<TimePeriod> implements IEnableableFormElement{
+    boolean isEnabled = true;
 
     public TimePeriodElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
                        TimePeriod timePeriod, int style) {
@@ -32,4 +33,21 @@ public class TimePeriodElement
                                ExpandableComposite.TWISTIE);
        }
 
+    @Override
+    public void setEnabled(boolean enabled) {
+        this.isEnabled = enabled;
+        for (ICdmFormElement element: getElements()){
+            if (element instanceof IEnableableFormElement){
+                IEnableableFormElement enableableElement = (IEnableableFormElement) element;
+                enableableElement.setEnabled(enabled);
+            }
+        }
+
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return isEnabled;
+    }
+
 }
\ No newline at end of file
index 973b580d345e1847cc4a3283b281ebab359a532f..7619f120c0fa5a5ae1d1474f60daaebd39d76d38 100644 (file)
@@ -113,13 +113,21 @@ public class SupplementalDataPartE4 extends AbstractCdmEditorPartE4 {
                else if(structuredSelection.getFirstElement() instanceof DescriptionElementBase ){
                    structuredSelection = new StructuredSelection((structuredSelection.getFirstElement()));
                 if (((DescriptionElementBase)structuredSelection.getFirstElement()).getInDescription().isComputed()){
-                    setEnabled(false);
+                    if (PreferencesUtil.isComputedDesciptionHandlingDisabled()){
+                        setEnabled(false);
+                    }else{
+                        setEnabled(true);
+                    }
                 }
             }
                else if(structuredSelection.getFirstElement() instanceof DescriptionBase ){
 
                 if (((DescriptionBase)structuredSelection.getFirstElement()).isComputed()){
-                    setEnabled(false);
+                    if (PreferencesUtil.isComputedDesciptionHandlingDisabled()){
+                        setEnabled(false);
+                    }else{
+                        setEnabled(true);
+                    }
                 }
             }
                else if(structuredSelection.getFirstElement() instanceof TermDto