X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=8d1255c15d4dbf70bb74fd7c9dbb11cb01e77a83;hb=72b3f05a1157da32ada5aea139139996dddea219;hp=e0dad5878f30f7ade0d395355ceeccace472c120;hpb=648f0d7f48b5865bd43b5edbe71f5e483f0cc455;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index e0dad58..8d1255c 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -25,6 +25,7 @@ import jalview.analysis.Conservation; 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; @@ -90,9 +91,12 @@ import java.awt.event.WindowEvent; 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; @@ -286,7 +290,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { 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) @@ -305,6 +309,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, 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(); @@ -1201,20 +1210,13 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, return annotation; } - private Hashtable getDisplayedFeatureCols() + private Map 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; } @@ -1418,6 +1420,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, /** * TODO: JAL-1104 */ + @Override public void addHistoryItem(CommandI command) { if (command.getSize() > 0) @@ -2240,7 +2243,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, 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; } @@ -2258,7 +2268,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, 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; } @@ -2279,7 +2296,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, 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) {