*/
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;
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
{
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)
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;
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];
*/
public AlignFrame loadAlignment(String text, String title)
{
- Alignment al = null;
+ AlignmentI al = null;
String format = new IdentifyFile().Identify(text,
AppletFormatAdapter.PASTE);
setMouseoverListener(currentAlignFrame, listener);
}
- private Vector<jalview.javascript.JSFunctionExec> javascriptListeners = new Vector<jalview.javascript.JSFunctionExec>();
+ private Vector<JSFunctionExec> javascriptListeners = new Vector<JSFunctionExec>();
/*
* (non-Javadoc)
return;
}
}
- jalview.javascript.MouseOverListener mol = new jalview.javascript.MouseOverListener(
+ MouseOverListener mol = new MouseOverListener(
this, af, listener);
javascriptListeners.addElement(mol);
StructureSelectionManager.getStructureSelectionManager(this)
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);
return;
}
}
- jalview.javascript.MouseOverStructureListener mol = new jalview.javascript.MouseOverStructureListener(
+ MouseOverStructureListener mol = new MouseOverStructureListener(
this, listener, separatorListToArray(modelSet));
javascriptListeners.addElement(mol);
StructureSelectionManager.getStructureSelectionManager(this)
{
while (javascriptListeners.size() > 0)
{
- jalview.javascript.JSFunctionExec mol = javascriptListeners
- .elementAt(0);
+ JSFunctionExec mol = javascriptListeners.elementAt(0);
javascriptListeners.removeElement(mol);
if (mol instanceof SelectionListener)
{
StructureSelectionManager.release(this);
}
- private jalview.javascript.JSFunctionExec jsFunctionExec;
+ private JSFunctionExec jsFunctionExec;
/*
* (non-Javadoc)
public void scrollViewToColumnIn(final AlignFrame alf,
final String leftHandColumn)
{
- java.awt.EventQueue.invokeLater(new Runnable()
+ EventQueue.invokeLater(new Runnable()
{
@Override
String file = "No file";
- String file2 = "No file";
+ String file2 = null;
- Button launcher = new Button(
+ JButton launcher = new JButton(
MessageManager.getString("label.start_jalview"));
/**
* turn on extra applet debugging
*/
debug = TRUE.equalsIgnoreCase(getParameter("debug"));
+
if (debug)
{
file = data.toString();
}
}
- if ("true".equalsIgnoreCase(getParameter("enableSplitFrame")))
+ if (TRUE.equalsIgnoreCase(getParameter("enableSplitFrame")))
{
file2 = getParameter("file2");
}
if (embedded)
{
LoadingThread loader = new LoadingThread(file, file2, this);
- loader.start();
+ /**
+ * @j2sNative
+ *
+ * loader.run();
+ */
+ {
+ loader.start();
+ }
}
else if (file != null)
{
{
notFailed = true;
}
- } catch (JSException jsex)
+ } catch (Exception jsex)
{
System.err.println("Attempt " + tries
+ " to access LiveConnect javascript failed.");
* @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);
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
// 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;
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
{
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
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;
}
/**