ref #6746 Disable protect titleCache button for feature tree DetailsView
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / feature / FeatureTreeDetailElement.java
index bc08951512b740aa84a1df150a87505ad78eb4d3..3be5dd4f4b82c50764c3d729b39bda17e8c15f19 100644 (file)
@@ -11,8 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.feature;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
 
 /**
  *
@@ -20,30 +19,32 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @since Dec 21, 2017
  *
  */
-public class FeatureTreeDetailElement extends AbstractCdmDetailElement<FeatureTree> {
-
-    private ToggleableTextElement toggleableText_titleCache;
+public class FeatureTreeDetailElement extends AbstractIdentifiableEntityDetailElement<FeatureTree> {
 
        public FeatureTreeDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
        }
 
+
        @Override
        protected void createControls(ICdmFormElement formElement, FeatureTree entity, int style) {
-           toggleableText_titleCache = formFactory.createToggleableTextField(
+           toggleable_cache = formFactory.createToggleableTextField(
                 formElement, "Title Cache", entity.getTitleCache(),
                 entity.isProtectedTitleCache(), style);
+           toggleable_cache.getBtnToggleProtectTitleCache().setEnabled(false);
     }
 
+       @Override
+       protected void updateControlStates() {
+           super.updateControlStates();
+           toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
+       }
+
        @Override
        public void handleEvent(Object eventSource) {
-           if (eventSource == toggleableText_titleCache) {
-            getEntity().setTitleCache(toggleableText_titleCache.getText(),
-                    toggleableText_titleCache.getState());
-        }
-        if (eventSource != toggleableText_titleCache) {
-            toggleableText_titleCache.setText(getEntity().getTitleCache());
+           if (eventSource == toggleable_cache) {
+                   handleToggleableCacheField();
         }
        }