X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FUserDefinedColours.java;h=83a8d24a151545e5f13290b493b36229f933f13c;hb=7c9fbca0e2d9be5fd05e1c89f24f81d558bf6849;hp=8af0af0b249b8211084ffda4ceb2aa1931123e30;hpb=8e1be43e250107a4d86898bd554cf03098fa5957;p=jalview.git diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 8af0af0..83a8d24 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -64,7 +64,8 @@ import javax.swing.event.ChangeListener; public class UserDefinedColours extends GUserDefinedColours implements ChangeListener { - private static final Font VERDANA_BOLD_10 = new Font("Verdana", Font.BOLD, 10); + private static final Font VERDANA_BOLD_10 = new Font("Verdana", + Font.BOLD, 10); public static final String USER_DEFINED_COLOURS = "USER_DEFINED_COLOURS"; @@ -100,7 +101,7 @@ public class UserDefinedColours extends GUserDefinedColours implements */ public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg) { - super(); + this(); lcaseColour.setEnabled(false); @@ -141,7 +142,7 @@ public class UserDefinedColours extends GUserDefinedColours implements public UserDefinedColours(JalviewStructureDisplayI viewer, ColourSchemeI oldcs) { - super(); + this(); this.structureViewer = viewer; colorChooser.getSelectionModel().addChangeListener(this); @@ -150,7 +151,8 @@ public class UserDefinedColours extends GUserDefinedColours implements if (oldColourScheme instanceof UserColourScheme) { - schemeName.setText(((UserColourScheme) oldColourScheme).getSchemeName()); + schemeName.setText(((UserColourScheme) oldColourScheme) + .getSchemeName()); } resetButtonPanel(false); @@ -159,6 +161,12 @@ public class UserDefinedColours extends GUserDefinedColours implements } + public UserDefinedColours() + { + super(); + selectedButtons = new ArrayList(); + } + void showFrame() { colorChooser.getSelectionModel().addChangeListener(this); @@ -254,33 +262,33 @@ public class UserDefinedColours extends GUserDefinedColours implements } /** - * DOCUMENT ME! + * ChangeListener handler for when a colour is picked in the colour chooser. + * The action is to apply the colour to all selected buttons as their + * background colour. Foreground colour (text) is set to a lighter shade in + * order to highlight which buttons are selected. If 'Lower Case Colour' is + * active, then the colour is applied to all lower case buttons (as well as + * the Lower Case Colour button itself). * * @param evt - * DOCUMENT ME! */ @Override public void stateChanged(ChangeEvent evt) { - if (selectedButtons != null) + JButton button = null; + final Color newColour = colorChooser.getColor(); + for (int i = 0; i < selectedButtons.size(); i++) { - JButton button = null; - final Color newColour = colorChooser.getColor(); - for (int i = 0; i < selectedButtons.size(); i++) + button = selectedButtons.get(i); + button.setBackground(newColour); + button.setForeground(ColorUtils.brighterThan(newColour)); + } + if (lcaseColour.isSelected()) + { + for (int i = 0; i < lowerCaseButtons.size(); i++) { - button = selectedButtons.get(i); + button = lowerCaseButtons.get(i); button.setBackground(newColour); - button.setForeground(ColorUtils.brighterThan(newColour)); - } - if (button == lcaseColour) - { - for (int i = 0; i < lowerCaseButtons.size(); i++) - { - button = lowerCaseButtons.get(i); - button.setBackground(newColour); - button.setForeground(ColorUtils.brighterThan(button - .getBackground())); - } + button.setForeground(ColorUtils.brighterThan(button.getBackground())); } } } @@ -305,11 +313,6 @@ public class UserDefinedColours extends GUserDefinedColours implements */ public void colourButtonPressed(MouseEvent e) { - if (selectedButtons == null) - { - selectedButtons = new ArrayList(); - } - JButton pressed = (JButton) e.getSource(); if (e.isShiftDown()) @@ -403,8 +406,8 @@ public class UserDefinedColours extends GUserDefinedColours implements * @param buttonIndex * the button's position in the list */ - JButton makeButton(String label, String residue, - List buttons, int buttonIndex) + JButton makeButton(String label, String residue, List buttons, + int buttonIndex) { final JButton button; Color col; @@ -435,7 +438,8 @@ public class UserDefinedColours extends GUserDefinedColours implements col = Color.white; if (oldColourScheme != null && oldColourScheme.isSimple()) { - col = oldColourScheme.findColour(residue.charAt(0)); + col = oldColourScheme.findColour(residue.charAt(0), 0, null, null, + 0f); } } @@ -605,8 +609,8 @@ public class UserDefinedColours extends GUserDefinedColours implements upperCaseButtons = new ArrayList(); lowerCaseButtons = new ArrayList(); - JalviewFileChooser chooser = new JalviewFileChooser( - Cache.getProperty(LAST_DIRECTORY), "jc", "Jalview User Colours"); + JalviewFileChooser chooser = new JalviewFileChooser("jc", + "Jalview User Colours"); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle(MessageManager .getString("label.load_colour_scheme")); @@ -621,7 +625,8 @@ public class UserDefinedColours extends GUserDefinedColours implements File choice = chooser.getSelectedFile(); Cache.setProperty(LAST_DIRECTORY, choice.getParent()); - UserColourScheme ucs = ColourSchemes.loadColourScheme(choice.getAbsolutePath()); + UserColourScheme ucs = ColourSchemes.loadColourScheme(choice + .getAbsolutePath()); Color[] colors = ucs.getColours(); schemeName.setText(ucs.getSchemeName()); @@ -713,8 +718,7 @@ public class UserDefinedColours extends GUserDefinedColours implements } ColourSchemes.getInstance().removeColourScheme(name); } - JalviewFileChooser chooser = new JalviewFileChooser( - Cache.getProperty(LAST_DIRECTORY), "jc", + JalviewFileChooser chooser = new JalviewFileChooser("jc", "Jalview User Colours"); JalviewFileView fileView = new JalviewFileView(); @@ -845,21 +849,8 @@ public class UserDefinedColours extends GUserDefinedColours implements @Override public void caseSensitive_actionPerformed(ActionEvent e) { - resetButtonPanel(caseSensitive.isSelected()); - lcaseColour.setEnabled(caseSensitive.isSelected()); - } - - @Override - public void lcaseColour_actionPerformed(ActionEvent e) - { - if (selectedButtons == null) - { - selectedButtons = new ArrayList(); - } - else - { - selectedButtons.clear(); - } - selectedButtons.add(lcaseColour); + boolean selected = caseSensitive.isSelected(); + resetButtonPanel(selected); + lcaseColour.setEnabled(selected); } }