Revision 58ed6b7d
Added by Katja Luther almost 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ExtendedTimeDetailSection.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.taxeditor.ui.element; |
10 | 10 |
|
11 |
import org.eclipse.jface.util.PropertyChangeEvent; |
|
12 |
import org.joda.time.Partial; |
|
13 |
|
|
14 |
import eu.etaxonomy.cdm.common.CdmUtils; |
|
11 | 15 |
import eu.etaxonomy.cdm.model.common.ExtendedTimePeriod; |
12 | 16 |
|
13 | 17 |
/** |
14 | 18 |
* @author k.luther |
15 | 19 |
* @since Jun 12, 2020 |
16 | 20 |
*/ |
17 |
public class ExtendedTimeDetailSection extends DateDetailSection<ExtendedTimePeriod> {
|
|
21 |
public class ExtendedTimeDetailSection extends AbstractFormSection<ExtendedTimePeriod> {
|
|
18 | 22 |
|
19 | 23 |
private PartialElement partialElement_extremeStart; |
24 |
private PartialElement partialElement_start; |
|
25 |
private PartialElement partialElement_end; |
|
20 | 26 |
private PartialElement partialElement_extremeEnd; |
27 |
// private TextWithLabelElement text_freeText; |
|
21 | 28 |
/** |
22 | 29 |
* @param formFactory |
23 | 30 |
* @param parentElement |
... | ... | |
26 | 33 |
*/ |
27 | 34 |
protected ExtendedTimeDetailSection(CdmFormFactory formFactory, ICdmFormElement parentElement, |
28 | 35 |
int style) { |
29 |
super(formFactory, parentElement, false, style);
|
|
36 |
super(formFactory, parentElement, style); |
|
30 | 37 |
|
31 | 38 |
// this.includeVerbatim = includeVerbatim; |
32 | 39 |
|
33 | 40 |
|
34 |
partialElement_extremeStart = formFactory.createPartialElement(this, "Extreme Start", null, style); |
|
35 |
partialElement_start = formFactory.createPartialElement(this, |
|
36 |
"Start ", null, style); |
|
41 |
partialElement_extremeStart = formFactory.createPartialElement(this, "Extreme Start ", null, false, style); |
|
42 |
|
|
43 |
partialElement_start = formFactory.createPartialElement(this, "Start ", null, false, style); |
|
44 |
|
|
37 | 45 |
|
38 |
period_continue = formFactory.createCheckbox(this, "Continue", false, style); |
|
39 |
period_continue.getMainControl().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(6,1)); |
|
40 |
partialElement_end = formFactory.createPartialElement(this, "End ", |
|
41 |
null, style); |
|
46 |
partialElement_end = formFactory.createPartialElement(this, "End ", null, false, style); |
|
42 | 47 |
|
43 | 48 |
partialElement_extremeEnd = formFactory.createPartialElement(this, "Extreme End ", |
44 |
null, style); |
|
49 |
null, false, style);
|
|
45 | 50 |
|
46 |
text_freeText = formFactory.createTextWithLabelElement(this, |
|
47 |
"Freetext", null, style);
|
|
48 |
text_freeText.getMainControl().setLayoutData( |
|
49 |
LayoutConstants.FILL_HORIZONTALLY(6, 1));
|
|
51 |
// text_freeText = formFactory.createTextWithLabelElement(this,
|
|
52 |
// "Freetext", null, style);
|
|
53 |
// text_freeText.getMainControl().setLayoutData(
|
|
54 |
// LayoutConstants.FILL_HORIZONTALLY(5, 1));
|
|
50 | 55 |
|
51 | 56 |
|
52 | 57 |
formFactory.addPropertyChangeListener(this); |
... | ... | |
54 | 59 |
} |
55 | 60 |
|
56 | 61 |
@Override |
57 |
@SuppressWarnings("unchecked") |
|
58 |
protected ExtendedTimePeriod newInstance(){ |
|
59 |
return ExtendedTimePeriod.NewExtendedInstance(); |
|
62 |
public void setEntity(ExtendedTimePeriod timePeriod) { |
|
63 |
Partial extremeStart = timePeriod.getExtremeStart(); |
|
64 |
partialElement_extremeStart.setPartial(extremeStart); |
|
65 |
Partial start = timePeriod.getStart(); |
|
66 |
partialElement_start.setPartial(start); |
|
67 |
Partial end = timePeriod.getEnd(); |
|
68 |
partialElement_end.setPartial(end); |
|
69 |
|
|
70 |
Partial extremeEnd = timePeriod.getExtremeEnd(); |
|
71 |
partialElement_extremeEnd.setPartial(extremeEnd); |
|
72 |
|
|
73 |
// text_freeText.setText(timePeriod.getFreeText()); |
|
74 |
|
|
75 |
super.setEntity(timePeriod); |
|
60 | 76 |
|
61 | 77 |
} |
62 | 78 |
|
79 |
@Override |
|
80 |
public void propertyChange(PropertyChangeEvent event) { |
|
81 |
if (event == null) { |
|
82 |
return; |
|
83 |
} |
|
84 |
Object eventSource = event.getSource(); |
|
85 |
|
|
86 |
if (getElements().contains(eventSource)) { |
|
87 |
if (event instanceof CdmPropertyChangeEvent) { |
|
88 |
if (((CdmPropertyChangeEvent) event).hasException()) { |
|
89 |
handleException((CdmPropertyChangeEvent) event); |
|
90 |
return; |
|
91 |
} |
|
92 |
} |
|
93 |
handleEvent(eventSource); |
|
94 |
} |
|
95 |
} |
|
96 |
|
|
97 |
/** |
|
98 |
* @param event |
|
99 |
*/ |
|
100 |
private void handleException(CdmPropertyChangeEvent event) { |
|
101 |
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, |
|
102 |
event.getException())); |
|
103 |
} |
|
104 |
|
|
105 |
protected void handleEvent(Object eventSource) { |
|
106 |
if (eventSource == partialElement_start) { |
|
107 |
Partial start = partialElement_start.getPartial(); |
|
108 |
getEntity().setStart(start); |
|
109 |
} else if (eventSource == partialElement_end) { |
|
110 |
Partial end = partialElement_end.getPartial(); |
|
111 |
getEntity().setEnd(end); |
|
112 |
} else if (eventSource == partialElement_extremeEnd) { |
|
113 |
Partial extremeEnd = partialElement_extremeEnd.getPartial(); |
|
114 |
getEntity().setExtremeEnd(extremeEnd); |
|
115 |
} else if (eventSource == partialElement_extremeStart) { |
|
116 |
Partial extremeStart = partialElement_extremeStart.getPartial(); |
|
117 |
getEntity().setExtremeStart(extremeStart); |
|
118 |
// } else if (eventSource == text_freeText) { |
|
119 |
// getEntity().setFreeText(text_freeText.getText()); |
|
120 |
} |
|
121 |
// updateTitle(); |
|
122 |
|
|
123 |
|
|
124 |
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); |
|
125 |
} |
|
126 |
|
|
127 |
protected void updateTitle(){ |
|
128 |
String title = CdmUtils.Nz(getEntity().toString()); |
|
129 |
this.setText(title); |
|
130 |
layout(); |
|
131 |
} |
|
132 |
|
|
133 |
|
|
63 | 134 |
} |
Also available in: Unified diff
ref #8990: add temporal data to editor - adapt date element