- added full square as replacement for control characterers (#2248)
authorPatric Plitzner <p.plitzner@bgbm.org>
Thu, 4 Sep 2014 07:23:06 +0000 (07:23 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Thu, 4 Sep 2014 07:23:06 +0000 (07:23 +0000)
 - added flag to TextWithLabelElement to allow multi-line behavior
 - changed description labels (#4087)
 - renamed method

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java

index 5eb34b5bc72eb7f9b1b6ba12eb29298d80663a84..d4c2870cd2d4d671cdf7de58da120f308a43d2dd 100644 (file)
@@ -533,31 +533,6 @@ public class CdmFormFactory extends FormToolkit {
         return this.createLabel(parent, null);
     }
 
-    /**
-     * <p>
-     * createMultilineTextWithLabel
-     * </p>
-     *
-     * @param labelString
-     *            a {@link java.lang.String} object.
-     * @param textHeight
-     *            a int.
-     * @param style
-     *            a int.
-     * @param parentElement
-     *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
-     *            object.
-     * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
-     *         object.
-     */
-    public TextWithLabelElement createMultilineTextWithLabel(ICdmFormElement parentElement, String labelString,
-            int textHeight, int style) {
-        TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, style);
-        adapt(element);
-        parentElement.addElement(element);
-        return element;
-    }
-
     /**
      * <p>
      * createMultiLanguageTextElement
@@ -656,7 +631,16 @@ public class CdmFormFactory extends FormToolkit {
             initialText = "";
         }
 
-        TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null, textLimit, style);
+        TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null,
+                textLimit, style);
+        adapt(element);
+        parentElement.addElement(element);
+        return element;
+    }
+
+    public TextWithLabelElement createMultiLineTextWithLabel(ICdmFormElement parentElement, String labelString,
+            int textHeight, int style) {
+        TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, true, style);
         adapt(element);
         parentElement.addElement(element);
         return element;
index 9657c69dd248d2d64ecd85c4e9e26097c04e240d..d5f7b310542dc1212a42e43036f53a09078d8417 100644 (file)
@@ -32,6 +32,8 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
     protected Text text;
     private Label label;
 
+    private final boolean isMultiLine;
+
     /** Constant <code>MAX_HEIGHT=0</code> */
     public static final int MAX_HEIGHT = 0;
     /** Constant <code>SINGLE=-1</code> */
@@ -39,8 +41,19 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
 
     protected TextWithLabelElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
             String initialText, Integer textHeight, int style) {
-        this(formFactory, parentElement, labelString, initialText, textHeight, null, style);
+        this(formFactory, parentElement, labelString, initialText, textHeight, null, false, style);
+    }
+
+    protected TextWithLabelElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
+            String initialText, Integer textHeight, boolean isMultiLine, int style) {
+        this(formFactory, parentElement, labelString, initialText, textHeight, null, isMultiLine, style);
+    }
+
+    protected TextWithLabelElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
+            String initialText, Integer textHeight, Integer textLimit, int style) {
+        this(formFactory, parentElement, labelString, initialText, textHeight, textLimit, false, style);
     }
+
     /**
      * <p>
      * Constructor for TextWithLabelElement.
@@ -64,13 +77,20 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
      * @wbp.parser.entryPoint
      */
     protected TextWithLabelElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString,
-            String initialText, Integer textHeight, Integer textLimit, int style) {
+            String initialText, Integer textHeight, Integer textLimit, boolean isMultiLine, int style) {
         super(formFactory, parentElement);
 
+        this.isMultiLine = isMultiLine;
+
         if (labelString != null) {
             label = formFactory.createLabel(getLayoutComposite(), CdmUtils.Nz(labelString), SWT.NULL);
             addControl(label);
-            label.setLayoutData(LayoutConstants.LEFT());
+            if(isMultiLine){
+                label.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            }
+            else{
+                label.setLayoutData(LayoutConstants.LEFT());
+            }
         }
 
         int scrollStyle = textHeight == null ? SWT.NULL : (SWT.V_SCROLL | SWT.MULTI);
@@ -107,7 +127,13 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
             });
         }
 
-        TableWrapData layoutData = LayoutConstants.FILL();
+        TableWrapData layoutData;
+        if(isMultiLine){
+            layoutData = LayoutConstants.FILL_HORIZONTALLY(2, 1);
+        }
+        else{
+            layoutData = LayoutConstants.FILL();
+        }
         if (textHeight != null && textHeight > 0) {
             (layoutData).heightHint = textHeight;
         }
