X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalviewLite.java;h=3ec841a21f254ce8f235948115ed4a28c3b79053;hb=eb40ed78f348375efcd74b5a683bdc2380b3bd61;hp=ebadb842e345892514157503561ef3f542bfb49f;hpb=882adcab8cf6f9c72a7e946223f817878c5ee444;p=jalview.git diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index ebadb84..3ec841a 100644 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -20,36 +20,17 @@ */ package jalview.bin; -import java.applet.Applet; -import java.awt.Button; -import java.awt.Color; -import java.awt.Component; -import java.awt.EventQueue; -import java.awt.Font; -import java.awt.Frame; -import java.awt.Graphics; -import java.awt.event.ActionEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.Hashtable; -import java.util.List; -import java.util.StringTokenizer; -import java.util.Vector; - -import netscape.javascript.JSException; -import netscape.javascript.JSObject; - +import jalview.analysis.SequenceIdMatcher; import jalview.api.StructureSelectionManagerProvider; import jalview.appletgui.AlignFrame; import jalview.appletgui.AlignViewport; import jalview.appletgui.EmbmenuFrame; import jalview.appletgui.FeatureSettings; import jalview.appletgui.SplitFrame; +//import jalview.appletgui.AlignViewport; +//import jalview.appletgui.EmbmenuFrame; +//import jalview.appletgui.FeatureSettings; +//import jalview.appletgui.SplitFrame; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentOrder; @@ -58,27 +39,63 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.io.AlignFile; import jalview.io.AnnotationFile; import jalview.io.AppletFormatAdapter; import jalview.io.FileParse; import jalview.io.IdentifyFile; -import jalview.io.JPredFile; import jalview.io.JnetAnnotationMaker; +//import jalview.io.JPredFile; +//import jalview.io.JnetAnnotationMaker; import jalview.io.NewickFile; import jalview.javascript.JSFunctionExec; import jalview.javascript.JalviewLiteJsApi; import jalview.javascript.JsCallBack; +import jalview.javascript.JsSelectionSender; +import jalview.javascript.MouseOverListener; +import jalview.javascript.MouseOverStructureListener; +import jalview.jsdev.GenericFileAdapter; +//import jalview.javascript.MouseOverListener; +//import jalview.javascript.MouseOverStructureListener; +import jalview.schemes.ColourSchemeProperty; +import jalview.schemes.UserColourScheme; import jalview.structure.SelectionListener; import jalview.structure.StructureSelectionManager; import jalview.util.MessageManager; +import java.awt.Color; +import java.awt.Component; +import java.awt.EventQueue; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.event.ActionEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.Hashtable; +import java.util.List; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.swing.JApplet; +import javax.swing.JButton; +import javax.swing.JFrame; + +import netscape.javascript.JSObject; + +//import netscape.javascript.JSObject; + /** * Jalview Applet. Runs in Java 1.18 runtime * * @author $author$ * @version $Revision: 1.92 $ */ -public class JalviewLite extends Applet implements +public class JalviewLite extends JApplet implements StructureSelectionManagerProvider, JalviewLiteJsApi { @@ -178,7 +195,7 @@ public class JalviewLite extends Applet implements final String position, final String alignedPosition) { // TODO: could try to highlight in all alignments if alf==null - jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher( + SequenceIdMatcher matcher = new SequenceIdMatcher( alf.viewport.getAlignment().getSequencesArray()); final SequenceI sq = matcher.findIdMatch(sequenceId); if (sq != null) @@ -284,7 +301,7 @@ public class JalviewLite extends Applet implements final SequenceGroup sel = new SequenceGroup(); final ColumnSelection csel = new ColumnSelection(); AlignmentI al = alf.viewport.getAlignment(); - jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher( + SequenceIdMatcher matcher = new SequenceIdMatcher( alf.viewport.getAlignment().getSequencesArray()); int start = 0, end = al.getWidth(), alw = al.getWidth(); boolean seqsfound = true; @@ -598,7 +615,7 @@ public class JalviewLite extends Applet implements SequenceI[] sqs = null; if (ids != null && ids.length > 0) { - jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher( + SequenceIdMatcher matcher = new SequenceIdMatcher( alf.viewport.getAlignment().getSequencesArray()); int s = 0; sqs = new SequenceI[ids.length]; @@ -847,7 +864,7 @@ public class JalviewLite extends Applet implements */ public AlignFrame loadAlignment(String text, String title) { - Alignment al = null; + AlignmentI al = null; String format = new IdentifyFile().Identify(text, AppletFormatAdapter.PASTE); @@ -876,7 +893,7 @@ public class JalviewLite extends Applet implements setMouseoverListener(currentAlignFrame, listener); } - private Vector javascriptListeners = new Vector(); + private Vector javascriptListeners = new Vector(); /* * (non-Javadoc) @@ -897,7 +914,7 @@ public class JalviewLite extends Applet implements return; } } - jalview.javascript.MouseOverListener mol = new jalview.javascript.MouseOverListener( + MouseOverListener mol = new MouseOverListener( this, af, listener); javascriptListeners.addElement(mol); StructureSelectionManager.getStructureSelectionManager(this) @@ -941,8 +958,7 @@ public class JalviewLite extends Applet implements return; } } - jalview.javascript.JsSelectionSender mol = new jalview.javascript.JsSelectionSender( - this, af, listener); + JsSelectionSender mol = new JsSelectionSender(this, af, listener); javascriptListeners.addElement(mol); StructureSelectionManager.getStructureSelectionManager(this) .addSelectionListener(mol); @@ -974,7 +990,7 @@ public class JalviewLite extends Applet implements return; } } - jalview.javascript.MouseOverStructureListener mol = new jalview.javascript.MouseOverStructureListener( + MouseOverStructureListener mol = new MouseOverStructureListener( this, listener, separatorListToArray(modelSet)); javascriptListeners.addElement(mol); StructureSelectionManager.getStructureSelectionManager(this) @@ -1071,8 +1087,7 @@ public class JalviewLite extends Applet implements { while (javascriptListeners.size() > 0) { - jalview.javascript.JSFunctionExec mol = javascriptListeners - .elementAt(0); + JSFunctionExec mol = javascriptListeners.elementAt(0); javascriptListeners.removeElement(mol); if (mol instanceof SelectionListener) { @@ -1098,7 +1113,7 @@ public class JalviewLite extends Applet implements StructureSelectionManager.release(this); } - private jalview.javascript.JSFunctionExec jsFunctionExec; + private JSFunctionExec jsFunctionExec; /* * (non-Javadoc) @@ -1209,7 +1224,7 @@ public class JalviewLite extends Applet implements public void scrollViewToColumnIn(final AlignFrame alf, final String leftHandColumn) { - java.awt.EventQueue.invokeLater(new Runnable() + EventQueue.invokeLater(new Runnable() { @Override @@ -1244,7 +1259,7 @@ public class JalviewLite extends Applet implements String file2 = null; - Button launcher = new Button( + JButton launcher = new JButton( MessageManager.getString("label.start_jalview")); /** @@ -1374,6 +1389,7 @@ public class JalviewLite extends Applet implements * turn on extra applet debugging */ debug = TRUE.equalsIgnoreCase(getParameter("debug")); + if (debug) { @@ -1468,7 +1484,14 @@ public class JalviewLite extends Applet implements if (embedded) { LoadingThread loader = new LoadingThread(file, file2, this); - loader.start(); + /** + * @j2sNative + * + * loader.run(); + */ + { + loader.start(); + } } else if (file != null) { @@ -1533,7 +1556,7 @@ public class JalviewLite extends Applet implements { notFailed = true; } - } catch (JSException jsex) + } catch (Exception jsex) { System.err.println("Attempt " + tries + " to access LiveConnect javascript failed."); @@ -1597,7 +1620,7 @@ public class JalviewLite extends Applet implements * @param height * height of new frame */ - public static void addFrame(final Frame frame, String title, int width, + public static void addFrame(final JFrame frame, String title, int width, int height) { frame.setLocation(lastFrameX, lastFrameY); @@ -1818,23 +1841,29 @@ public class JalviewLite extends Applet implements applet = _applet; } - public void run() - { - LoadJmolThread jmolchecker = new LoadJmolThread(); - jmolchecker.start(); - while (jmolchecker.notFinished()) - { - // wait around until the Jmol check is complete. - try - { - Thread.sleep(2); - } catch (Exception e) - { - } - } - startLoading(); - // applet.callInitCallback(); - } + public void run() { + /** + * + * @j2sNative + * + * + * System.out.println("BYPASSING JMOL LOADING FOR NOW. THIS WILL BE DONE ANOTHER WAY") + * + */ + { + LoadJmolThread jmolchecker = new LoadJmolThread(); + jmolchecker.start(); + while (jmolchecker.notFinished()) { + // wait around until the Jmol check is complete. + try { + Thread.sleep(2); + } catch (Exception e) { + } + } + } + startLoading(); + // applet.callInitCallback(); + } /** * Load the alignment and any related files as specified by applet @@ -1996,8 +2025,8 @@ public class JalviewLite extends Applet implements // alignPdbStructures is true) Vector pdbs = new Vector(); // create a lazy matcher if we're asked to - jalview.analysis.SequenceIdMatcher matcher = (applet - .getDefaultParameter("relaxedidmatch", false)) ? new jalview.analysis.SequenceIdMatcher( + SequenceIdMatcher matcher = (applet.getDefaultParameter( + "relaxedidmatch", false)) ? new SequenceIdMatcher( alignFrame.getAlignViewport().getAlignment() .getSequencesArray()) : null; @@ -2158,7 +2187,7 @@ public class JalviewLite extends Applet implements try { param = setProtocolState(param); - JPredFile predictions = new JPredFile(param, protocol); + AlignFile predictions = GenericFileAdapter.getFile("JPredFile", param, protocol); JnetAnnotationMaker.add_annotation(predictions, alignFrame.viewport.getAlignment(), 0, false); // false == do not add sequence profile from concise output @@ -2853,13 +2882,12 @@ public class JalviewLite extends Applet implements { return defcolour; } - Color col = jalview.schemes.ColourSchemeProperty - .getAWTColorFromName(colprop); + Color col = ColourSchemeProperty.getAWTColorFromName(colprop); if (col == null) { try { - col = new jalview.schemes.UserColourScheme(colprop).findColour('A'); + col = new UserColourScheme(colprop).findColour('A'); } catch (Exception ex) { System.err.println("Couldn't parse '" + colprop @@ -2895,17 +2923,19 @@ public class JalviewLite extends Applet implements private String resolveUrlForLocalOrAbsolute(String url, URL localref) { String codebase = localref.toString(); - if (url.indexOf("/") == 0) - { - url = codebase.substring(0, codebase.length() - - localref.getFile().length()) - + url; - } - else - { - url = localref + url; - } - return url; + // BH removing file name and query + int pt = codebase.indexOf("?"); + if (pt < 0) + pt = codebase.length(); + codebase = codebase.substring(0, pt); + codebase = codebase.substring(0, codebase.lastIndexOf("/") + 1); + // codebase is now http://...xxx/ + if (url.indexOf("/") == 0 && !localref.getProtocol().equals("file")) + { // http:// https:// we do NOT allow going to the root file system directory! + pt = codebase.indexOf("/", 8); + return codebase.substring(0, pt) + url; + } + return codebase + url; } /**