Project

General

Profile

« Previous | Next » 

Revision 62c42797

Added by Katja Luther almost 2 years ago

ref #5741: symbol and symbol2 field: add selection box and disable when selected

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelAndSetNullElement.java
1 1
package eu.etaxonomy.taxeditor.ui.element;
2 2

  
3 3
import org.eclipse.swt.SWT;
4
import org.eclipse.swt.events.ModifyEvent;
4 5
import org.eclipse.swt.events.SelectionEvent;
5 6
import org.eclipse.swt.events.SelectionListener;
6 7
import org.eclipse.swt.widgets.Button;
......
14 15

  
15 16
	protected TextWithLabelAndSetNullElement(CdmFormFactory formFactory, ICdmFormElement parentElement,
16 17
			String labelString, String initialText,  int style) {
17
		super(formFactory, parentElement, labelString, initialText, initialText == null, null, style);
18
//		this.btnToggleProtectTitleCache.setSelection(initialText == null);
19
		if (btnToggleProtectTitleCache.getSelection()){
20
			this.text_cache.setText("[NULL]");
21
			this.text_cache.setEnabled(false);
22
		}
18
		super(formFactory, parentElement, labelString, initialText, !initialText.equals("[NULL]"), null, style);
19
		
20
		this.text_cache.setEnabled(state);
21
		
22
		text_cache.addModifyListener(this);
23 23
		
24
		btnToggleProtectTitleCache.setSelection(!state);
25
//		if (!state){
26
//			this.text_cache.setText("[NULL]");
27
//			
28
//		}
24 29
	}
25 30

  
26 31
	protected void createButton(CdmFormFactory formFactory) {
......
34 39
	@Override
35 40
    public void widgetSelected(SelectionEvent e) {
36 41
		//add [NULL] to text field
37
		text_cache.setEnabled(btnToggleProtectTitleCache.getSelection());
42
		setState(!btnToggleProtectTitleCache.getSelection());
43
		text_cache.setEnabled(state);
44
		
38 45
		String textStr = "";
39 46
		if (btnToggleProtectTitleCache.getSelection()){
40 47
			textStr = "[NULL]";
41 48
		}
42 49
		text_cache.setText(textStr);
43
		setState(btnToggleProtectTitleCache.getSelection());
50
		
44 51
		firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
45 52
	}
46 53
	
......
54 61
	
55 62
	@Override
56 63
	protected void setState(boolean state) {
57
		btnToggleProtectTitleCache.setSelection(state);
64
		//btnToggleProtectTitleCache.setSelection(state);
65
		
58 66
		text_cache.setEnabled(!state);
67
		String textStr = "";
59 68
	    if(state){
60
	    	btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_NotNull);	    	
69
	    	btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_NotNull);	 
61 70
	    }
62 71
	    else{
63 72
	        btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_null);
64
	    }   
73
	        textStr = "[NULL]";
74
	        
75
	    }  
76
	   
77
	    //text_cache.setText(textStr);
78
	    this.state = state;
79
	    text_cache.removeModifyListener(this);
80
        text_cache.addModifyListener(this);
81
//        text_cache.setText(textStr);
65 82
		
66 83
	}
67 84
	
68 85
	@Override
69 86
    public void setEnabled(boolean isEnabled){
70 87
        this.isEnabled = isEnabled;
71
        if (!state){
88
        if (state){
72 89
            text_cache.setEditable(isEnabled);
73 90
        }
74 91
        btnToggleProtectTitleCache.setEnabled(isEnabled);
75 92
    }
93
	
94
	@Override
95
    public void modifyText(ModifyEvent e) {
96
	    if (state){
97
	        firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
98
	    }
99
	}
100
	
76 101

  
77 102
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java
9 9
package eu.etaxonomy.taxeditor.ui.section.vocabulary;
10 10

  
11 11
import org.apache.commons.lang3.StringUtils;
12
import org.eclipse.swt.widgets.Composite;
12 13

  
13 14
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
14 15
import eu.etaxonomy.cdm.model.term.TermVocabulary;
16
import eu.etaxonomy.cdm.persistence.permission.TargetEntityStates;
15 17
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
16 18
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
19
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelAndSetNullElement;
17 20
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
18 21

  
19 22
/**
......
25 28

  
26 29
    protected TextWithLabelElement textIdInVocabulary;
27 30

  
28
    protected TextWithLabelElement textSymbol;
31
    protected TextWithLabelAndSetNullElement textSymbol;
29 32

  
30
    protected TextWithLabelElement textSymbol2;
33
    protected TextWithLabelAndSetNullElement textSymbol2;
31 34

  
32 35
	/**
33 36
	 * @param formFactory
......
42 45
    protected void createControls(ICdmFormElement formElement, T entity, int style) {
43 46
	    super.createControls(formElement, entity, style);
44 47
	    textIdInVocabulary = formFactory.createTextWithLabelElement(formElement, "ID in vocabulary", entity.getIdInVocabulary(), style);
45
	    textSymbol = formFactory.createTextWithLabelElement(formElement, "Symbol", entity.getSymbol(), style);
46
	    textSymbol2 = formFactory.createTextWithLabelElement(formElement, "Symbol 2", entity.getSymbol2(), style);
48
	    String symbolString = entity.getSymbol();
49
	    if (entity.getSymbol() == null) {
50
	    	symbolString = "[NULL]";
51
	    }
52
	    String symbolString2 = entity.getSymbol2();
53
	    if (entity.getSymbol2() == null) {
54
	    	symbolString2 = "[NULL]";
55
	    }
56
	    textSymbol = formFactory.createTextWithLabelAndSetNullElement(formElement, "Symbol", symbolString, style);
57
	    textSymbol2 = formFactory.createTextWithLabelAndSetNullElement(formElement, "Symbol 2", symbolString2, style);
47 58
	};
48 59

  
49 60
	@Override
50 61
	public void handleEvent(Object eventSource) {
51 62
	    super.handleEvent(eventSource);
52
		//handleRepresentation(eventSource);
53 63
		if(eventSource==textIdInVocabulary){
54 64
			if (StringUtils.isBlank(textIdInVocabulary.getText())){
55 65
				getEntity().setIdInVocabulary(null);
......
59 69

  
60 70
		}
61 71
		if(eventSource==textSymbol){
62
            if (StringUtils.isBlank(textSymbol.getText())){
63
                getEntity().setSymbol(null);
64
            }else{
65
                getEntity().setSymbol(textSymbol.getText());
66
            }
67

  
72
			if (textSymbol.getText().equals("[NULL]")){
73
				getEntity().setSymbol(null);
74
			}else {
75
				getEntity().setSymbol(textSymbol.getText());
76
			}
68 77
        }
69 78

  
70 79
		if(eventSource==textSymbol2){
71
            if (StringUtils.isBlank(textSymbol2.getText())){
72
                getEntity().setSymbol2(null);
73
            }else{
74
                getEntity().setSymbol2(textSymbol2.getText());
75
            }
80
			if (textSymbol2.getText().equals("[NULL]")){
81
				getEntity().setSymbol2(null);
82
			}else {
83
				getEntity().setSymbol2(textSymbol2.getText());
84
			}            
76 85

  
77 86
        }
78 87
	}

Also available in: Unified diff