X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalviewLite.java;h=b99d642ecc6128158bb6e57445f53696f5ed6319;hb=ac233160f70bacfd484e371af9433a7ed226ceb4;hp=35ebecc5d8e2a577f20d32ecb53be0c2ae301cd1;hpb=588042b69abf8e60bcc950b24c283933c7dd422f;p=jalview.git diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index 35ebecc..b99d642 100755 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -30,7 +30,14 @@ import java.awt.*; import java.awt.event.*; -public class JalviewLite extends Applet { +/** + * Jalview Applet. Runs in Java 1.18 runtime + * + * @author $author$ + * @version $Revision$ + */ +public class JalviewLite extends Applet +{ static int lastFrameX = 200; static int lastFrameY = 200; static Applet applet; @@ -38,58 +45,134 @@ public class JalviewLite extends Applet { String file = "No file"; Button launcher = new Button("Start Jalview"); - public void init() { + /** + * init method for Jalview Applet + */ + public void init() + { applet = this; - this.setBackground(Color.white); + + int r = 255; + int g = 255; + int b = 255; + String param = getParameter("RGB"); + + if (param != null) + { + try + { + r = Integer.parseInt(param.substring(0, 2), 16); + g = Integer.parseInt(param.substring(2, 4), 16); + b = Integer.parseInt(param.substring(4, 6), 16); + } + catch (Exception ex) + { + r = 255; + g = 255; + b = 255; + } + } + + this.setBackground(new Color(r, g, b)); file = getParameter("file"); - if (file != null) { + if (file != null) + { add(launcher); file = applet.getCodeBase() + file; - launcher.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(ActionEvent e) { + launcher.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { String format = jalview.io.IdentifyFile.Identify(file, "URL"); LoadFile(file, "URL", format); } }); - } else { + } + else + { file = "NO FILE"; fileFound = false; } } - public static void showURL(String url) { - try { - applet.getAppletContext().showDocument(new java.net.URL(url), - "HELP_WINDOW"); - } catch (Exception ex) { - } + /** + * Displays the given URL in a new browser window + * + * @param url URL to display in browser window. + *
New window will be named "HELP_WINDOW" + */ + public static void showURL(String url) + { + showURL(url, "HELP"); } - public void LoadFile(String file, String protocol, String format) { + public static void showURL(String url, String target) + { + try + { + applet.getAppletContext().showDocument(new java.net.URL(url), + target); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + + /** + * Starts a new LoadingThread for loading an alignment file + * + * @param file file name including full path to file + * @param protocol file or URL or paste + * @param format Fasta, Clustal, PFAM, MSF, PIR, BLC, Jalview + */ + public void LoadFile(String file, String protocol, String format) + { LoadingThread loader = new LoadingThread(file, protocol, format, this); loader.start(); } + /** + * Initialises and displays a new java.awt.Frame + * + * @param frame java.awt.Frame to be displayed + * @param title title of new frame + * @param width width if new frame + * @param height height of new frame + */ public static void addFrame(final Frame frame, String title, int width, - int height) { + int height) + { frame.setLocation(lastFrameX, lastFrameY); lastFrameX += 40; lastFrameY += 40; frame.setSize(width, height); frame.setTitle(title); - frame.addWindowListener(new WindowAdapter() { - public void windowClosing(WindowEvent e) { + frame.addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent e) + { frame.dispose(); } }); frame.setVisible(true); } - public void paint(Graphics g) { - if (!fileFound) { + /** + * This paints the background surrounding the "Launch Jalview button" + *
+ *
If file given in parameter not found, displays error message + * + * @param g graphics context + */ + public void paint(Graphics g) + { + if (!fileFound) + { g.setColor(new Color(200, 200, 200)); g.setColor(Color.cyan); g.fillRect(0, 0, getSize().width, getSize().height); @@ -99,31 +182,37 @@ public class JalviewLite extends Applet { } } - class LoadingThread extends Thread { + class LoadingThread extends Thread + { String file; String protocol; String format; JalviewLite jlapplet; public LoadingThread(String file, String protocol, String format, - JalviewLite applet) { + JalviewLite applet) + { this.file = file; this.protocol = protocol; this.format = format; this.jlapplet = applet; } - public void run() { + public void run() + { SequenceI[] sequences = null; sequences = FormatAdapter.readFile(file, protocol, format); - if ((sequences != null) && (sequences.length > 0)) { + if ((sequences != null) && (sequences.length > 0)) + { AlignFrame af = new AlignFrame(new Alignment(sequences), jlapplet); addFrame(af, file, AlignFrame.NEW_WINDOW_WIDTH, AlignFrame.NEW_WINDOW_HEIGHT); af.statusBar.setText("Successfully loaded file " + file); - } else { + } + else + { fileFound = false; remove(launcher); repaint();