Revert "Split up composites of FeatureTreeEditor"
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / mvc / element / DateElementController.java
1 /**
2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.ui.mvc.element;
10
11 import org.eclipse.swt.events.ModifyEvent;
12 import org.eclipse.swt.events.ModifyListener;
13 import org.eclipse.swt.widgets.Text;
14 import org.joda.time.DateTime;
15
16 import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
17 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18 import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
19 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
20 import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
21 import eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmCompositeController;
22
23 /**
24 * @author pplitzner
25 * @date 16.06.2014
26 *
27 */
28 public class DateElementController extends AbstractCdmFormElement implements IEnableableFormElement, CdmCompositeController, ModifyListener{
29
30 private final Text textDate;
31 private DateTime dateTime;
32
33 /**
34 * @param dateTimeElement
35 * @param formFactory
36 * @param parentElement
37 * @param initialDateTime
38 * @param none
39 */
40 public DateElementController(DateElement dateTimeElement, CdmFormFactory formFactory, ICdmFormElement parentElement, DateTime initialDateTime, int none) {
41 super(formFactory, parentElement);
42 this.textDate = dateTimeElement.getTextDate();
43 this.textDate.setText(initialDateTime!=null?initialDateTime.toString("yyyy-MM-dd"):"");
44 addControl(textDate);
45 textDate.addModifyListener(this);
46 }
47
48 /* (non-Javadoc)
49 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
50 */
51 @Override
52 public void modifyText(ModifyEvent e) {
53 try {
54 String text = textDate.getText();
55 DateTime parsedDateTime = DateTime.parse(text);
56 this.dateTime = parsedDateTime;
57 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
58 } catch (IllegalArgumentException iae) {
59 //nothing
60 }
61 }
62
63 public DateTime getDateTime(){
64 return dateTime;
65 }
66
67 /* (non-Javadoc)
68 * @see eu.etaxonomy.taxeditor.ui.element.IRelevantFormElement#setIrrelevant(boolean)
69 */
70 @Override
71 public void setIrrelevant(boolean irrelevant) {
72 // TODO Auto-generated method stub
73
74 }
75
76 /* (non-Javadoc)
77 * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#setEnabled(boolean)
78 */
79 @Override
80 public void setEnabled(boolean enabled) {
81 textDate.setEnabled(enabled);
82 }
83
84 /* (non-Javadoc)
85 * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
86 */
87 @Override
88 public boolean isEnabled() {
89 return textDate.isEnabled();
90 }
91
92 }