fix #9499: add isAbsent checkBox to details view
authorKatja Luther <k.luther@bgbm.org>
Tue, 2 Mar 2021 14:18:57 +0000 (15:18 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 2 Mar 2021 14:18:57 +0000 (15:18 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/PresenceAbsenceTermDetailElement.java

index fdd284acc633293754064cb196d4f7caed608a87..afb07df12517cf3d0f2b34bc3975e5e704369d14 100644 (file)
@@ -192,6 +192,7 @@ public class Messages extends NLS {
     public static String PresenceAbsenceTermDetailElement_CHOOSE_COLOR;
     public static String PresenceAbsenceTermDetailElement_COLOR_NOT_SET;
     public static String PresenceAbsenceTermDetailElement_LABEL_COLOR;
+    public static String PresenceAbsenceTermDetailElement_LABEL_IS_ABSENT;
 
 
     public static String PreservationMethodMenuPreferences_select;
index ca0feb8e9a31c8c2b70d1b878f27d50b9e16d7b0..d257c5a8d64c9f00b7589aa38d074038b332d1e6 100644 (file)
@@ -201,7 +201,8 @@ AuthenticatedUserBar_NOT_LOGGED_IN=Not logged in
 PresenceAbsenceMenuPreferences_choose=Choose available distribution states
 PresenceAbsenceTermDetailElement_CHOOSE_COLOR=Choose color
 PresenceAbsenceTermDetailElement_COLOR_NOT_SET=Color could not be set
-PresenceAbsenceTermDetailElement_LABEL_COLOR=Color  
+PresenceAbsenceTermDetailElement_LABEL_COLOR=Color
+PresenceAbsenceTermDetailElement_LABEL_IS_ABSENT=Absent  
 PreservationMethodMenuPreferences_select=Choose available preservation methods
 
 DeleteConfiguration_media_removeFromGallery=Remove the media from the image gallery but leave it in database
index e40ea05ff9db420a67d19f8e7d39bb316168fc07..5c33c9253c4f5511f9567332f8922a89ffa72ada 100644 (file)
@@ -201,6 +201,7 @@ PresenceAbsenceMenuPreferences_choose=Auswahl der zur Verf\u00FCgung stehenden V
 PresenceAbsenceTermDetailElement_CHOOSE_COLOR=Farbe wählen
 PresenceAbsenceTermDetailElement_COLOR_NOT_SET=Farbe konnte nicht gespeichert werden
 PresenceAbsenceTermDetailElement_LABEL_COLOR=Farbe
+PresenceAbsenceTermDetailElement_LABEL_IS_ABSENT=Abwesend
 PreservationMethodMenuPreferences_select=Auswahl der zur Verf\u00FCgung stehenden Präservierungsmethoden
 
 DeleteConfiguration_media_removeFromGallery=Entferne Mediendaten aus der Gallerie, aber behalte sie in der Datenbank
index b6aff4d1fc1de3d0e7820be4262d3e9cccade963..1c68e7211308c69932a65686a302e5bd7ca98297 100644 (file)
@@ -23,8 +23,8 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
-import eu.etaxonomy.cdm.model.term.TermVocabulary;
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.ImageResources;
@@ -48,6 +48,10 @@ public class PresenceAbsenceTermDetailElement extends DefinedTermDetailElement<P
 
     private Button btnColorChooser;
 
+    private Label isAbsentLabel;
+
+    private Button btnIsAbsent;
+
        public PresenceAbsenceTermDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
@@ -88,6 +92,17 @@ public class PresenceAbsenceTermDetailElement extends DefinedTermDetailElement<P
         btnColorChooser.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
         btnColorChooser.setToolTipText(Messages.PresenceAbsenceTermDetailElement_CHOOSE_COLOR);
         btnColorChooser.addSelectionListener(this);
+
+        Label isAbsentTextLabel = new Label(getLayoutComposite(), style);
+        isAbsentTextLabel.setText(Messages.PresenceAbsenceTermDetailElement_LABEL_IS_ABSENT);
+        left = LayoutConstants.LEFT();
+        left.valign = TableWrapData.MIDDLE;
+        isAbsentTextLabel.setLayoutData(left);
+        addControl(isAbsentTextLabel);
+
+        btnIsAbsent = formFactory.createButton(getLayoutComposite(), "", SWT.CHECK); //$NON-NLS-1$
+        btnIsAbsent.addSelectionListener(this);
+        btnIsAbsent.setSelection(getEntity().isAbsenceTerm());
        }
 
        @Override
@@ -105,23 +120,27 @@ public class PresenceAbsenceTermDetailElement extends DefinedTermDetailElement<P
      */
     @Override
     public void widgetSelected(SelectionEvent e) {
-        ColorDialog dialog = new ColorDialog(AbstractUtility.getShell());
-        if(color!=null){
-            dialog.setRGB(color.getRGB());
-        }
-        RGB rgb = dialog.open();
-        if(rgb!=null){
+        if (e.getSource().equals(btnColorChooser)){
+            ColorDialog dialog = new ColorDialog(AbstractUtility.getShell());
             if(color!=null){
-                color.dispose();
+                dialog.setRGB(color.getRGB());
             }
-            color = new Color(AbstractUtility.getShell().getDisplay(), rgb);
-            colorLabel.setBackground(color);
-            try {
-                String hexCode = String.format("%02x%02x%02x", rgb.red,rgb.green,rgb.blue); //$NON-NLS-1$
-                getEntity().setDefaultColor(hexCode);
-            } catch (ParseException pe) {
-                MessagingUtils.error(PresenceAbsenceTermDetailElement.class, Messages.PresenceAbsenceTermDetailElement_COLOR_NOT_SET, pe);
+            RGB rgb = dialog.open();
+            if(rgb!=null){
+                if(color!=null){
+                    color.dispose();
+                }
+                color = new Color(AbstractUtility.getShell().getDisplay(), rgb);
+                colorLabel.setBackground(color);
+                try {
+                    String hexCode = String.format("%02x%02x%02x", rgb.red,rgb.green,rgb.blue); //$NON-NLS-1$
+                    getEntity().setDefaultColor(hexCode);
+                } catch (ParseException pe) {
+                    MessagingUtils.error(PresenceAbsenceTermDetailElement.class, Messages.PresenceAbsenceTermDetailElement_COLOR_NOT_SET, pe);
+                }
             }
+        }else if (e.getSource().equals(btnIsAbsent)){
+            getEntity().setAbsenceTerm(btnIsAbsent.getSelection());
         }
         firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
     }