X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureRenderer.java;h=80f125594b21d481ef2f78c60dbbfe00c1e7866f;hb=0c5e8f8ba81b913c63b60d7670d66aca661ea4f5;hp=57bd59e0b5fa14feec5957e4359a1060c0e3c086;hpb=4cea7a0328724b90a6a7c16ae8c926e0cc12cedd;p=jalview.git diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index 57bd59e..80f1255 100644 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * 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. + * 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 . + * 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; @@ -81,10 +84,10 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { this.ap = ap; this.av = ap.av; - if (ap != null && ap.seqPanel != null && ap.seqPanel.seqCanvas != null - && ap.seqPanel.seqCanvas.fr != null) + if (ap != null && ap.getSeqPanel() != null && ap.getSeqPanel().seqCanvas != null + && ap.getSeqPanel().seqCanvas.fr != null) { - transferSettings(ap.seqPanel.seqCanvas.fr); + transferSettings(ap.getSeqPanel().seqCanvas.fr); } } @@ -169,9 +172,12 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer this.transparency = fr.transparency; this.featureOrder = fr.featureOrder; } + /** * update from another feature renderer - * @param fr settings to copy + * + * @param fr + * settings to copy */ public void transferSettings(FeatureRenderer fr) { @@ -186,20 +192,20 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer // copy over the displayed feature settings if (fr.av != null) { - if (fr.av.featuresDisplayed != null) + if (fr.av.getFeaturesDisplayed() != null) { // update display settings - if (av.featuresDisplayed == null) + if (av.getFeaturesDisplayed() == null) { - av.featuresDisplayed = new Hashtable(fr.av.featuresDisplayed); + av.setFeaturesDisplayed(new Hashtable(fr.av.getFeaturesDisplayed())); } else { - av.featuresDisplayed.clear(); - Enumeration en = fr.av.featuresDisplayed.keys(); + av.getFeaturesDisplayed().clear(); + Enumeration en = fr.av.getFeaturesDisplayed().keys(); while (en.hasMoreElements()) { - av.featuresDisplayed.put(en.nextElement(), Boolean.TRUE); + av.getFeaturesDisplayed().put(en.nextElement(), Boolean.TRUE); } } @@ -343,11 +349,11 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer fm = g.getFontMetrics(); } - if (av.featuresDisplayed == null || renderOrder == null + if (av.getFeaturesDisplayed() == null || renderOrder == null || newFeatureAdded) { findAllFeatures(); - if (av.featuresDisplayed.size() < 1) + if (av.getFeaturesDisplayed().size() < 1) { return; } @@ -382,7 +388,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { type = renderOrder[renderIndex]; - if (type == null || !av.featuresDisplayed.containsKey(type)) + if (type == null || !av.getFeaturesDisplayed().containsKey(type)) { continue; } @@ -676,9 +682,9 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer findingFeatures = true; - if (av.featuresDisplayed == null) + if (av.getFeaturesDisplayed() == null) { - av.featuresDisplayed = new Hashtable(); + av.setFeaturesDisplayed(new Hashtable()); } allfeatures = new Vector(); @@ -711,7 +717,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer int index = 0; while (index < features.length) { - if (!av.featuresDisplayed.containsKey(features[index].getType())) + if (!av.getFeaturesDisplayed().containsKey(features[index].getType())) { if (featureGroups.containsKey(features[index].getType())) @@ -736,7 +742,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { // this is a new feature type on the alignment. Mark it for // display. - av.featuresDisplayed.put(features[index].getType(), + av.getFeaturesDisplayed().put(features[index].getType(), new Integer(getColour(features[index].getType()) .getRGB())); setOrder(features[index].getType(), 0); @@ -934,8 +940,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer return ((GraduatedColor) fc).getMaxColor(); } } - throw new Error("Implementation Error: Unrecognised render object " - + fc.getClass() + " for features of type " + featureType); + throw new Error(MessageManager.formatMessage("error.implementation_error_unrecognised_render_object_for_features_type", new String[]{fc.getClass().toString(),featureType})); } /** @@ -959,8 +964,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer return ((GraduatedColor) fc).findColor(feature); } } - throw new Error("Implementation Error: Unrecognised render object " - + fc.getClass() + " for features of type " + feature.getType()); + throw new Error(MessageManager.formatMessage("error.implementation_error_unrecognised_render_object_for_features_type", new String[]{fc.getClass().toString(),feature.getType()})); } private boolean showFeature(SequenceFeature sequenceFeature) @@ -1020,7 +1024,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer if (fcol instanceof Color) { Color col = JColorChooser.showDialog(Desktop.desktop, - "Select Feature Colour", ((Color) fcol)); + MessageManager.getString("label.select_feature_colour"), ((Color) fcol)); if (col != null) { fcol = col; @@ -1091,7 +1095,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer highlight.addResult(sequences[0], features[index].getBegin(), features[index].getEnd()); - ap.seqPanel.seqCanvas.highlightSearchResults(highlight); + ap.getSeqPanel().seqCanvas.highlightSearchResults(highlight); } Object col = getFeatureStyle(name.getText()); @@ -1117,12 +1121,14 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer tmp = new JPanel(); panel.add(tmp); - tmp.add(new JLabel(MessageManager.getString("label.group")+":", JLabel.RIGHT)); + tmp.add(new JLabel(MessageManager.getString("label.group") + ":", + JLabel.RIGHT)); tmp.add(source); tmp = new JPanel(); panel.add(tmp); - tmp.add(new JLabel(MessageManager.getString("label.colour"), JLabel.RIGHT)); + tmp.add(new JLabel(MessageManager.getString("label.colour"), + JLabel.RIGHT)); tmp.add(colour); colour.setPreferredSize(new Dimension(150, 15)); colour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 9)); @@ -1134,7 +1140,8 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer bigPanel.add(panel, BorderLayout.NORTH); panel = new JPanel(); - panel.add(new JLabel(MessageManager.getString("label.description"), JLabel.RIGHT)); + panel.add(new JLabel(MessageManager.getString("label.description"), + JLabel.RIGHT)); description.setFont(JvSwingUtils.getTextAreaFont()); description.setLineWrap(true); panel.add(new JScrollPane(description)); @@ -1144,9 +1151,11 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer bigPanel.add(panel, BorderLayout.SOUTH); panel = new JPanel(); - panel.add(new JLabel(MessageManager.getString("label.start"), JLabel.RIGHT)); + panel.add(new JLabel(MessageManager.getString("label.start"), + JLabel.RIGHT)); panel.add(start); - panel.add(new JLabel(MessageManager.getString("label.end"), JLabel.RIGHT)); + panel.add(new JLabel(MessageManager.getString("label.end"), + JLabel.RIGHT)); panel.add(end); bigPanel.add(panel, BorderLayout.CENTER); } @@ -1207,12 +1216,12 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { "OK", "Cancel" }; } - String title = newFeatures ? "Create New Sequence Feature(s)" - : "Amend/Delete Features for " + sequences[0].getName(); + String title = newFeatures ? MessageManager.getString("label.create_new_sequence_features") + : MessageManager.formatMessage("label.amend_delete_features", new String[]{sequences[0].getName()}); int reply = JOptionPane.showInternalOptionDialog(Desktop.desktop, bigPanel, title, JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, options, "OK"); + JOptionPane.QUESTION_MESSAGE, null, options, MessageManager.getString("action.ok")); jalview.io.FeaturesFile ffile = new jalview.io.FeaturesFile(); @@ -1244,7 +1253,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer sf.description = lastDescriptionAdded; setColour(sf.type, fcol); - av.featuresDisplayed.put(sf.type, getColour(sf.type)); + av.getFeaturesDisplayed().put(sf.type, getColour(sf.type)); try { @@ -1272,9 +1281,9 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer ffile.parseDescriptionHTML(features[i], false); } - if (av.featuresDisplayed == null) + if (av.getFeaturesDisplayed() == null) { - av.featuresDisplayed = new Hashtable(); + av.setFeaturesDisplayed(new Hashtable()); } if (lastFeatureGroupAdded != null) @@ -1284,7 +1293,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer featureGroups.put(lastFeatureGroupAdded, new Boolean(true)); } setColour(lastFeatureAdded, fcol); - av.featuresDisplayed.put(lastFeatureAdded, + av.getFeaturesDisplayed().put(lastFeatureAdded, getColour(lastFeatureAdded)); findAllFeatures(false); @@ -1377,13 +1386,13 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer { if (visibleNew) { - if (av.featuresDisplayed != null) + if (av.getFeaturesDisplayed() != null) { - av.featuresDisplayed.clear(); + av.getFeaturesDisplayed().clear(); } else { - av.featuresDisplayed = new Hashtable(); + av.setFeaturesDisplayed(new Hashtable()); } } if (data == null) @@ -1405,7 +1414,7 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer // interface object if (((Boolean) data[i][2]).booleanValue()) { - av.featuresDisplayed.put(type, new Integer(getColour(type) + av.getFeaturesDisplayed().put(type, new Integer(getColour(type) .getRGB())); }