*/
package jalview.gui;
-import jalview.datamodel.SequenceGroup;
-import jalview.util.MessageManager;
-
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.util.Map;
import javax.swing.BorderFactory;
-import javax.swing.JColorChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
+import jalview.datamodel.SequenceGroup;
+import jalview.gui.JalviewColourChooser.ColourChooserListener;
+import jalview.util.MessageManager;
+
public class TextColourChooser
{
AlignmentPanel ap;
col2.setToolTipText(MessageManager.getString("label.light_colour"));
col2.setBackground(original2);
final JPanel bigpanel = new JPanel(new BorderLayout());
- JPanel panel = new JPanel();
+ JPanel panel = new JPanel(new BorderLayout());
bigpanel.add(panel, BorderLayout.CENTER);
bigpanel.add(
new JLabel("<html>"
"label.select_dark_light_set_threshold")
+ "</html>"),
BorderLayout.NORTH);
- panel.add(col1);
- panel.add(slider);
- panel.add(col2);
+ panel.add(col1, BorderLayout.WEST);
+ panel.add(slider, BorderLayout.CENTER);
+ panel.add(col2, BorderLayout.EAST);
col1.addMouseListener(new MouseAdapter()
{
@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);
}
});
@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);
}
});
}
});
- 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)
+ Object[] options = new Object[] { MessageManager.getString("action.ok"),
+ MessageManager.getString("action.cancel") };
+ String title = MessageManager
+ .getString("label.adjust_foreground_text_colour_threshold");
+ Runnable action = new Runnable() // response for 1 = Cancel
{
- restoreInitialSettings();
- }
+ @Override
+ public void run()
+ {
+ restoreInitialSettings();
+ }
+ };
+ JvOptionPane.newOptionDialog(alignPanel.alignFrame)
+ .setResponseHandler(1, action).showInternalDialog(bigpanel,
+ title, JvOptionPane.YES_NO_CANCEL_OPTION,
+ JvOptionPane.PLAIN_MESSAGE, null, options,
+ MessageManager.getString("action.ok"));
}
/**
group.textColour2 = groupColour2.get(group);
group.thresholdTextColour = groupThreshold.get(group);
}
+
+ ap.paintAlignment(false, false);
}
/**
*/
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)
{
sg.textColour = col;
}
- ap.paintAlignment(true);
+ ap.paintAlignment(false, false);
}
void colour2Changed(Color col)
sg.textColour2 = col;
}
- ap.paintAlignment(true);
+ ap.paintAlignment(false, false);
}
void thresholdChanged(int value)
sg.thresholdTextColour = value;
}
- ap.paintAlignment(true);
+ ap.paintAlignment(false, false);
}
void setGroupTextColour()