protected TextWithLabelElement text_freeText;\r
private PartialElement partialElement_start;\r
private PartialElement partialElement_end;\r
+ private CheckboxElement period_continue;\r
private TextWithLabelElement text_parseText;\r
private TextWithLabelElement text_VerbatimDate = null;\r
private int cursorPosition;\r
"Start ", null, style);\r
partialElement_end = formFactory.createPartialElement(this, "End ",\r
null, style);\r
+ period_continue = formFactory.createCheckbox(this, "Continue", false, style);\r
+ period_continue.getMainControl().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(6,1));\r
if (includeVerbatim){\r
text_VerbatimDate = formFactory.createTextWithLabelElement(this,\r
"Verbatim Date", null, style);\r
partialElement_start.setPartial(start);\r
Partial end = timePeriod.getEnd();\r
partialElement_end.setPartial(end);\r
-\r
+ period_continue.setSelection(timePeriod.isContinued());\r
+ if (timePeriod.isContinued()){\r
+ partialElement_end.setEnabled(false);\r
+ }\r
((Text) getText_parseText().getMainControl()).setSelection(cursorPosition);\r
text_freeText.setText(timePeriod.getFreeText());\r
if (includeVerbatim){\r
} else if (eventSource == partialElement_end) {\r
Partial end = partialElement_end.getPartial();\r
getEntity().setEnd(end);\r
+\r
} else if (eventSource == getText_parseText()) {\r
cursorPosition = ((Text) getText_parseText().getMainControl())\r
.getCaretPosition();\r
setEntityInternally(newInstance);\r
} else if (eventSource == text_freeText) {\r
getEntity().setFreeText(text_freeText.getText());\r
- }else if (eventSource == text_VerbatimDate) {\r
- VerbatimTimePeriod entity = (VerbatimTimePeriod)getEntity();\r
- entity.setVerbatimDate(text_VerbatimDate.getText());\r
+ }else if (eventSource == period_continue) {\r
+ boolean continued = period_continue.getSelection();\r
+ getEntity().setContinued(continued);\r
+ if (continued){\r
+ partialElement_end.setAllNull();\r
+ partialElement_end.setEnabled(false);\r
+ }else{\r
+ partialElement_end.setEnabled(true);\r
+ }\r
}\r
updateTitle();\r
+ updateParseField();\r
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));\r
}\r
\r
this.setText(title);\r
layout();\r
}\r
+ protected void updateParseField(){\r
+ getText_parseText().setText(getEntity().toString());\r
+ layout();\r
+ }\r
\r
/** {@inheritDoc} */\r
@Override\r
-import org.apache.lucene.analysis.shingle.ShingleMatrixFilter.OneDimensionalNonWeightedTokenSettingsCodec;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
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.TableWrapLayout;
import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormatter;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
private org.joda.time.DateTime initialDateTime;
private Text textDate;
private final Button openDateDialog;
-
+
private static final String pattern = "yyyy-MM-dd HH:mm";
-
+
/**
* Create the composite.
if (initDateTime != null){
this.initialDateTime = initDateTime.toDateTime(DateTimeZone.UTC);
}
-
-
+
+
addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
tableWrapLayout.bottomMargin = 0;
setLayout(tableWrapLayout);
}
-
+
Composite composite = new Composite (this, SWT.NONE);
GridLayout layout = new GridLayout ();
-
+
layout.numColumns = 2;
layout.marginWidth = 0;
-
+
composite.setLayout(layout);
-
-
+
+
textDate = toolkit.createText(composite, null, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
-
+
textDate.setEditable(editableText);
-
+
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.minimumWidth = 100;
-
+
textDate.setLayoutData(gridData);
openDateDialog = new Button (composite, SWT.PUSH);
Image image = ImageResources.getImage(ImageResources.DATE);
// openDateDialog.setText ("Open Date Dialog");
openDateDialog.setImage(image);
-
+
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));
dialog.setText(label);
final DateTime calendar = new DateTime (dialog, SWT.CALENDAR | SWT.BORDER);
-
+
final DateTime time = new DateTime (dialog, SWT.TIME | SWT.SHORT);
if (initialDateTime != null){
calendar.setDate(initialDateTime.getYear(), initialDateTime.getMonthOfYear()-1, initialDateTime.getDayOfMonth());
time.setMinutes(initialDateTime.getMinuteOfHour());
// time.setSeconds(initialDateTime.getSecondOfMinute());
}
-
+
// new Label (dialog, SWT.NONE);
// new Label (dialog, SWT.NONE);
dialog.open ();
}
});
-
+
toolkit.adapt(textDate, true, true);
}
public Text getTextDate() {
return textDate;
}
-
-
-
-
+
+
+
+
public static org.joda.time.DateTime makeZonedTimeFromSWT(
- org.eclipse.swt.widgets.DateTime widget,
+ org.eclipse.swt.widgets.DateTime widget,
org.eclipse.swt.widgets.DateTime dateTime) {
- //the first month of the year is 0
+ //the first month of the year is 0
return new org.joda.time.DateTime(widget.getYear(),
widget.getMonth()+1,
widget.getDay(),
widget.setDay(dateTime.getDay());
widget.setHours(dateTime.getHours());
widget.setMinutes(dateTime.getMinutes());
-
+
}
-
+
public void setData (org.joda.time.DateTime data) {
this.initialDateTime = data;
this.controller.setDateTime(data);