import eu.etaxonomy.cdm.model.common.TimePeriod;\r
import eu.etaxonomy.cdm.model.common.VerbatimTimePeriod;\r
import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;\r
+import eu.etaxonomy.taxeditor.l10n.Messages;\r
\r
-public class DateDetailSection<T extends TimePeriod> \r
+public class DateDetailSection<T extends TimePeriod>\r
extends AbstractFormSection<T> {\r
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
super(formFactory, parentElement, style);\r
\r
this.includeVerbatim = includeVerbatim;\r
+ text_parseText = formFactory.createTextWithLabelElement(this, "Parse",\r
+ null, style);\r
+ text_parseText.getMainControl().setLayoutData(\r
+ LayoutConstants.FILL_HORIZONTALLY(6, 1));\r
+ text_parseText.getMainControl().setToolTipText(Messages.DateDetail_parseText_tooltip);\r
partialElement_start = formFactory.createPartialElement(this,\r
"Start ", null, style);\r
+\r
+ period_continue = formFactory.createCheckbox(this, "Continue", false, style);\r
+ period_continue.getMainControl().setLayoutData(LayoutConstants.FILL_HORIZONTALLY(6,1));\r
partialElement_end = formFactory.createPartialElement(this, "End ",\r
null, style);\r
+\r
if (includeVerbatim){\r
text_VerbatimDate = formFactory.createTextWithLabelElement(this,\r
"Verbatim Date", null, style);\r
LayoutConstants.FILL_HORIZONTALLY(6, 1));\r
}\r
\r
- setText_parseText(formFactory.createTextWithLabelElement(this, "Parse",\r
- null, style));\r
- getText_parseText().getMainControl().setLayoutData(\r
- LayoutConstants.FILL_HORIZONTALLY(6, 1));\r
+\r
\r
text_freeText = formFactory.createTextWithLabelElement(this,\r
"Freetext", null, style);\r
}\r
return super.getEntity();\r
}\r
- \r
+\r
@SuppressWarnings("unchecked")\r
protected T newInstance(){\r
if (includeVerbatim){\r
return (T)TimePeriod.NewInstance();\r
}\r
}\r
- \r
+\r
@SuppressWarnings("unchecked")\r
protected T parseNewInstance() {\r
if (includeVerbatim){\r
return result;\r
}\r
}\r
- \r
- \r
+\r
+\r
/**\r
* <p>\r
* Setter for the field <code>timePeriod</code>.\r
partialElement_start.setPartial(start);\r
Partial end = timePeriod.getEnd();\r
partialElement_end.setPartial(end);\r
+ period_continue.setSelection(timePeriod.isContinued());\r
+ if (timePeriod.isContinued()){\r
+ partialElement_end.setEnabled(false);\r
\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
+ if (!(eventSource == getText_parseText())){\r
+ updateParseField();\r
+ }\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