Project

General

Profile

Download (2.37 KB) Statistics
| Branch: | Tag: | Revision:
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
}
(5-5/8)