X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAppletJmol.java;h=f64014b7fb09d21e5c1a9818219fb9aec03fe669;hb=990fd5f012601024aaeeb09e2901791d242636c4;hp=29cc07009ab4b8067d575fe69661b59b4acc6930;hpb=04fe5ab63df768c865eb40c9300b52239fbe8746;p=jalview.git diff --git a/src/jalview/appletgui/AppletJmol.java b/src/jalview/appletgui/AppletJmol.java index 29cc070..f64014b 100644 --- a/src/jalview/appletgui/AppletJmol.java +++ b/src/jalview/appletgui/AppletJmol.java @@ -169,9 +169,7 @@ public class AppletJmol extends Frame viewer.openFile(pdbentry.getFile()); } - this.setBounds(400, 400, 400, 400); - - this.setVisible(true); + jalview.bin.JalviewLite.addFrame(this, "Jmol", 400,400); } public void loadInline(String string) @@ -356,6 +354,7 @@ public class AppletJmol extends Frame { if (evt.getSource() == seqColour) { + lastCommand = null; colourBySequence = seqColour.getState(); colourBySequence(ap); } @@ -443,14 +442,11 @@ public class AppletJmol extends Frame resetLastRes.append(":" + chain); } - eval.append(";color gold;wireframe 100"); + eval.append(";wireframe 100;"+eval.toString()+".CA;"); - Color col = new Color(viewer.getAtomArgb(atomIndex)); + resetLastRes.append(";wireframe 0;"+resetLastRes.toString()+".CA;spacefill 0;"); - resetLastRes.append(";color[" - + col.getRed() + "," - + col.getGreen() + "," - + col.getBlue() + "];wireframe 0"); + eval.append("spacefill 200;select none"); viewer.evalStringQuiet(eval.toString()); @@ -472,21 +468,24 @@ public class AppletJmol extends Frame return new Color(viewer.getAtomArgb(atomIndex)); } - FeatureRenderer fr; - public void colourBySequence(AlignmentPanel ap) + String lastCommand; + FeatureRenderer fr=null; + public void colourBySequence(AlignmentPanel sourceap) { - if(!colourBySequence) - return; + this.ap = sourceap; + if (!colourBySequence) + return; StructureMapping[] mapping = ssm.getMapping(pdbentry.getFile()); if (mapping.length < 1) return; - SequenceRenderer sr = ap.seqPanel.seqCanvas.getSequenceRenderer(); + SequenceRenderer sr = new SequenceRenderer(ap.av); boolean showFeatures = false; + if (ap.av.showSequenceFeatures) { showFeatures = true; @@ -506,14 +505,14 @@ public class AppletJmol extends Frame for (int m = 0; m < mapping.length; m++) { if (mapping[m].getSequence() == sequence[s] - && ap.av.alignment.findIndex(sequence[s])>-1) + && ap.av.alignment.findIndex(sequence[s]) > -1) { for (int r = 0; r < sequence[s].getLength(); r++) { int pos = mapping[m].getPDBResNum( sequence[s].findPosition(r)); - if (pos < 1 || pos==lastPos) + if (pos < 1 || pos == lastPos) continue; lastPos = pos; @@ -523,7 +522,7 @@ public class AppletJmol extends Frame if (showFeatures) col = fr.findFeatureColour(col, sequence[s], r); - if (command.toString().endsWith(":" + mapping[m].getChain()+ + if (command.toString().endsWith(":" + mapping[m].getChain() + ";color[" + col.getRed() + "," + col.getGreen() + "," @@ -541,19 +540,23 @@ public class AppletJmol extends Frame } command.append(";color[" - + col.getRed() + "," - + col.getGreen() + "," - + col.getBlue() + "]"); - + + col.getRed() + "," + + col.getGreen() + "," + + col.getBlue() + "]"); } break; } } } - viewer.evalStringQuiet(command.toString()); + if (lastCommand == null || !lastCommand.equals(command.toString())) + { + viewer.evalStringQuiet(command.toString()); + } + lastCommand = command.toString(); } + StringBuffer condenseCommand(String command, int pos) { @@ -725,7 +728,7 @@ public class AppletJmol extends Frame picked+=strInfo.substring(strInfo.indexOf(":")+1, strInfo.indexOf(".")); - picked+=".C"; + picked+=".CA"; if (!atomsPicked.contains(picked)) {