From 4aa1854d47a868ddd53a7eb8538ed11f2e36d9ff Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 17 Apr 2007 10:42:39 +0000 Subject: [PATCH] Applet remembers PDBEntries, can launch multiple structures from popupmenu --- src/jalview/appletgui/APopupMenu.java | 35 +++++++++++++++++++++++++++------ src/jalview/appletgui/AppletJmol.java | 3 ++- src/jalview/bin/JalviewLite.java | 16 ++++++++++----- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index ede493e..b281fcd 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -28,6 +28,7 @@ import jalview.analysis.*; import jalview.commands.*; import jalview.datamodel.*; import jalview.schemes.*; +import jalview.io.AppletFormatAdapter; public class APopupMenu extends java.awt.PopupMenu implements ActionListener, ItemListener @@ -474,12 +475,34 @@ public class APopupMenu void addPDB() { - CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame); - cap.setText("Paste your PDB file here."); - cap.setPDBImport(seq); - Frame frame = new Frame(); - frame.add(cap); - jalview.bin.JalviewLite.addFrame(frame, "Paste PDB file ", 400, 300); + if(seq.getPDBId()!=null) + { + PDBEntry entry = (PDBEntry)seq.getPDBId().firstElement(); + + if ( ap.av.applet.jmolAvailable ) + new jalview.appletgui.AppletJmol(entry, + new Sequence[] + {seq}, + ap, + AppletFormatAdapter.URL); + else + + new MCview.AppletPDBViewer(entry, + new Sequence[] + {seq}, + ap, + AppletFormatAdapter.URL); + + } + else + { + CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame); + cap.setText("Paste your PDB file here."); + cap.setPDBImport(seq); + Frame frame = new Frame(); + frame.add(cap); + jalview.bin.JalviewLite.addFrame(frame, "Paste PDB file ", 400, 300); + } } private void jbInit() diff --git a/src/jalview/appletgui/AppletJmol.java b/src/jalview/appletgui/AppletJmol.java index 2c2a979..b7e67c1 100644 --- a/src/jalview/appletgui/AppletJmol.java +++ b/src/jalview/appletgui/AppletJmol.java @@ -93,7 +93,8 @@ public class AppletJmol extends Frame { StructureSelectionManager.getStructureSelectionManager() .setMapping(seq, pdbentry.getFile(), protocol); - return; + //PROMPT USER HERE TO ADD TO NEW OR EXISTING VIEW? + //FOR NOW, LETS JUST OPEN A NEW WINDOW } renderPanel = new RenderPanel(); diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index e01e0e8..ffdbb1b 100755 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -150,7 +150,7 @@ public class JalviewLite boolean embedded = false; - public boolean jmolAvailable = true; + public boolean jmolAvailable = false; /** * init method for Jalview Applet @@ -159,13 +159,15 @@ public class JalviewLite { try { - Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter"); - - jmolAvailable = true; + if (!System.getProperty("java.version").startsWith("1.1")) + { + Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter"); + jmolAvailable = true; + } } catch (java.lang.ClassNotFoundException ex) { - System.out.println("Jmol not found - Using MCview for structures"); + System.out.println("Jmol not available - Using MCview for structures"); } int r = 255; @@ -549,6 +551,10 @@ public class JalviewLite pdb.setFile(param); + for(int i=0; i