extract string constant
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / DateDetailSection.java
index 1424d5c9a51b79e07261a49c9d67e71416f55470..7e7a74367d8e286d3ff9468b84c77c13a89bd292 100644 (file)
@@ -8,12 +8,14 @@ import eu.etaxonomy.cdm.common.CdmUtils;
 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
@@ -46,10 +48,19 @@ public class DateDetailSection<T extends TimePeriod>
                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
@@ -58,10 +69,7 @@ public class DateDetailSection<T extends TimePeriod>
                        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
@@ -80,7 +88,7 @@ public class DateDetailSection<T extends TimePeriod>
                }\r
                return super.getEntity();\r
        }\r
-       \r
+\r
        @SuppressWarnings("unchecked")\r
        protected T newInstance(){\r
                if (includeVerbatim){\r
@@ -89,7 +97,7 @@ public class DateDetailSection<T extends TimePeriod>
                        return (T)TimePeriod.NewInstance();\r
                }\r
        }\r
-    \r
+\r
        @SuppressWarnings("unchecked")\r
        protected T parseNewInstance() {\r
                if (includeVerbatim){\r
@@ -100,8 +108,8 @@ public class DateDetailSection<T extends TimePeriod>
                        return result;\r
                }\r
        }\r
-       \r
-       \r
+\r
+\r
        /**\r
         * <p>\r
         * Setter for the field <code>timePeriod</code>.\r
@@ -126,7 +134,11 @@ public class DateDetailSection<T extends TimePeriod>
                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
@@ -171,6 +183,7 @@ public class DateDetailSection<T extends TimePeriod>
                } 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
@@ -178,11 +191,20 @@ public class DateDetailSection<T extends TimePeriod>
                        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
@@ -193,6 +215,10 @@ public class DateDetailSection<T extends TimePeriod>
                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