X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fpymol%2FPymolCommands.java;h=e4f9f5f8d27911efec4a26791c70e98e05898071;hb=27f24d1f14b8e8704d72797286f7a6e5f60b2119;hp=115efa15f7408d0f4ed070020e36824537acf608;hpb=aa643d0f2f5f506df2771e216af1618549d32050;p=jalview.git diff --git a/src/jalview/ext/pymol/PymolCommands.java b/src/jalview/ext/pymol/PymolCommands.java index 115efa1..e4f9f5f 100644 --- a/src/jalview/ext/pymol/PymolCommands.java +++ b/src/jalview/ext/pymol/PymolCommands.java @@ -3,6 +3,7 @@ package jalview.ext.pymol; import java.awt.Color; import java.util.ArrayList; import java.util.List; +import java.util.Map; import jalview.structure.AtomSpecModel; import jalview.structure.StructureCommand; @@ -209,4 +210,27 @@ public class PymolCommands extends StructureCommandsBase return new StructureCommand("load", file); } + /** + * Overrides the default implementation (which generates concatenated + * commands) to generate one per colour (because the XML-RPC interface to + * PyMOL only accepts one command at a time) + * + * @param colourMap + * @return + */ + @Override + public List colourBySequence( + Map colourMap) + { + List commands = new ArrayList<>(); + for (Object key : colourMap.keySet()) + { + Color colour = (Color) key; + final AtomSpecModel colourData = colourMap.get(colour); + commands.add(getColourCommand(colourData, colour)); + } + + return commands; + } + }