Project

General

Profile

« Previous | Next » 

Revision 58ed6b7d

Added by Katja Luther almost 4 years ago

ref #8990: add temporal data to editor - adapt date element

View differences:

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