From: jprocter Date: Wed, 22 Sep 2010 01:03:16 +0000 (+0000) Subject: jmol update X-Git-Tag: Release_2_6~15 X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=1b5f1de68f3f4dadcd4eecc80a5db17441eb7ab6 jmol update --- diff --git a/.classpath b/.classpath index 6815d73..a20ed44 100644 --- a/.classpath +++ b/.classpath @@ -19,7 +19,7 @@ - - + + diff --git a/appletlib/JmolApplet-12.1.11_dev.jar b/appletlib/JmolApplet-12.1.13.jar similarity index 65% rename from appletlib/JmolApplet-12.1.11_dev.jar rename to appletlib/JmolApplet-12.1.13.jar index f1a51a2..27c7bd6 100644 Binary files a/appletlib/JmolApplet-12.1.11_dev.jar and b/appletlib/JmolApplet-12.1.13.jar differ diff --git a/build.xml b/build.xml index 818415d..fdefa36 100755 --- a/build.xml +++ b/build.xml @@ -99,7 +99,7 @@ - + diff --git a/lib/Jmol-12.1.11_dev.jar b/lib/Jmol-12.1.13.jar similarity index 82% rename from lib/Jmol-12.1.11_dev.jar rename to lib/Jmol-12.1.13.jar index 3aac3ca..a017034 100644 Binary files a/lib/Jmol-12.1.11_dev.jar and b/lib/Jmol-12.1.13.jar differ diff --git a/src/jalview/appletgui/AppletJmolBinding.java b/src/jalview/appletgui/AppletJmolBinding.java index 12a09d5..472ac75 100644 --- a/src/jalview/appletgui/AppletJmolBinding.java +++ b/src/jalview/appletgui/AppletJmolBinding.java @@ -129,5 +129,17 @@ class AppletJmolBinding extends jalview.ext.jmol.JalviewJmolBinding { return new AppletConsole(viewer2, consolePanel); } + @Override + protected void releaseUIResources() + { + appletJmolBinding = null; + if (console!=null) { + try { + console.setVisible(false); + } catch (Error e) {} catch (Exception x) {}; + console=null; + } + + } } \ No newline at end of file diff --git a/src/jalview/appletgui/ExtJmol.java b/src/jalview/appletgui/ExtJmol.java index 63c1ca7..4bee84c 100644 --- a/src/jalview/appletgui/ExtJmol.java +++ b/src/jalview/appletgui/ExtJmol.java @@ -138,4 +138,17 @@ public class ExtJmol extends JalviewJmolBinding // TODO Auto-generated method stub return null; } + @Override + protected void releaseUIResources() + { + ap = null; + if (console!=null) { + try { + console.setVisible(false); + } catch (Error e) {} catch (Exception x) {}; + console=null; + } + + } + } diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index 916579f..3bac3bc 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -43,7 +43,8 @@ import org.jmol.viewer.Viewer; import jalview.schemes.*; public abstract class JalviewJmolBinding implements StructureListener, - JmolStatusListener, SequenceStructureBinding, JmolSelectionListener, ComponentListener + JmolStatusListener, SequenceStructureBinding, + JmolSelectionListener, ComponentListener { /** @@ -79,6 +80,7 @@ public abstract class JalviewJmolBinding implements StructureListener, Vector atomsPicked = new Vector(); public Vector chainNames; + Hashtable chainFile; /** @@ -212,8 +214,8 @@ public abstract class JalviewJmolBinding implements StructureListener, mlength = lbl.indexOf(":", p); } while (p < mlength && mlength < (lbl.length() - 2)); // TODO: lookup each pdb id and recover proper model number for it. - cmd.append(":" + lbl.substring(mlength + 1) + " /" - + (1+getModelNum((String)chainFile.get(lbl))) + " or "); + cmd.append(":" + lbl.substring(mlength + 1) + " /" + + (1 + getModelNum((String) chainFile.get(lbl))) + " or "); } if (cmd.length() > 0) cmd.setLength(cmd.length() - 4); @@ -231,8 +233,15 @@ public abstract class JalviewJmolBinding implements StructureListener, viewer.setJmolStatusListener(null); lastCommand = null; viewer = null; + releaseUIResources(); } + /** + * called by JalviewJmolbinding after closeViewer is called - release any + * resources and references so they can be garbage collected. + */ + protected abstract void releaseUIResources(); + public void colourByChain() { colourBySequence = false; @@ -545,7 +554,7 @@ public abstract class JalviewJmolBinding implements StructureListener, Color col = sr.getResidueBoxColour(sequence[pdbfnum][s], r); - if (showFeatures && fr!=null) + if (showFeatures && fr != null) col = fr.findFeatureColour(col, sequence[pdbfnum][s], r); String newSelcom = (mapping[m].getChain() != " " ? ":" + mapping[m].getChain() : "") @@ -1319,7 +1328,7 @@ public abstract class JalviewJmolBinding implements StructureListener, * @param codeBase * @param commandOptions */ - public void allocateViewer(Component renderPanel, boolean jmolfileio, + public void allocateViewer(Container renderPanel, boolean jmolfileio, String htmlName, URL documentBase, URL codeBase, String commandOptions) { @@ -1342,7 +1351,7 @@ public abstract class JalviewJmolBinding implements StructureListener, * @param buttonsToShow * - buttons to show on the console, in ordr */ - public void allocateViewer(Component renderPanel, boolean jmolfileio, + public void allocateViewer(Container renderPanel, boolean jmolfileio, String htmlName, URL documentBase, URL codeBase, String commandOptions, final Container consolePanel, String buttonsToShow) @@ -1356,9 +1365,8 @@ public abstract class JalviewJmolBinding implements StructureListener, if (consolePanel != null) { consolePanel.addComponentListener(this); - - } + } } @@ -1367,30 +1375,29 @@ public abstract class JalviewJmolBinding implements StructureListener, protected org.jmol.api.JmolAppConsoleInterface console = null; -@Override -public void componentResized(ComponentEvent e) -{ - -} + @Override + public void componentResized(ComponentEvent e) + { -@Override -public void componentMoved(ComponentEvent e) -{ - -} + } -@Override -public void componentShown(ComponentEvent e) -{ - showConsole(true); -} + @Override + public void componentMoved(ComponentEvent e) + { -@Override -public void componentHidden(ComponentEvent e) -{ - showConsole(false); -} + } + @Override + public void componentShown(ComponentEvent e) + { + showConsole(true); + } + + @Override + public void componentHidden(ComponentEvent e) + { + showConsole(false); + } public void setLoadingFromArchive(boolean loadingFromArchive) { diff --git a/src/jalview/gui/AppJmol.java b/src/jalview/gui/AppJmol.java index 1b0a5cb..7af2cfb 100644 --- a/src/jalview/gui/AppJmol.java +++ b/src/jalview/gui/AppJmol.java @@ -414,6 +414,7 @@ public class AppJmol extends GStructureViewer implements Runnable, void closeViewer() { jmb.closeViewer(); + // TODO: check for memory leaks where instance isn't finalised because jmb // holds a reference to the window jmb = null; diff --git a/src/jalview/gui/AppJmolBinding.java b/src/jalview/gui/AppJmolBinding.java index 5280900..f051838 100644 --- a/src/jalview/gui/AppJmolBinding.java +++ b/src/jalview/gui/AppJmolBinding.java @@ -174,4 +174,17 @@ public class AppJmolBinding extends jalview.ext.jmol.JalviewJmolBinding { return new AppConsole(viewer, consolePanel, buttonsToShow); } + + @Override + protected void releaseUIResources() + { + appJmolWindow = null; + if (console!=null) { + try { + console.setVisible(false); + } catch (Error e) {} catch (Exception x) {}; + console=null; + } + + } } \ No newline at end of file diff --git a/utils/InstallAnywhere/Jalview.iap_xml b/utils/InstallAnywhere/Jalview.iap_xml index 88416aa..8563793 100755 --- a/utils/InstallAnywhere/Jalview.iap_xml +++ b/utils/InstallAnywhere/Jalview.iap_xml @@ -964,7 +964,7 @@ and any path to a file to save to the file]]> - + false @@ -982,7 +982,7 @@ and any path to a file to save to the file]]> true - + 5898736