@@ -158,7 +184,7 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
     /** {@inheritDoc} */
     @Override
     public void modifyText(ModifyEvent e) {
-        if(e.widget ==  text){
+        if(e.widget==text && !isMultiLine){
             Text text = (Text) e.widget;
             boolean hasControlCharacters = false;
             String textString = text.getText();
@@ -171,7 +197,7 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
             }
             if(hasControlCharacters){
                 //remove control character such as line breaks etc.
-                setText(text.getText().replaceAll("\\p{C}", ""));
+                setText(text.getText().replaceAll("\\p{C}", new Character((char)9608).toString()));
             }
         }
         firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
index 3b7ccac5e9faf755501ca7dc44a0ff6e2ce5f15a..f522ca645165522c7cc5e170c466dcfacef1a18c 100644 (file)
@@ -47,7 +47,7 @@ public class DescriptionDetailElement extends AbstractCdmDetailElement<Descripti
        /** {@inheritDoc} */
        @Override
        protected void createControls(ICdmFormElement formElement, DescriptionBase entity, int style) {
-               detailDescription = formFactory.createMultilineTextWithLabel(this, "Label", 50, SWT.WRAP);
+               detailDescription = formFactory.createMultiLineTextWithLabel(this, "Label", 50, SWT.WRAP);
                detailDescription.setText(entity.getTitleCache());
                
                // TODO I initially thought that we can handle the entity's descriptive system with a feature tree 
index 0a3090c48838d3956574ce136a779c9a60f011b0..dc61752d6f974a62e4fcd126e4515a40fcd1cb04 100644 (file)
@@ -72,8 +72,8 @@ public class IndividualsAssociationDetailElement extends
                                                CdmBase.deproxy(entity.getAssociatedSpecimenOrObservation(),DerivedUnit.class),
                                                EntitySelectionElement.ALL, style);
 
-               text_description = formFactory.createMultilineTextWithLabel(
-                               formElement, "Description", 200, style);
+               text_description = formFactory.createMultiLineTextWithLabel(
+                               formElement, "Description for taxon - individual association", 200, style);
                Map<Language, LanguageString> descriptions = entity.getDescription();
 
                if (descriptions.get(CdmStore.getDefaultLanguage()) != null) {
index 95221da5ed233016a069d58aac987d7b470c7c35..11faf245cd4c00de7abb43ca4a00673a52425063 100644 (file)
@@ -67,8 +67,8 @@ public class TaxonInteractionDetailElement extends
                                                entity.getTaxon2(), EntitySelectionElement.NOTHING,
                                                SWT.WRAP);
 
-               interactionDescription = formFactory.createMultilineTextWithLabel(this,
-                               "Description", 200, SWT.WRAP);
+               interactionDescription = formFactory.createMultiLineTextWithLabel(this,
+                               "Description for the taxon - taxon interaction", 200, SWT.WRAP);
                interactionDescription.setText(entity.getDescription(CdmStore
                                .getDefaultLanguage()));
        }
index 0f3895a60d1e886b9f414796a6766600be210a76..f497d941619b9b811ed108f61b26a8deafb70e47 100644 (file)
@@ -381,7 +381,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                text_uri = formFactory.createUriWithLabelElement(element, "URI",
                                reference.getUri(), style);
                // abstract
-               text_referenceAbstract = formFactory.createMultilineTextWithLabel(
+               text_referenceAbstract = formFactory.createMultiLineTextWithLabel(
                                element, "Reference Abstract", 100, style);
                text_referenceAbstract.setText(reference.getReferenceAbstract());
        }
index 6a73aad173cacb5f58e564f7375403b063a6dd70..eff82501e3f4a2a583e9ae3e9a767df4f57f0fc1 100644 (file)
@@ -47,7 +47,7 @@ public class AnnotationElement extends AbstractEntityCollectionElement<Annotatio
        public void createControls(ICdmFormElement element, int style) {
                combo_annotationType = formFactory.createDefinedTermComboElement(TermType.AnnotationType, this, "Annotation Type", null, style);
 
-               text = formFactory.createMultilineTextWithLabel(this, "Annotation", 100, style);
+               text = formFactory.createMultiLineTextWithLabel(this, "Annotation", 100, style);
        }
 
        /* (non-Javadoc)
index 28ad8a039b0e2eedd6dc5cec3c3dfc5784b95491..852a2fefed19d7686cbf0a55e9e52867c639a554 100644 (file)
@@ -66,7 +66,7 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
                                .createSelectionElement(AgentBase.class,
                                                getConversationHolder(), this, "Agent", null,
                                                EntitySelectionElement.ALL, style);
-               text = formFactory.createMultilineTextWithLabel(this, "Text", 100,
+               text = formFactory.createMultiLineTextWithLabel(this, "Text", 100,
                                style);
        }
 
index a68a3598181329ac8a6c5d8bcc41a85eed116d24..ecaf130ff5d28d611c6163aa67a4e86f59f235a2 100644 (file)
@@ -71,7 +71,7 @@ public class RightsElement extends AbstractEntityCollectionElement<Rights> {
                selection_agent = formFactory.createSelectionElement(
                                AgentBase.class, getConversationHolder(), this, "Agent",
                                null, EntitySelectionElement.ALL, style);
-               text = formFactory.createMultilineTextWithLabel(this, "Text", 100,
+               text = formFactory.createMultiLineTextWithLabel(this, "Text", 100,
                                style);
        }
 
index a00d87b259c30a1754703a98a968804228af3e0b..a871d1e3b0a13ad667d7b2c397f6564e1f588aa3 100644 (file)
@@ -50,7 +50,7 @@ public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends
                \r
                text_label = formFactory.createTextWithLabelElement(formElement, "Label", representation.getLabel(), style);\r
                text_abbreviatedLabel = formFactory.createTextWithLabelElement(formElement, "Abbrev. Label", representation.getAbbreviatedLabel(), style);\r
-               text_description = formFactory.createMultilineTextWithLabel(formElement, "Description", 100, style);\r
+               text_description = formFactory.createMultiLineTextWithLabel(formElement, "Description", 100, style);\r
                text_description.setText(representation.getDescription());\r
                uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
                \r