Project

General

Profile

Download (3.52 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
		if(formFactory.getSelectionProvider() != null){
35
			selectionArbitrator = formFactory.createSelectionArbitrator(this);
36
		}
37
38 30c956e4 Katja Luther
	}
39 836df5a3 Katja Luther
40 30c956e4 Katja Luther
    @Override
41
    protected void handleToggleableCacheField() {
42 836df5a3 Katja Luther
        boolean pushedState = toggleable_cache.getState();
43
44
        getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
45
        setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, checkbox_published}));
46
        updateToggleableCacheField();
47
    }
48 30c956e4 Katja Luther
49
50
51
    @Override
52
    public void updateToggleableCacheField() {
53
54 836df5a3 Katja Luther
	        if (toggleable_cache != null){
55
	            if (!getEntity().isProtectedTitleCache()) {
56
	                toggleable_cache.setText(getEntity().generateTitle());
57
	            }
58
	        }
59
	}
60 30c956e4 Katja Luther
61 836df5a3 Katja Luther
	 @Override
62
	public void refresh(){
63
		 updateContent();
64
		 updateToggleableCacheField();
65
	 }
66 30c956e4 Katja Luther
67 836df5a3 Katja Luther
	@Override
68
	protected void updateContent() {
69
		 super.updateContent();
70
		 toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
71
			setIrrelevant(toggleable_cache.getState(),
72
					Arrays.asList(new Object[] { toggleable_cache, checkbox_published}));
73 30c956e4 Katja Luther
		firePropertyChangeEvent(getEntity());
74
75 836df5a3 Katja Luther
	 }
76
77 30c956e4 Katja Luther
78 836df5a3 Katja Luther
79
	@Override
80
	protected void createControls(ICdmFormElement formElement, Taxon entity, int style) {
81
		toggleable_cache = formFactory.createToggleableTextField(this,
82
				"Title Cache", getEntity().getTitleCache(),
83
				getEntity().isProtectedTitleCache(), style);
84
85
		text_appendedPhrase = formFactory.createTextWithLabelElement(
86
				this, "Appended Phrase", getEntity().getAppendedPhrase(),
87
				SWT.WRAP);
88 30c956e4 Katja Luther
89 836df5a3 Katja Luther
		checkbox_published = formFactory.createCheckbox(this,
90
				"Published", getEntity().isPublish(), style);
91 30c956e4 Katja Luther
92 836df5a3 Katja Luther
		checkbox_doubtful = formFactory.createCheckbox(this,
93
				"Misappl. Doubtful", getEntity().isDoubtful(), style);
94 30c956e4 Katja Luther
95 836df5a3 Katja Luther
	}
96
97
98
99
	@Override
100
	public void handleEvent(Object eventSource) {
101
		if (eventSource== toggleable_cache) {
102
			handleToggleableCacheField();
103
		} else if (eventSource == checkbox_doubtful) {
104
			getEntity().setDoubtful(checkbox_doubtful.getSelection());
105
		}  else if (eventSource == text_appendedPhrase) {
106
			getEntity().setAppendedPhrase(text_appendedPhrase.getText());
107
		}  else if (eventSource == checkbox_published) {
108
			getEntity().setPublish(checkbox_published.getSelection());
109
		}
110 30c956e4 Katja Luther
111 836df5a3 Katja Luther
	}
112
113 30c956e4 Katja Luther
	@Override
114
    public SelectionArbitrator getSelectionArbitrator() {
115
        return selectionArbitrator;
116
    }
117 836df5a3 Katja Luther
118
119
120
}