revert richtext parts
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / AbstractIdentifiableEntityDetailElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section;
5
6 import java.util.Arrays;
7 import java.util.EnumSet;
8
9 import eu.etaxonomy.cdm.model.common.CdmBase;
10 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
11 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
12 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
13 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
14 import eu.etaxonomy.taxeditor.store.CdmStore;
15 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
16 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
17 import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
18
19 /**
20 * @author n.hoffmann
21 *
22 */
23 public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentifiableEntity> extends
24 AbstractCdmDetailElement<T> {
25
26 /**
27 *
28 */
29 private static final EnumSet<CRUD> UPDATE = EnumSet.of(CRUD.UPDATE);
30 protected ToggleableTextElement toggleable_cache;
31 protected boolean isAdvancedView ;
32
33 public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
34 super(formFactory, formElement);
35 updateToggleableCacheState();
36 initIsAdvancedDetailsView();
37
38 }
39
40 public void updateToggleableCacheField() {
41 if (toggleable_cache != null){
42 if (!getEntity().isProtectedTitleCache()) {
43 toggleable_cache.setText(getEntity().generateTitle());
44 }
45 }
46 }
47
48 protected void handleToggleableCacheField() {
49 boolean pushedState = toggleable_cache.getState();
50
51 getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
52 setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache }));
53 updateToggleableCacheField();
54 }
55
56
57 @Override
58 protected void updateControlStates(){
59 super.updateControlStates();
60 updateToggleableCacheState();
61 }
62
63
64 private void updateToggleableCacheState() {
65 if(toggleable_cache != null){
66 toggleable_cache.setEnabled(getEntity() != null && CdmStore.currentAuthentiationHasPermission((CdmBase) getEntity(), UPDATE));
67 }
68 }
69 protected void initIsAdvancedDetailsView(){
70 if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SIMPLE_NAME_DETAILS_SECTION)){
71 isAdvancedView = false;
72 } else{
73 isAdvancedView = true;
74 }
75
76
77
78 }
79
80 }