Project

General

Profile

Download (3.55 KB) Statistics
| Branch: | Tag: | Revision:
1 836df5a3 Katja Luther
package eu.etaxonomy.taxeditor.ui.section.taxon;
2
3
import java.util.Arrays;
4
5
import org.eclipse.swt.SWT;
6
7
import eu.etaxonomy.cdm.model.taxon.Taxon;
8
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
9
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
10
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
11 30c956e4 Katja Luther
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
12 836df5a3 Katja Luther
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
13
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
14
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
15
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
16
17 30c956e4 Katja Luther
public class TaxonOfRelationshipElement extends  AbstractIdentifiableEntityDetailElement<Taxon> implements ISelectableElement{
18
19
//	private Taxon taxon;
20 836df5a3 Katja Luther
	protected ToggleableTextElement toggleable_cache;
21
	private TextWithLabelElement text_appendedPhrase;
22
	private SelectionArbitrator selectionArbitrator;
23 30c956e4 Katja Luther
24
25
26
27
    private CheckboxElement checkbox_doubtful;
28 836df5a3 Katja Luther
29
	private CheckboxElement checkbox_published;
30 30c956e4 Katja Luther
31 836df5a3 Katja Luther
	public TaxonOfRelationshipElement(CdmFormFactory formFactory, ICdmFormElement formElement, int style ) {
32
		super(formFactory, formElement);
33
		// make this element selectable
34 93b32455 Katja Luther
35 836df5a3 Katja Luther
36 30c956e4 Katja Luther
	}
37 836df5a3 Katja Luther
38 30c956e4 Katja Luther
    @Override
39
    protected void handleToggleableCacheField() {
40 836df5a3 Katja Luther
        boolean pushedState = toggleable_cache.getState();
41
42
        getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
43
        setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, checkbox_published}));
44
        updateToggleableCacheField();
45
    }
46 30c956e4 Katja Luther
47
48
49
    @Override
50
    public void updateToggleableCacheField() {
51
52 836df5a3 Katja Luther
	        if (toggleable_cache != null){
53
	            if (!getEntity().isProtectedTitleCache()) {
54
	                toggleable_cache.setText(getEntity().generateTitle());
55
	            }
56
	        }
57
	}
58 30c956e4 Katja Luther
59 836df5a3 Katja Luther
	 @Override
60
	public void refresh(){
61
		 updateContent();
62
		 updateToggleableCacheField();
63
	 }
64 30c956e4 Katja Luther
65 836df5a3 Katja Luther
	@Override
66
	protected void updateContent() {
67
		 super.updateContent();
68
		 toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
69
			setIrrelevant(toggleable_cache.getState(),
70
					Arrays.asList(new Object[] { toggleable_cache, checkbox_published}));
71 30c956e4 Katja Luther
		firePropertyChangeEvent(getEntity());
72
73 836df5a3 Katja Luther
	 }
74
75 30c956e4 Katja Luther
76 836df5a3 Katja Luther
77
	@Override
78
	protected void createControls(ICdmFormElement formElement, Taxon entity, int style) {
79
		toggleable_cache = formFactory.createToggleableTextField(this,
80
				"Title Cache", getEntity().getTitleCache(),
81
				getEntity().isProtectedTitleCache(), style);
82
83
		text_appendedPhrase = formFactory.createTextWithLabelElement(
84
				this, "Appended Phrase", getEntity().getAppendedPhrase(),
85
				SWT.WRAP);
86 30c956e4 Katja Luther
87 836df5a3 Katja Luther
		checkbox_published = formFactory.createCheckbox(this,
88
				"Published", getEntity().isPublish(), style);
89 30c956e4 Katja Luther
90 836df5a3 Katja Luther
		checkbox_doubtful = formFactory.createCheckbox(this,
91 4f4297cd Katja Luther
		        "Orginal Taxon Doubtful", getEntity().isDoubtful(), style);
92 30c956e4 Katja Luther
93 93b32455 Katja Luther
		if(formFactory.getSelectionProvider() != null){
94
            selectionArbitrator = formFactory.createSelectionArbitrator(this);
95
        }
96
97 836df5a3 Katja Luther
	}
98
99
100
101
	@Override
102
	public void handleEvent(Object eventSource) {
103
		if (eventSource== toggleable_cache) {
104
			handleToggleableCacheField();
105
		} else if (eventSource == checkbox_doubtful) {
106
			getEntity().setDoubtful(checkbox_doubtful.getSelection());
107
		}  else if (eventSource == text_appendedPhrase) {
108
			getEntity().setAppendedPhrase(text_appendedPhrase.getText());
109
		}  else if (eventSource == checkbox_published) {
110
			getEntity().setPublish(checkbox_published.getSelection());
111
		}
112 30c956e4 Katja Luther
113 836df5a3 Katja Luther
	}
114
115 30c956e4 Katja Luther
	@Override
116
    public SelectionArbitrator getSelectionArbitrator() {
117
        return selectionArbitrator;
118
    }
119 836df5a3 Katja Luther
120
121
122
}