JAL-3058 refactored raising JColorChooser for JS compatibility
[jalview.git] / src / jalview / gui / TextColourChooser.java
index 91e05c6..a1b3caf 100644 (file)
@@ -21,6 +21,7 @@
 package jalview.gui;
 
 import jalview.datamodel.SequenceGroup;
+import jalview.gui.JalviewColourChooser.ColourChooserListener;
 import jalview.util.MessageManager;
 
 import java.awt.BorderLayout;
@@ -64,7 +65,8 @@ public class TextColourChooser
    * @param sequenceGroup
    *          the SequenceGroup context (only for group pop-menu option)
    */
-  public void chooseColour(AlignmentPanel alignPanel, SequenceGroup sequenceGroup)
+  public void chooseColour(AlignmentPanel alignPanel,
+          SequenceGroup sequenceGroup)
   {
     this.ap = alignPanel;
     this.sg = sequenceGroup;
@@ -86,11 +88,11 @@ public class TextColourChooser
     JPanel panel = new JPanel();
     bigpanel.add(panel, BorderLayout.CENTER);
     bigpanel.add(
-            new JLabel(
-                    "<html>"
-                            + MessageManager
-                                    .getString("label.select_dark_light_set_threshold")
-                            + "</html>"), BorderLayout.NORTH);
+            new JLabel("<html>"
+                    + MessageManager.getString(
+                            "label.select_dark_light_set_threshold")
+                    + "</html>"),
+            BorderLayout.NORTH);
     panel.add(col1);
     panel.add(slider);
     panel.add(col2);
@@ -100,14 +102,18 @@ public class TextColourChooser
       @Override
       public void mousePressed(MouseEvent e)
       {
-        Color col = JColorChooser.showDialog(bigpanel,
-                MessageManager.getString("label.select_colour_for_text"),
-                col1.getBackground());
-        if (col != null)
+        String ttl = MessageManager.getString("label.select_colour_for_text");
+        ColourChooserListener listener = new ColourChooserListener()
         {
-          colour1Changed(col);
-          col1.setBackground(col);
-        }
+          @Override
+          public void colourSelected(Color c)
+          {
+            colour1Changed(c);
+            col1.setBackground(c);
+          }
+        };
+        JalviewColourChooser.showColourChooser(bigpanel, ttl,
+                col1.getBackground(), listener);
       }
     });
 
@@ -116,14 +122,18 @@ public class TextColourChooser
       @Override
       public void mousePressed(MouseEvent e)
       {
-        Color col = JColorChooser.showDialog(bigpanel,
-                MessageManager.getString("label.select_colour_for_text"),
-                col2.getBackground());
-        if (col != null)
+        String ttl = MessageManager.getString("label.select_colour_for_text");
+        ColourChooserListener listener = new ColourChooserListener()
         {
-          colour2Changed(col);
-          col2.setBackground(col);
-        }
+          @Override
+          public void colourSelected(Color c)
+          {
+            colour2Changed(c);
+            col2.setBackground(c);
+          }
+        };
+        JalviewColourChooser.showColourChooser(bigpanel, ttl,
+                col2.getBackground(), listener);
       }
     });
 
@@ -136,14 +146,11 @@ public class TextColourChooser
       }
     });
 
-    int reply = JvOptionPane
-            .showInternalOptionDialog(
-                    alignPanel,
-                    bigpanel,
-                    MessageManager
-                            .getString("label.adjunst_foreground_text_colour_threshold"),
-                    JvOptionPane.OK_CANCEL_OPTION,
-                    JvOptionPane.QUESTION_MESSAGE, null, null, null);
+    int reply = JvOptionPane.showInternalOptionDialog(alignPanel, bigpanel,
+            MessageManager.getString(
+                    "label.adjunst_foreground_text_colour_threshold"),
+            JvOptionPane.OK_CANCEL_OPTION, JvOptionPane.QUESTION_MESSAGE,
+            null, null, null);
 
     if (reply == JvOptionPane.CANCEL_OPTION)
     {
@@ -186,9 +193,9 @@ public class TextColourChooser
    */
   protected void saveInitialSettings()
   {
-    groupColour1 = new HashMap<SequenceGroup, Color>();
-    groupColour2 = new HashMap<SequenceGroup, Color>();
-    groupThreshold = new HashMap<SequenceGroup, Integer>();
+    groupColour1 = new HashMap<>();
+    groupColour2 = new HashMap<>();
+    groupThreshold = new HashMap<>();
 
     if (sg == null)
     {
@@ -239,7 +246,7 @@ public class TextColourChooser
       sg.textColour = col;
     }
 
-    ap.paintAlignment(true);
+    ap.paintAlignment(false, false);
   }
 
   void colour2Changed(Color col)
@@ -257,7 +264,7 @@ public class TextColourChooser
       sg.textColour2 = col;
     }
 
-    ap.paintAlignment(true);
+    ap.paintAlignment(false, false);
   }
 
   void thresholdChanged(int value)
@@ -275,7 +282,7 @@ public class TextColourChooser
       sg.thresholdTextColour = value;
     }
 
-    ap.paintAlignment(true);
+    ap.paintAlignment(false, false);
   }
 
   void setGroupTextColour()