2 * Copyright (C) 2014 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.taxeditor
.ui
.mvc
.element
;
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
;
16 import com
.sun
.istack
.logging
.Logger
;
18 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractCdmFormElement
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmPropertyChangeEvent
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.IEnableableFormElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.mvc
.interfaces
.CdmCompositeController
;
30 public class DateElementController
extends AbstractCdmFormElement
implements IEnableableFormElement
, CdmCompositeController
, ModifyListener
{
32 private final Text textDate
;
33 private DateTime dateTime
;
36 * @param dateTimeElement
38 * @param parentElement
39 * @param initialDateTime
42 public DateElementController(DateElement dateTimeElement
, CdmFormFactory formFactory
, ICdmFormElement parentElement
, DateTime initialDateTime
) {
43 super(formFactory
, parentElement
);
44 this.textDate
= dateTimeElement
.getTextDate();
45 this.textDate
.setText(initialDateTime
!=null?initialDateTime
.toString("yyyy-MM-dd HH:mm:ss"):"yyyy-mm-dd HH:mm:ss");
47 dateTime
= initialDateTime
;
48 textDate
.addModifyListener(this);
51 // public DateElementController(DateElementFormElement dateTimeElement, CdmFormFactory formFactory, DateTime initialDateTime) {
52 // super(formFactory, dateTimeElement);
53 // this.textDate = dateTimeElement.getTextDate();
54 // this.textDate.setText(initialDateTime!=null?initialDateTime.toString("yyyy-MM-dd"):"");
55 // addControl(textDate);
56 // textDate.addModifyListener(this);
60 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
63 public void modifyText(ModifyEvent e
) {
65 // String text = textDate.getText();
66 // DateTime parsedDateTime = DateTime.parse(text);
67 // this.dateTime = parsedDateTime;
68 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e
));
69 } catch (IllegalArgumentException iae
) {
70 System
.err
.println(iae
.getMessage());
74 public DateTime
getDateTime(){
77 public void setDateTime(DateTime date
){
82 * @see eu.etaxonomy.taxeditor.ui.element.IRelevantFormElement#setIrrelevant(boolean)
85 public void setIrrelevant(boolean irrelevant
) {
86 // TODO Auto-generated method stub
91 * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#setEnabled(boolean)
94 public void setEnabled(boolean enabled
) {
95 textDate
.setEnabled(enabled
);
99 * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
102 public boolean isEnabled() {
103 return textDate
.isEnabled();