*/
package eu.etaxonomy.taxeditor.ui.mvc.element;
+
+import java.util.Calendar;
+import java.util.ConcurrentModificationException;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.joda.time.DateTime;
+//import org.joda.time.DateTime;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.IPropertyChangeEmitter;
import eu.etaxonomy.taxeditor.ui.mvc.AbstractCdmComposite;
/**
* @date 16.06.2014
*
*/
-public class DateElement extends AbstractCdmComposite<DateElementController> {
+public class DateElement extends AbstractCdmComposite<DateElementController> {
private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private final DateTime initialDateTime;
- private final Text textDate;
+ private org.joda.time.DateTime initialDateTime;
+ private Text textDate;
+ // private final Button openDateDialog;
+
/**
* Create the composite.
* @param parent
* @param style
*/
- public DateElement(Composite parent, DateTime initialDateTime, int style) {
+ public DateElement(Composite parent, org.joda.time.DateTime initialDateTime, int style) {
super(parent, style);
this.initialDateTime = initialDateTime;
addDisposeListener(new DisposeListener() {
textDate = new Text(this, SWT.BORDER | SWT.WRAP);
textDate.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+
+// openDateDialog = new Button (this, SWT.PUSH);
+// Image image = getDisplay().getSystemImage(SWT.DATE);
+// openDateDialog.setText ("Open Date Dialog");
+// openDateDialog.addSelectionListener (new SelectionAdapter() {
+// @Override
+// public void widgetSelected(SelectionEvent e){
+// final Shell dialog = new Shell (parent.getShell(), SWT.DIALOG_TRIM);
+//
+// dialog.setLayout (new GridLayout (3, false));
+//
+// final DateTime calendar = new DateTime (dialog, SWT.CALENDAR | SWT.BORDER);
+// //final DateTime time = new DateTime (dialog, SWT.TIME | SWT.SHORT);
+//
+// new Label (dialog, SWT.NONE);
+// new Label (dialog, SWT.NONE);
+// Button ok = new Button (dialog, SWT.PUSH);
+// ok.setText ("OK");
+// ok.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, false, false));
+// ok.addSelectionListener (new SelectionAdapter() {
+// @Override
+// public void widgetSelected(SelectionEvent e){
+// setData(makeJodaFromSWT(calendar));
+// setTextDate((calendar.getMonth () + 1) + "/" + calendar.getDay () + "/" + calendar.getYear ());
+// System.out.println ("Calendar date selected (MM/DD/YYYY) = " + (calendar.getMonth () + 1) + "/" + calendar.getDay () + "/" + calendar.getYear ());
+// // System.out.println ("Time selected (HH:MM) = " + time.getHours () + ":" + (time.getMinutes () < 10 ? "0" : "") + time.getMinutes ());
+// dialog.close ();
+// }
+// });
+// dialog.setDefaultButton (ok);
+// dialog.pack ();
+// dialog.open ();
+// }
+// });
+
toolkit.adapt(textDate, true, true);
}
*/
@Override
protected void initInternalController(CdmFormFactory formFactory, ICdmFormElement parentElement) {
- controller = new DateElementController(this, formFactory, parentElement, initialDateTime, SWT.NONE);
+ controller = new DateElementController(this, formFactory, parentElement, initialDateTime);
formFactory.adapt(controller);
}
public Text getTextDate() {
return textDate;
}
+
+// public void setTextDate(String text){
+// textDate.setText(text);
+// }
+// /**
+// * <p>
+// * Setter for the field <code>entity</code>.
+// * </p>
+// *
+// * @param selection
+// * a T object.
+// */
+// public void setEntity(org.joda.time.DateTime time) {
+// this.initialDateTime = time;
+//
+// }
+//
+//
+// public static org.joda.time.DateTime makeJodaFromSWT(
+// org.eclipse.swt.widgets.DateTime widget) {
+// return new org.joda.time.DateTime(widget.getYear(),
+// widget.getMonth(),
+// widget.getDay(),
+// widget.getHours(),
+// widget.getMinutes(),
+// widget.getSeconds());
+// }
+//
+// public static void updateSWTwithJoda(
+// org.eclipse.swt.widgets.DateTime widget,
+// org.joda.time.DateTime dateTime) {
+// widget.setYear(dateTime.getYear());
+// widget.setMonth(dateTime.getMonthOfYear());
+// widget.setDay(dateTime.getDayOfMonth());
+// widget.setHours(dateTime.getHourOfDay());
+// widget.setMinutes(dateTime.getMinuteOfHour());
+// widget.setSeconds(dateTime.getSecondOfMinute());
+// }
+//
+// public void setData (org.joda.time.DateTime data) {
+// this.initialDateTime = data;
+//
+// }
+
+
+
+
+
+
}
import org.eclipse.swt.widgets.Text;
import org.joda.time.DateTime;
+import com.sun.istack.logging.Logger;
+
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
* @param initialDateTime
* @param none
*/
- public DateElementController(DateElement dateTimeElement, CdmFormFactory formFactory, ICdmFormElement parentElement, DateTime initialDateTime, int none) {
+ public DateElementController(DateElement dateTimeElement, CdmFormFactory formFactory, ICdmFormElement parentElement, DateTime initialDateTime) {
super(formFactory, parentElement);
this.textDate = dateTimeElement.getTextDate();
this.textDate.setText(initialDateTime!=null?initialDateTime.toString("yyyy-MM-dd"):"");
addControl(textDate);
textDate.addModifyListener(this);
}
+
+// public DateElementController(DateElementFormElement dateTimeElement, CdmFormFactory formFactory, DateTime initialDateTime) {
+// super(formFactory, dateTimeElement);
+// this.textDate = dateTimeElement.getTextDate();
+// this.textDate.setText(initialDateTime!=null?initialDateTime.toString("yyyy-MM-dd"):"");
+// addControl(textDate);
+// textDate.addModifyListener(this);
+// }
/* (non-Javadoc)
* @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
this.dateTime = parsedDateTime;
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
} catch (IllegalArgumentException iae) {
- //nothing
+ System.err.println(iae.getMessage());
}
}
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
+import eu.etaxonomy.taxeditor.ui.mvc.element.DateElementFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
private LanguageStringWithLabelElement text_description;
private LanguageStringWithLabelElement text_title;
private MediaDetailElement mediaDetailElement;
- // private DateElement dateElement;
+ private DateElement mediaCreated;
private SelectionArbitrator selectionArbitrator;
public MediaMetaElement(CdmFormFactory cdmFormFactory,
text_title = formFactory.createLanguageStringWithLabelElement(element, "Title", null, style);
selection_artist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Artist", null, EntitySelectionElement.ALL, style);
addElement(selection_artist);
+ mediaCreated = formFactory.createDateElement(element, "Media Created", null, style);
+ addElement(mediaCreated.getController());
text_description = formFactory.createLanguageStringWithLabelElement(element, "Description", null, 100, true, style);
- // dateElement = formFactory.createDateElement(element, "Media created", null, style);
- // addControl(dateElement);
-
+
+
mediaDetailElement = formFactory.createMediaDetailElement(element);
}
text_title.setLanguageString(title);
- // dateElement.setData(element.getMediaCreated());
+ mediaCreated.setData(element.getMediaCreated());
}
if (getParentElement() instanceof AbstractCdmDetailSection) {
((AbstractCdmDetailSection<?>) getParentElement()).updateTitle();
}
-// } else if (eventSource == dateElement){
-// org.joda.time.DateTime date = dateElement.getController().getDateTime();
-// getEntity().setMediaCreated(date);
+ } else if (eventSource == mediaCreated.getController()){
+ org.joda.time.DateTime date = mediaCreated.getController().getDateTime();
+ getEntity().setMediaCreated(date);
}
}