/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.gui;
import jalview.datamodel.*;
import jalview.schemes.GraduatedColor;
+import jalview.util.MessageManager;
/**
* DOCUMENT ME!
FontMetrics fm;
int charOffset;
-
+
Map featureColours = new ConcurrentHashMap();
// A higher level for grouping features of a
{
this.ap = ap;
this.av = ap.av;
+ if (ap != null && ap.seqPanel != null && ap.seqPanel.seqCanvas != null
+ && ap.seqPanel.seqCanvas.fr != null)
+ {
+ transferSettings(ap.seqPanel.seqCanvas.fr);
+ }
}
public class FeatureRendererSettings implements Cloneable
{
this.renderOrder = new String[fr.renderOrder.length];
System.arraycopy(fr.renderOrder, 0, renderOrder, 0,
- renderOrder.length);
+ fr.renderOrder.length);
}
if (fr.featureGroups != null)
{
this.transparency = fr.transparency;
this.featureOrder = fr.featureOrder;
}
-
+ /**
+ * update from another feature renderer
+ * @param fr settings to copy
+ */
public void transferSettings(FeatureRenderer fr)
{
FeatureRendererSettings frs = new FeatureRendererSettings(fr);
this.featureColours = frs.featureColours;
this.transparency = frs.transparency;
this.featureOrder = frs.featureOrder;
- if (av != null && av!=fr.av)
+ if (av != null && av != fr.av)
{
// copy over the displayed feature settings
if (fr.av != null)
}
}
}
- }
+ }
}
BufferedImage offscreenImage;
* This is used by the Molecule Viewer and Overview to get the accurate
* colourof the rendered sequence
*/
- public synchronized int findFeatureColour(int initialCol, SequenceI seq, int column)
+ public synchronized int findFeatureColour(int initialCol, SequenceI seq,
+ int column)
{
if (!av.showSequenceFeatures)
{
}
currentColour = null;
- // TODO: non-threadsafe - each rendering thread needs its own instance of the feature renderer - or this should be synchronized.
+ // TODO: non-threadsafe - each rendering thread needs its own instance of
+ // the feature renderer - or this should be synchronized.
offscreenRender = true;
if (offscreenImage != null)
{
minmax = new Hashtable();
}
- AlignmentI alignment=av.getAlignment();
+ AlignmentI alignment = av.getAlignment();
for (int i = 0; i < alignment.getHeight(); i++)
{
SequenceFeature[] features = alignment.getSequenceAt(i)
{
panel = new JPanel(new GridLayout(4, 1));
tmp = new JPanel();
- tmp.add(new JLabel("Select Feature: "));
+ tmp.add(new JLabel(MessageManager.getString("label.select_feature")));
overlaps = new JComboBox();
for (int i = 0; i < features.length; i++)
{
tmp = new JPanel();
panel.add(tmp);
- tmp.add(new JLabel("Name: ", JLabel.RIGHT));
+ tmp.add(new JLabel(MessageManager.getString("label.name"), JLabel.RIGHT));
tmp.add(name);
tmp = new JPanel();
panel.add(tmp);
- tmp.add(new JLabel("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("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));
bigPanel.add(panel, BorderLayout.NORTH);
panel = new JPanel();
- panel.add(new JLabel("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));
bigPanel.add(panel, BorderLayout.SOUTH);
panel = new JPanel();
- panel.add(new JLabel(" Start:", JLabel.RIGHT));
+ panel.add(new JLabel(MessageManager.getString("label.start"), JLabel.RIGHT));
panel.add(start);
- panel.add(new JLabel(" End:", JLabel.RIGHT));
+ panel.add(new JLabel(MessageManager.getString("label.end"), JLabel.RIGHT));
panel.add(end);
bigPanel.add(panel, BorderLayout.CENTER);
}