X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FUserDefinedColours.java;h=a2dedd59ad32c9553aefc1780c44f7c75ce34701;hb=cb5d856b1304448cae13a333cbd9017f81520d90;hp=85f35cdf39f5aa6ee477390a48680eddf123c300;hpb=fb1cdebe4a9d93839c81a2d3eb39e8da9cb83d64;p=jalview.git diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 85f35cd..a2dedd5 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -1,59 +1,83 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) + * Copyright (C) 2014 The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; -import java.io.*; -import java.util.*; - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.event.*; - -import jalview.datamodel.*; -import jalview.io.*; -import jalview.jbgui.*; -import jalview.schemes.*; +import jalview.datamodel.SequenceGroup; +import jalview.io.JalviewFileChooser; +import jalview.jbgui.GUserDefinedColours; +import jalview.schemes.ColourSchemeI; +import jalview.schemes.ResidueProperties; +import jalview.schemes.UserColourScheme; +import jalview.util.MessageManager; + +import java.awt.Color; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.MouseEvent; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.util.Hashtable; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.swing.JButton; +import javax.swing.JInternalFrame; +import javax.swing.JOptionPane; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; /** * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ -public class UserDefinedColours - extends GUserDefinedColours implements ChangeListener +public class UserDefinedColours extends GUserDefinedColours implements + ChangeListener { AlignmentPanel ap; + SequenceGroup seqGroup; + Vector selectedButtons; + ColourSchemeI oldColourScheme; + JInternalFrame frame; + AppJmol jmol; + Vector upperCaseButtons; + Vector lowerCaseButtons; /** * Creates a new UserDefinedColours object. - * - * @param ap DOCUMENT ME! - * @param sg DOCUMENT ME! + * + * @param ap + * DOCUMENT ME! + * @param sg + * DOCUMENT ME! */ public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg) { @@ -75,8 +99,8 @@ public class UserDefinedColours if (oldColourScheme instanceof UserColourScheme) { - schemeName.setText( ( (UserColourScheme) oldColourScheme).getName()); - if ( ( (UserColourScheme) oldColourScheme).getLowerCaseColours() != null) + schemeName.setText(((UserColourScheme) oldColourScheme).getName()); + if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null) { caseSensitive.setSelected(true); lcaseColour.setEnabled(true); @@ -106,7 +130,7 @@ public class UserDefinedColours if (oldColourScheme instanceof UserColourScheme) { - schemeName.setText( ( (UserColourScheme) oldColourScheme).getName()); + schemeName.setText(((UserColourScheme) oldColourScheme).getName()); } resetButtonPanel(false); @@ -120,7 +144,7 @@ public class UserDefinedColours colorChooser.getSelectionModel().addChangeListener(this); frame = new JInternalFrame(); frame.setContentPane(this); - Desktop.addInternalFrame(frame, "User Defined Colours", 720, 370, true); + Desktop.addInternalFrame(frame, MessageManager.getString("label.user_defined_colours"), 720, 370, true); if (seqGroup != null) { @@ -152,13 +176,12 @@ public class UserDefinedColours } else { - label = ResidueProperties.aa2Triplet.get - (ResidueProperties.aa[i]).toString(); + label = ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i]) + .toString(); } - button = makeButton(label, - ResidueProperties.aa[i], - upperCaseButtons, i); + button = makeButton(label, ResidueProperties.aa[i], upperCaseButtons, + i); buttonPanel.add(button); } @@ -188,11 +211,8 @@ public class UserDefinedColours { int row = i / cols + 1; int index = (row * cols) + i; - button = makeButton( - ResidueProperties.aa[i].toLowerCase(), - ResidueProperties.aa[i].toLowerCase(), - lowerCaseButtons, - i); + button = makeButton(ResidueProperties.aa[i].toLowerCase(), + ResidueProperties.aa[i].toLowerCase(), lowerCaseButtons, i); buttonPanel.add(button, index); } @@ -211,8 +231,9 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param evt DOCUMENT ME! + * + * @param evt + * DOCUMENT ME! */ public void stateChanged(ChangeEvent evt) { @@ -223,8 +244,8 @@ public class UserDefinedColours { button = (JButton) selectedButtons.elementAt(i); button.setBackground(colorChooser.getColor()); - button.setForeground(button.getBackground().brighter().brighter(). - brighter()); + button.setForeground(button.getBackground().brighter().brighter() + .brighter()); } if (button == lcaseColour) { @@ -232,8 +253,8 @@ public class UserDefinedColours { button = (JButton) lowerCaseButtons.elementAt(i); button.setBackground(colorChooser.getColor()); - button.setForeground(button.getBackground().brighter().brighter(). - brighter()); + button.setForeground(button.getBackground().brighter().brighter() + .brighter()); } } } @@ -241,8 +262,9 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void colourButtonPressed(MouseEvent e) { @@ -258,7 +280,8 @@ public class UserDefinedColours JButton start, end = (JButton) e.getSource(); if (selectedButtons.size() > 0) { - start = (JButton) selectedButtons.elementAt(selectedButtons.size() - 1); + start = (JButton) selectedButtons + .elementAt(selectedButtons.size() - 1); } else { @@ -323,21 +346,21 @@ public class UserDefinedColours if (selectedButtons.size() > 0) { - colorChooser.setColor( ( (JButton) selectedButtons.elementAt(0)). - getBackground()); + colorChooser.setColor(((JButton) selectedButtons.elementAt(0)) + .getBackground()); } } /** * DOCUMENT ME! - * - * @param label DOCUMENT ME! - * @param aa DOCUMENT ME! + * + * @param label + * DOCUMENT ME! + * @param aa + * DOCUMENT ME! */ - JButton makeButton(String label, - String aa, - Vector caseSensitiveButtons, - int buttonIndex) + JButton makeButton(String label, String aa, Vector caseSensitiveButtons, + int buttonIndex) { final JButton button; Color col; @@ -361,13 +384,15 @@ public class UserDefinedColours caseSensitiveButtons.addElement(button); col = Color.white; - - try + if (oldColourScheme != null) { - col = oldColourScheme.findColour(aa.charAt(0), -1); + try + { + col = oldColourScheme.findColour(aa.charAt(0), -1, null); + } catch (Exception ex) + { + } } - catch (Exception ex) - {} } if (caseSensitive.isSelected()) @@ -389,8 +414,9 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void okButton_actionPerformed(ActionEvent e) { @@ -399,16 +425,16 @@ public class UserDefinedColours try { frame.setClosed(true); - } - catch (Exception ex) + } catch (Exception ex) { } } /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void applyButton_actionPerformed(ActionEvent e) { @@ -464,23 +490,22 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void loadbutton_actionPerformed(ActionEvent e) { upperCaseButtons = new Vector(); lowerCaseButtons = new Vector(); - JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. - getProperty( - "LAST_DIRECTORY"), new String[] - {"jc"}, - new String[] - {"Jalview User Colours"}, "Jalview User Colours"); + JalviewFileChooser chooser = new JalviewFileChooser( + 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("Load colour scheme"); - chooser.setToolTipText("Load"); + chooser.setDialogTitle(MessageManager.getString("label.load_colour_scheme")); + chooser.setToolTipText(MessageManager.getString("action.load")); int value = chooser.showOpenDialog(this); @@ -489,11 +514,11 @@ public class UserDefinedColours File choice = chooser.getSelectedFile(); jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent()); String defaultColours = jalview.bin.Cache.getDefault( - "USER_DEFINED_COLOURS", - choice.getPath()); + "USER_DEFINED_COLOURS", choice.getPath()); if (defaultColours.indexOf(choice.getPath()) == -1) { - defaultColours = defaultColours.concat("|").concat(choice.getPath()); + defaultColours = defaultColours.concat("|") + .concat(choice.getPath()); } jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours); @@ -532,7 +557,7 @@ public class UserDefinedColours /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public static UserColourScheme loadDefaultColours() @@ -565,9 +590,10 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param file DOCUMENT ME! - * + * + * @param file + * DOCUMENT ME! + * * @return DOCUMENT ME! */ static UserColourScheme loadColours(String file) @@ -576,16 +602,15 @@ public class UserDefinedColours Color[] newColours = null; try { - InputStreamReader in = new InputStreamReader(new FileInputStream( - file), "UTF-8"); + InputStreamReader in = new InputStreamReader( + new FileInputStream(file), "UTF-8"); - jalview.schemabinding.version2.JalviewUserColours jucs - = new jalview.schemabinding.version2.JalviewUserColours(); + jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours(); - org.exolab.castor.xml.Unmarshaller unmar - = new org.exolab.castor.xml.Unmarshaller(jucs); - jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar. - unmarshal(in); + org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller( + jucs); + jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar + .unmarshal(in); newColours = new Color[24]; @@ -599,7 +624,8 @@ public class UserDefinedColours name = jucs.getColour(i).getName(); if (ResidueProperties.aa3Hash.containsKey(name)) { - index = ( (Integer) ResidueProperties.aa3Hash.get(name)).intValue(); + index = ((Integer) ResidueProperties.aa3Hash.get(name)) + .intValue(); } else { @@ -617,13 +643,13 @@ public class UserDefinedColours lowerCase = new Color[23]; } caseSensitive = true; - lowerCase[index] = new Color(Integer.parseInt( - jucs.getColour(i).getRGB(), 16)); + lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i) + .getRGB(), 16)); } else { - newColours[index] = new Color(Integer.parseInt( - jucs.getColour(i).getRGB(), 16)); + newColours[index] = new Color(Integer.parseInt(jucs.getColour(i) + .getRGB(), 16)); } } @@ -637,17 +663,15 @@ public class UserDefinedColours } } - } - catch (Exception ex) + } catch (Exception ex) { - //Could be Archive Jalview format + // Could be Archive Jalview format try { InputStreamReader in = new InputStreamReader(new FileInputStream( - file), "UTF-8"); + file), "UTF-8"); - jalview.binding.JalviewUserColours jucs - = new jalview.binding.JalviewUserColours(); + jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours(); jucs = (jalview.binding.JalviewUserColours) jucs.unmarshal(in); @@ -655,16 +679,15 @@ public class UserDefinedColours for (int i = 0; i < 24; i++) { - newColours[i] = new Color(Integer.parseInt( - jucs.getColour(i).getRGB(), 16)); + newColours[i] = new Color(Integer.parseInt(jucs.getColour(i) + .getRGB(), 16)); } if (newColours != null) { ucs = new UserColourScheme(newColours); ucs.setName(jucs.getSchemeName()); } - } - catch (Exception ex2) + } catch (Exception ex2) { ex2.printStackTrace(); } @@ -680,27 +703,27 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void savebutton_actionPerformed(ActionEvent e) { if (schemeName.getText().trim().length() < 1) { JOptionPane.showInternalMessageDialog(Desktop.desktop, - "User colour scheme must have a name!", - "No name for colour scheme", - JOptionPane.WARNING_MESSAGE); + MessageManager.getString("label.user_colour_scheme_must_have_name"), + MessageManager.getString("label.no_name_colour_scheme"), JOptionPane.WARNING_MESSAGE); return; } - if (userColourSchemes != null && - userColourSchemes.containsKey(schemeName.getText())) + if (userColourSchemes != null + && userColourSchemes.containsKey(schemeName.getText())) { - int reply = JOptionPane.showInternalConfirmDialog(Desktop.desktop, - "Colour scheme " + schemeName.getText() + " exists." - + "\nContinue saving colour scheme as " + schemeName.getText() + "?", - "Duplicate scheme name", JOptionPane.YES_NO_OPTION); + int reply = JOptionPane.showInternalConfirmDialog( + Desktop.desktop, + MessageManager.formatMessage("label.colour_scheme_exists_overwrite", new String[]{schemeName.getText(),schemeName.getText()}), + MessageManager.getString("label.duplicate_scheme_name"), JOptionPane.YES_NO_OPTION); if (reply != JOptionPane.YES_OPTION) { return; @@ -708,16 +731,14 @@ public class UserDefinedColours 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"); + JalviewFileChooser chooser = new JalviewFileChooser( + 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("Save colour scheme"); - chooser.setToolTipText("Save"); + chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -725,7 +746,7 @@ public class UserDefinedColours { String choice = chooser.getSelectedFile().getPath(); String defaultColours = jalview.bin.Cache.getDefault( - "USER_DEFINED_COLOURS", choice); + "USER_DEFINED_COLOURS", choice); if (defaultColours.indexOf(choice) == -1) { if (defaultColours.length() > 0) @@ -741,30 +762,27 @@ public class UserDefinedColours jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours); - jalview.schemabinding.version2.JalviewUserColours ucs - = new jalview.schemabinding.version2.JalviewUserColours(); + jalview.schemabinding.version2.JalviewUserColours ucs = new jalview.schemabinding.version2.JalviewUserColours(); ucs.setSchemeName(schemeName.getText()); try { PrintWriter out = new PrintWriter(new OutputStreamWriter( - new FileOutputStream(choice), "UTF-8")); + new FileOutputStream(choice), "UTF-8")); for (int i = 0; i < buttonPanel.getComponentCount(); i++) { JButton button = (JButton) buttonPanel.getComponent(i); - jalview.schemabinding.version2.Colour col - = new jalview.schemabinding.version2.Colour(); + jalview.schemabinding.version2.Colour col = new jalview.schemabinding.version2.Colour(); col.setName(button.getText()); - col.setRGB(jalview.util.Format.getHexString( - button.getBackground())); + col.setRGB(jalview.util.Format.getHexString(button + .getBackground())); ucs.addColour(col); } ucs.marshal(out); out.close(); - } - catch (Exception ex) + } catch (Exception ex) { ex.printStackTrace(); } @@ -773,8 +791,9 @@ public class UserDefinedColours /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void cancelButton_actionPerformed(ActionEvent e) { @@ -799,8 +818,7 @@ public class UserDefinedColours try { frame.setClosed(true); - } - catch (Exception ex) + } catch (Exception ex) { } } @@ -840,8 +858,7 @@ public class UserDefinedColours coloursFound.append(file); userColourSchemes.put(ucs.getName(), ucs); } - } - catch (Exception ex) + } catch (Exception ex) { System.out.println("Error loading User ColourFile\n" + ex); } @@ -851,11 +868,12 @@ public class UserDefinedColours if (coloursFound.toString().length() > 1) { jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", - coloursFound.toString()); + coloursFound.toString()); } else { - jalview.bin.Cache.applicationProperties.remove("USER_DEFINED_COLOURS"); + jalview.bin.Cache.applicationProperties + .remove("USER_DEFINED_COLOURS"); } } } @@ -870,7 +888,7 @@ public class UserDefinedColours StringBuffer coloursFound = new StringBuffer(); StringTokenizer st = new StringTokenizer( - jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|"); + jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|"); while (st.hasMoreElements()) { @@ -887,8 +905,7 @@ public class UserDefinedColours coloursFound.append(file); userColourSchemes.put(ucs.getName(), ucs); } - } - catch (Exception ex) + } catch (Exception ex) { System.out.println("Error loading User ColourFile\n" + ex); } @@ -897,11 +914,12 @@ public class UserDefinedColours if (coloursFound.toString().length() > 1) { jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", - coloursFound.toString()); + coloursFound.toString()); } else { - jalview.bin.Cache.applicationProperties.remove("USER_DEFINED_COLOURS"); + jalview.bin.Cache.applicationProperties + .remove("USER_DEFINED_COLOURS"); } }