JAL-2089 patch broken merge to master for Release 2.10.0b1
[jalview.git] / src / jalview / gui / UserDefinedColours.java
index d7a521c..c9c1531 100755 (executable)
@@ -454,26 +454,41 @@ public class UserDefinedColours extends GUserDefinedColours implements
   @Override
   protected void okButton_actionPerformed(ActionEvent e)
   {
-               //Check if the user have done any selection
-               boolean showWarning = (upperCaseButtons==null) ||
-                                       ((upperCaseButtons!=null) && (upperCaseButtons.size()==0)) ||
-                                       (lowerCaseButtons==null) ||
-                                       ((lowerCaseButtons!=null) && (lowerCaseButtons.size()==0));
-               if (showWarning){
-               JOptionPane.showMessageDialog(Desktop.desktop,
-                       MessageManager.getString("label.no_colour_selection_in_scheme"),MessageManager.getString("label.no_colour_selection_warn"),
-                       JOptionPane.WARNING_MESSAGE);
-                       
-               }else{
-                   applyButton_actionPerformed(null);
-               
-                   try
-                   {
-                     frame.setClosed(true);
-                   } catch (Exception ex)
-                   {
-                   }
-               }
+    if (isNoSelectionMade())
+    {
+      JOptionPane.showMessageDialog(Desktop.desktop, MessageManager
+              .getString("label.no_colour_selection_in_scheme"),
+              MessageManager.getString("label.no_colour_selection_warn"),
+              JOptionPane.WARNING_MESSAGE);
+    }
+    else
+    {
+      applyButton_actionPerformed(null);
+
+      try
+      {
+        frame.setClosed(true);
+      } catch (Exception ex)
+      {
+      }
+    }
+  }
+
+  /**
+   * Returns true if the user has not made any colour selection (including if
+   * 'case-sensitive' selected and no lower-case colour chosen).
+   * 
+   * @return
+   */
+  protected boolean isNoSelectionMade()
+  {
+    final boolean noUpperCaseSelected = upperCaseButtons == null
+            || upperCaseButtons.isEmpty();
+    final boolean noLowerCaseSelected = caseSensitive.isSelected()
+            && (lowerCaseButtons == null || lowerCaseButtons.isEmpty());
+    final boolean noSelectionMade = noUpperCaseSelected
+            || noLowerCaseSelected;
+    return noSelectionMade;
   }
 
   /**
@@ -485,18 +500,15 @@ public class UserDefinedColours extends GUserDefinedColours implements
   @Override
   protected void applyButton_actionPerformed(ActionEvent e)
   {
-       //Check if the user have done any selection
-       boolean showWarning = (upperCaseButtons==null) ||
-                               ((upperCaseButtons!=null) && (upperCaseButtons.size()==0)) ||
-                               (lowerCaseButtons==null) ||
-                               ((lowerCaseButtons!=null) && (lowerCaseButtons.size()==0));
-       if (showWarning){
-        JOptionPane.showMessageDialog(Desktop.desktop,
-                MessageManager.getString("label.no_colour_selection_in_scheme"),MessageManager.getString("label.no_colour_selection_warn"),
-                JOptionPane.WARNING_MESSAGE);
-               
-       }
-       UserColourScheme ucs = getSchemeFromButtons();
+    if (isNoSelectionMade())
+    {
+      JOptionPane.showMessageDialog(Desktop.desktop, MessageManager
+              .getString("label.no_colour_selection_in_scheme"),
+              MessageManager.getString("label.no_colour_selection_warn"),
+              JOptionPane.WARNING_MESSAGE);
+
+    }
+    UserColourScheme ucs = getSchemeFromButtons();
     ucs.setName(schemeName.getText());
 
     if (seqGroup != null)
@@ -520,17 +532,22 @@ public class UserDefinedColours extends GUserDefinedColours implements
     Color[] newColours = new Color[24];
 
     int length = upperCaseButtons.size();
-    if (length<24){
-       int i = 0;
-       for (JButton btn:upperCaseButtons){
-               newColours[i] = btn.getBackground();
-               i++;
-       }
-    }else{
-       for (int i = 0; i < 24; i++){
-               JButton button = (JButton) upperCaseButtons.get(i);
-               newColours[i] = button.getBackground();
-       }
+    if (length < 24)
+    {
+      int i = 0;
+      for (JButton btn : upperCaseButtons)
+      {
+        newColours[i] = btn.getBackground();
+        i++;
+      }
+    }
+    else
+    {
+      for (int i = 0; i < 24; i++)
+      {
+        JButton button = upperCaseButtons.get(i);
+        newColours[i] = button.getBackground();
+      }
     }
 
     UserColourScheme ucs = new UserColourScheme(newColours);
@@ -539,24 +556,29 @@ public class UserDefinedColours extends GUserDefinedColours implements
     {
       newColours = new Color[23];
       length = lowerCaseButtons.size();
-      if (length<23){
-         int i = 0;
-         for (JButton btn:lowerCaseButtons){
-                 newColours[i] = btn.getBackground();
-                 i++;
-         }
-      }else{
-         for (int i = 0; i < 23; i++){
-                 JButton button = (JButton) lowerCaseButtons.get(i);
-                 newColours[i] = button.getBackground();
-         }
+      if (length < 23)
+      {
+        int i = 0;
+        for (JButton btn : lowerCaseButtons)
+        {
+          newColours[i] = btn.getBackground();
+          i++;
+        }
+      }
+      else
+      {
+        for (int i = 0; i < 23; i++)
+        {
+          JButton button = lowerCaseButtons.get(i);
+          newColours[i] = button.getBackground();
+        }
       }
       ucs.setLowerCaseColours(newColours);
     }
 
     if (ap != null)
     {
-      ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+      ucs.setThreshold(0, ap.av.isIgnoreGapsConsensus());
     }
 
     return ucs;
@@ -575,9 +597,9 @@ public class UserDefinedColours extends GUserDefinedColours implements
     lowerCaseButtons = new ArrayList<JButton>();
 
     JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
-            { "jc" }, new String[]
-            { "Jalview User Colours" }, "Jalview User Colours");
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
+            new String[] { "jc" }, new String[] { "Jalview User Colours" },
+            "Jalview User Colours");
     chooser.setFileView(new jalview.io.JalviewFileView());
     chooser.setDialogTitle(MessageManager
             .getString("label.load_colour_scheme"));
@@ -700,8 +722,7 @@ public class UserDefinedColours extends GUserDefinedColours implements
         name = jucs.getColour(i).getName();
         if (ResidueProperties.aa3Hash.containsKey(name))
         {
-          index = ((Integer) ResidueProperties.aa3Hash.get(name))
-                  .intValue();
+          index = ResidueProperties.aa3Hash.get(name).intValue();
         }
         else
         {
@@ -800,8 +821,8 @@ public class UserDefinedColours extends GUserDefinedColours implements
     {
       int reply = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
               MessageManager.formatMessage(
-                      "label.colour_scheme_exists_overwrite", new Object[]
-                      { schemeName.getText(), schemeName.getText() }),
+                      "label.colour_scheme_exists_overwrite", new Object[] {
+                          schemeName.getText(), schemeName.getText() }),
               MessageManager.getString("label.duplicate_scheme_name"),
               JOptionPane.YES_NO_OPTION);
       if (reply != JOptionPane.YES_OPTION)
@@ -812,12 +833,13 @@ public class UserDefinedColours extends GUserDefinedColours implements
       userColourSchemes.remove(schemeName.getText());
     }
     JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
-            { "jc" }, new String[]
-            { "Jalview User Colours" }, "Jalview User Colours");
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
+            new String[] { "jc" }, new String[] { "Jalview User Colours" },
+            "Jalview User Colours");
 
     chooser.setFileView(new jalview.io.JalviewFileView());
-    chooser.setDialogTitle(MessageManager.getString("label.save_colour_scheme"));
+    chooser.setDialogTitle(MessageManager
+            .getString("label.save_colour_scheme"));
     chooser.setToolTipText(MessageManager.getString("action.save"));
 
     int value = chooser.showSaveDialog(this);