X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FUserDefinedColours.java;h=463d8cdddc49b1e45d1d55c2c53da8e615e579d8;hb=e529f0aa0690ac7a6f58677fd043135d21e5e148;hp=5314c5c1472335289497db1a2fc759fee4a13042;hpb=89911f9bb8cd7c981cbeefb0445af265fc2b0d0b;p=jalview.git diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 5314c5c..463d8cd 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -29,6 +29,7 @@ import jalview.jbgui.GUserDefinedColours; import jalview.schemabinding.version2.Colour; import jalview.schemabinding.version2.JalviewUserColours; import jalview.schemes.ColourSchemeI; +import jalview.schemes.ColourSchemeLoader; import jalview.schemes.ColourSchemes; import jalview.schemes.ResidueProperties; import jalview.schemes.UserColourScheme; @@ -101,7 +102,7 @@ public class UserDefinedColours extends GUserDefinedColours implements */ public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg) { - super(); + this(); lcaseColour.setEnabled(false); @@ -110,7 +111,7 @@ public class UserDefinedColours extends GUserDefinedColours implements if (seqGroup != null) { - oldColourScheme = seqGroup.cs; + oldColourScheme = seqGroup.getColourScheme(); } else { @@ -142,7 +143,7 @@ public class UserDefinedColours extends GUserDefinedColours implements public UserDefinedColours(JalviewStructureDisplayI viewer, ColourSchemeI oldcs) { - super(); + this(); this.structureViewer = viewer; colorChooser.getSelectionModel().addChangeListener(this); @@ -161,6 +162,12 @@ public class UserDefinedColours extends GUserDefinedColours implements } + public UserDefinedColours() + { + super(); + selectedButtons = new ArrayList(); + } + void showFrame() { colorChooser.getSelectionModel().addChangeListener(this); @@ -256,33 +263,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())); } } } @@ -307,11 +314,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()) @@ -437,7 +439,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); } } @@ -523,7 +526,7 @@ public class UserDefinedColours extends GUserDefinedColours implements if (seqGroup != null) { - seqGroup.cs = ucs; + seqGroup.setColourScheme(ucs); ap.paintAlignment(true); } else if (ap != null) @@ -587,10 +590,10 @@ public class UserDefinedColours extends GUserDefinedColours implements ucs.setLowerCaseColours(newColours); } - if (ap != null) - { - ucs.setThreshold(0, ap.av.isIgnoreGapsConsensus()); - } + // if (ap != null) + // { + // ucs.setThreshold(0, ap.av.isIgnoreGapsConsensus()); + // } return ucs; } @@ -623,7 +626,7 @@ public class UserDefinedColours extends GUserDefinedColours implements File choice = chooser.getSelectedFile(); Cache.setProperty(LAST_DIRECTORY, choice.getParent()); - UserColourScheme ucs = ColourSchemes.loadColourScheme(choice + UserColourScheme ucs = ColourSchemeLoader.loadColourScheme(choice .getAbsolutePath()); Color[] colors = ucs.getColours(); schemeName.setText(ucs.getSchemeName()); @@ -672,7 +675,7 @@ public class UserDefinedColours extends GUserDefinedColours implements { colours = colours.substring(0, colours.indexOf("|")); } - ret = ColourSchemes.loadColourScheme(colours); + ret = ColourSchemeLoader.loadColourScheme(colours); } if (ret == null) @@ -822,7 +825,7 @@ public class UserDefinedColours extends GUserDefinedColours implements { if (seqGroup != null) { - seqGroup.cs = oldColourScheme; + seqGroup.setColourScheme(oldColourScheme); } else { @@ -847,21 +850,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); } }