import jalview.api.AlignViewControllerGuiI;
import jalview.api.AlignViewControllerI;
import jalview.api.SequenceStructureBinding;
+import jalview.api.FeatureRenderer;
import jalview.bin.JalviewLite;
import jalview.commands.CommandI;
import jalview.commands.EditCommand;
import java.io.IOException;
import java.net.URL;
import java.net.URLEncoder;
+import java.util.Arrays;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.StringTokenizer;
import java.util.Vector;
{
featuresFile = new jalview.io.FeaturesFile(file, type)
.parse(viewport.getAlignment(), alignPanel.seqPanel.seqCanvas
- .getFeatureRenderer().featureColours, featureLinks,
+ .getFeatureRenderer().getFeatureColours(), featureLinks,
true, viewport.applet.getDefaultParameter(
"relaxedidmatch", false));
} catch (Exception ex)
viewport.setShowSequenceFeatures(true);
sequenceFeatures.setState(true);
}
+ if (alignPanel.seqPanel.seqCanvas.fr != null)
+ {
+ // update the min/max ranges where necessary
+ alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);
+ }
if (viewport.featureSettings != null)
{
viewport.featureSettings.refreshTable();
return annotation;
}
- private Hashtable getDisplayedFeatureCols()
+ private Map<String,Object> getDisplayedFeatureCols()
{
if (alignPanel.getFeatureRenderer() != null
- && viewport.featuresDisplayed != null)
+ && viewport.getFeaturesDisplayed()!= null)
{
- FeatureRenderer fr = alignPanel.getFeatureRenderer();
- Hashtable fcols = new Hashtable();
- Enumeration en = viewport.featuresDisplayed.keys();
- while (en.hasMoreElements())
- {
- Object col = en.nextElement();
- fcols.put(col, fr.featureColours.get(col));
- }
- return fcols;
+ return alignPanel.getFeatureRenderer().getDisplayedFeatureCols();
+
}
return null;
}
/**
* TODO: JAL-1104
*/
+ @Override
public void addHistoryItem(CommandI command)
{
if (command.getSize() > 0)
if (alignPanel != null
&& (fr = alignPanel.getFeatureRenderer()) != null)
{
- return fr.getGroups();
+ List gps = fr.getFeatureGroups();
+ int p=0;
+ String[] _gps = new String[gps.size()];
+ for (Object gp:gps)
+ {
+ _gps[p++] = gp.toString();
+ }
+ return _gps;
}
return null;
}
if (alignPanel != null
&& (fr = alignPanel.getFeatureRenderer()) != null)
{
- return fr.getGroups(visible);
+ List gps = fr.getGroups(visible);
+ int p=0;
+ String[] _gps = new String[gps.size()];
+ for (Object gp:gps)
+ {
+ _gps[p++] = gp.toString();
+ }
+ return _gps;
}
return null;
}
if (alignPanel != null
&& (fr = alignPanel.getFeatureRenderer()) != null)
{
- fr.setGroupState(groups, state);
+
+ fr.setGroupVisibility((List)Arrays.asList(groups), state);
alignPanel.seqPanel.seqCanvas.repaint();
if (alignPanel.overviewPanel != null)
{