update ReferenceDetailElement
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / key / PolytomousKeyDetailElement.java
index 633fc7cdc156a81f3a6f7136c9dbadf45a2f61ea..e5c8c9fb0b2719bf655f85a6771d2c639177aeac 100644 (file)
@@ -1,46 +1,57 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.key;
 
-import org.eclipse.swt.SWT;
-
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
+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.NumberWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
 /**
  * @author n.hoffmann
  *
  */
-public class PolytomousKeyDetailElement extends AbstractCdmDetailElement<PolytomousKey> {
+public class PolytomousKeyDetailElement extends
+               AbstractCdmDetailElement<PolytomousKey> {
+
+    private TextWithLabelElement textLabel;
+    private NumberWithLabelElement numberStartNumber;
 
        public PolytomousKeyDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
        }
 
-       private ToggleableTextElement text_title;
-       // TODO implement this
-//     private section_taxonomicScope;
-       
-       
-
        @Override
        protected void createControls(ICdmFormElement formElement,
                        PolytomousKey entity, int style) {
-               text_title = formFactory.createToggleableTextField(formElement, "Title Cache", entity.getTitleCache(), entity.isProtectedTitleCache(), SWT.NULL);
+           textLabel = formFactory.createTextWithLabelElement(formElement, "Title", entity.getTitleCache(), style);
+            numberStartNumber = formFactory.createNumberTextWithLabelElement(formElement, "Start Number", entity.getStartNumber(), style);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+       public String getText() {
+           return textLabel.getText();
+       }
+
+       /*
+        * (non-Javadoc)
+        *
+        * @see
+        * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+        * .lang.Object)
         */
        @Override
        public void handleEvent(Object eventSource) {
-               if(eventSource == text_title){
-                       getEntity().setTitleCache(text_title.getText());
+               if(eventSource==textLabel){
+                   getEntity().setTitleCache(textLabel.getText(), true);
+               }
+               else if(eventSource==numberStartNumber){
+                   getEntity().setStartNumber(numberStartNumber.getInteger());
                }
+               firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
        }
 }