/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
+ * Copyright (C) 2015 The Jalview Authors
*
* This file is part of Jalview.
*
@Override
protected void okButton_actionPerformed(ActionEvent e)
{
- applyButton_actionPerformed(null);
-
- try
+ if (isNoSelectionMade())
{
- frame.setClosed(true);
- } catch (Exception ex)
+ 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;
+ }
+
+ /**
* DOCUMENT ME!
*
* @param e
@Override
protected void applyButton_actionPerformed(ActionEvent e)
{
+ 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());
Color[] newColours = new Color[24];
- for (int i = 0; i < 24; i++)
+ int length = upperCaseButtons.size();
+ if (length < 24)
+ {
+ int i = 0;
+ for (JButton btn : upperCaseButtons)
+ {
+ newColours[i] = btn.getBackground();
+ i++;
+ }
+ }
+ else
{
- JButton button = upperCaseButtons.get(i);
- newColours[i] = button.getBackground();
+ for (int i = 0; i < 24; i++)
+ {
+ JButton button = upperCaseButtons.get(i);
+ newColours[i] = button.getBackground();
+ }
}
UserColourScheme ucs = new UserColourScheme(newColours);
if (caseSensitive.isSelected())
{
newColours = new Color[23];
- for (int i = 0; i < 23; i++)
+ length = lowerCaseButtons.size();
+ if (length < 23)
{
- JButton button = lowerCaseButtons.get(i);
- newColours[i] = button.getBackground();
+ 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;
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"));
name = jucs.getColour(i).getName();
if (ResidueProperties.aa3Hash.containsKey(name))
{
- index = ((Integer) ResidueProperties.aa3Hash.get(name))
- .intValue();
+ index = ResidueProperties.aa3Hash.get(name).intValue();
}
else
{
{
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)
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);