Use textColourChooser
[jalview.git] / src / jalview / gui / AlignFrame.java
index 6899626..8fafb34 100755 (executable)
@@ -1959,112 +1959,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
   public void textColour_actionPerformed(ActionEvent e)
   {
-    int original1 = viewport.textColour.getRGB();
-    int original2 = viewport.textColour2.getRGB();
-    int thresh = viewport.thresholdTextColour;
-    final JSlider slider = new JSlider(0, 750, viewport.thresholdTextColour);
-    final JButton col1 = new JButton("DARK");
-    col1.setBackground(viewport.textColour);
-    col1.setForeground(viewport.textColour);
-    final JButton col2 = new JButton("LIGHT");
-    col2.setBackground(viewport.textColour2);
-    col2.setForeground(viewport.textColour2);
-    final JPanel bigpanel = new JPanel(new BorderLayout());
-    JPanel panel = new JPanel();
-    bigpanel.add(panel, BorderLayout.CENTER);
-    bigpanel.add(new JLabel(
-      "<html><i>Select a dark and light text colour, then set the threshold to"
-     +"<br>switch between colours, based on background colour</i></html>"),
-                 BorderLayout.NORTH);
-    panel.add(col1);
-    panel.add(slider);
-    panel.add(col2);
-
-    col1.addActionListener(new ActionListener()
-        {
-          public void actionPerformed(ActionEvent e)
-          {
-            Color col = JColorChooser.showDialog(bigpanel,
-                                                 "Select Colour for Text",
-                                                 viewport.textColour);
-            if (col != null)
-            {
-              viewport.textColour = col;
-              col1.setBackground(col);
-              col1.setForeground(col);
-              if(viewport.colourAppliesToAllGroups)
-                setGroupTextColour();
-            }
-            alignPanel.repaint();
-          }
-        });
-
-    col2.addActionListener(new ActionListener()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        Color col = JColorChooser.showDialog(bigpanel,
-                                             "Select Colour for Text",
-                                             viewport.textColour);
-        if (col != null)
-        {
-          viewport.textColour2 = col;
-          col2.setBackground(col);
-          col2.setForeground(col);
-          if(viewport.colourAppliesToAllGroups)
-                setGroupTextColour();
-        }
-        alignPanel.repaint();
-      }
-    });
-
-
-    slider.addChangeListener(new ChangeListener()
-    {
-      public void stateChanged(ChangeEvent evt)
-      {
-        viewport.thresholdTextColour = slider.getValue();
-        if(viewport.colourAppliesToAllGroups)
-                setGroupTextColour();
-        alignPanel.repaint();
-      }
-    });
-
-    int reply = JOptionPane.showInternalOptionDialog(this,
-                                                 bigpanel,
-                                                 "Adjust Foreground Text Colour Threshold",
-                                                 JOptionPane.OK_CANCEL_OPTION,
-                                                 JOptionPane.QUESTION_MESSAGE,
-                                                 null,
-                                                 null, null);
-
-    if(reply==JOptionPane.CANCEL_OPTION)
-    {
-      viewport.textColour = new Color(original1);
-      viewport.textColour2 = new Color(original2);
-      viewport.thresholdTextColour = thresh;
-    }
+    new TextColourChooser().chooseColour(alignPanel, null);
   }
 
-  void setGroupTextColour()
-  {
-    if(viewport.alignment.getGroups()==null)
-      return;
-
-    Vector groups = viewport.alignment.getGroups();
-
-    for(int i=0; i<groups.size(); i++)
-    {
-      SequenceGroup sg = (SequenceGroup)groups.elementAt(i);
-      sg.textColour = viewport.textColour;
-      sg.textColour2 = viewport.textColour2;
-      sg.thresholdTextColour = viewport.thresholdTextColour;
-    }
-
-
-  }
-
-
   /**
    * DOCUMENT ME!
    *