/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * 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
*
* This file is part of Jalview.
*
package jalview.gui;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
import java.awt.*;
import java.awt.event.*;
FontMetrics fm;
int charOffset;
-
- Hashtable featureColours = new Hashtable();
+
+ Map featureColours = new ConcurrentHashMap();
// A higher level for grouping features of a
// particular type
- Hashtable featureGroups = new Hashtable();
+ Map featureGroups = new ConcurrentHashMap();
// This is actually an Integer held in the hashtable,
// Retrieved using the key feature type
{
String[] renderOrder;
- Hashtable featureGroups;
+ Map featureGroups;
- Hashtable featureColours;
+ Map featureColours;
float transparency;
- Hashtable featureOrder;
+ Map featureOrder;
public FeatureRendererSettings(String[] renderOrder,
Hashtable featureGroups, Hashtable featureColours,
public FeatureRendererSettings(FeatureRenderer fr)
{
renderOrder = null;
- featureGroups = new Hashtable();
- featureColours = new Hashtable();
- featureOrder = new Hashtable();
+ featureGroups = new ConcurrentHashMap();
+ featureColours = new ConcurrentHashMap();
+ featureOrder = new ConcurrentHashMap();
if (fr.renderOrder != null)
{
this.renderOrder = new String[fr.renderOrder.length];
System.arraycopy(fr.renderOrder, 0, renderOrder, 0,
- renderOrder.length);
+ fr.renderOrder.length);
}
if (fr.featureGroups != null)
{
- this.featureGroups = new Hashtable(fr.featureGroups);
+ this.featureGroups = new ConcurrentHashMap(fr.featureGroups);
}
if (fr.featureColours != null)
{
- this.featureColours = new Hashtable(fr.featureColours);
+ this.featureColours = new ConcurrentHashMap(fr.featureColours);
}
- Enumeration en = fr.featureColours.keys();
- while (en.hasMoreElements())
+ Iterator en = fr.featureColours.keySet().iterator();
+ while (en.hasNext())
{
- Object next = en.nextElement();
+ Object next = en.next();
Object val = featureColours.get(next);
if (val instanceof GraduatedColor)
{
this.transparency = fr.transparency;
if (fr.featureOrder != null)
{
- this.featureOrder = new Hashtable(fr.featureOrder);
+ this.featureOrder = new ConcurrentHashMap(fr.featureOrder);
}
}
}
* This is used by the Molecule Viewer and Overview to get the accurate
* colourof the rendered sequence
*/
- public int findFeatureColour(int initialCol, SequenceI seq, int column)
+ public synchronized int findFeatureColour(int initialCol, SequenceI seq, int column)
{
if (!av.showSequenceFeatures)
{
{
minmax = new Hashtable();
}
- for (int i = 0; i < av.alignment.getHeight(); i++)
+ AlignmentI alignment=av.getAlignment();
+ for (int i = 0; i < alignment.getHeight(); i++)
{
- SequenceFeature[] features = av.alignment.getSequenceAt(i)
+ SequenceFeature[] features = alignment.getSequenceAt(i)
.getDatasetSequence().getSequenceFeatures();
if (features == null)
panel = new JPanel();
panel.add(new JLabel("Description: ", JLabel.RIGHT));
- description.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ description.setFont(JvSwingUtils.getTextAreaFont());
description.setLineWrap(true);
panel.add(new JScrollPane(description));
}
- Hashtable featureOrder = null;
+ Map featureOrder = null;
/**
* analogous to colour - store a normalized ordering for all feature types in