*/
@Override
public void setEntity(TimePeriod timePeriod) {
+ setEntityInternally(timePeriod);
+ text_parseText.setText(timePeriod.toString());
+ super.setEntity(timePeriod);
+ }
+
+ /**
+ * When setting the entity through parsing we do not want to alter the parse field
+ * @param timePeriod
+ */
+ private void setEntityInternally(TimePeriod timePeriod){
Partial start = timePeriod.getStart();
partialElement_start.setPartial(start);
Partial end = timePeriod.getEnd();
partialElement_end.setPartial(end);
- text_parseText.setText(timePeriod.toString());
((Text) text_parseText.getMainControl()).setSelection(cursorPosition);
text_freeText.setText(timePeriod.getFreeText());
this.setText(CdmUtils.Nz(timePeriod.toString()));
-
- super.setEntity(timePeriod);
}
/** {@inheritDoc} */
} else if (eventSource == text_parseText) {
cursorPosition = ((Text) text_parseText.getMainControl())
.getCaretPosition();
- setEntity(TimePeriod.parseString(text_parseText.getText()));
+ setEntityInternally(TimePeriod.parseString(text_parseText.getText()));
} else if (eventSource == text_freeText) {
getEntity().setFreeText(text_freeText.getText());
}