X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJmolCommands.java;h=1fb8761c82d4165d297e0fd6a2eb553bb5870ba7;hb=21c97822fa6091216a9e018bf276f8243dcbc750;hp=58b69efbb07f9201dec6f1a685f62afd1ee1fa5b;hpb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;p=jalview.git diff --git a/src/jalview/ext/jmol/JmolCommands.java b/src/jalview/ext/jmol/JmolCommands.java index 58b69ef..1fb8761 100644 --- a/src/jalview/ext/jmol/JmolCommands.java +++ b/src/jalview/ext/jmol/JmolCommands.java @@ -40,7 +40,6 @@ import jalview.structure.StructureCommandI; import jalview.structure.StructureCommandsBase; import jalview.structure.StructureMapping; import jalview.structure.StructureSelectionManager; -import jalview.structure.StructureCommandsI.AtomSpecType; import jalview.util.Comparison; import jalview.util.Platform; @@ -207,7 +206,22 @@ public class JmolCommands extends StructureCommandsBase .append("|"); sb.append(getAtomSpec(refAtoms, AtomSpecType.RESIDUE_ONLY)) .append(getCommandSeparator()).append("cartoons"); + return Arrays.asList(new StructureCommand(sb.toString())); + } + @Override + public List centerViewOn(List residues) + { + StringBuilder sb = new StringBuilder(64); + sb.append("center "); + for (AtomSpecModel ranges : residues) + { + if (sb.length() > 9) + { + sb.append(" or "); + } + sb.append(getAtomSpec(ranges, AtomSpecType.RESIDUE_ONLY)); + } return Arrays.asList(new StructureCommand(sb.toString())); } @@ -227,7 +241,9 @@ public class JmolCommands extends StructureCommandsBase /* * https://chemapps.stolaf.edu/jmol/docs/#writemodel */ - return new StructureCommand("write STATE \"" + filepath + "\""); + StructureCommand sc = new StructureCommand("write STATE \"" + filepath + "\""); + sc.setWaitNeeded(true); + return sc; } @Override @@ -302,7 +318,38 @@ public class JmolCommands extends StructureCommandsBase return new StructureCommand( "load FILES \"" + Platform.escapeBackslashes(file) + "\""); } + @Override + public StructureCommandI restoreSession(String filePath) + { + return new StructureCommand( + "restore STATE \"" + Platform.escapeBackslashes(filePath) + "\""); + } + @Override + public List showHetatms(List toShow) + { + // always clear the current hetero cpk display + + StringBuilder sb = new StringBuilder(); + sb.append("select hetero; cpk off;"); + + if (toShow != null && !toShow.isEmpty()) + { + // select what was requested + sb.append("select "); + boolean or = false; + for (String k : toShow) + { + sb.append(or ? " or " : " "); + sb.append(k); + or = true; + } + // and show as + sb.append("; cpk;"); + } + + return Arrays.asList(new StructureCommand(sb.toString())); + } /** * Obsolete method, only referenced from * jalview.javascript.MouseOverStructureListener