X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fbin%2FJalviewLite.java;h=c9d08d4753b70be44a99cfaf555544bb173f6014;hb=a8f483d04205bb8273ee311c12968b7e86d205fa;hp=b1f16ac15265b82c64624134bf514f84281ed2c2;hpb=87ea83af3e209a8c3a4b19f9530a9c05b4541148;p=jalview.git diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index b1f16ac..c9d08d4 100644 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,6 +14,7 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.bin; @@ -60,6 +61,7 @@ import java.util.Hashtable; import java.util.StringTokenizer; import java.util.Vector; +import netscape.javascript.JSException; import netscape.javascript.JSObject; /** @@ -1478,7 +1480,36 @@ public class JalviewLite extends Applet implements callInitCallback(); } } - + private void initLiveConnect() + { + // try really hard to get the liveConnect thing working + boolean notFailed=false; + int tries=0; + while (!notFailed && tries<10) { + if (tries>0) + { + System.err.println("LiveConnect request thread going to sleep."); + } + try { + Thread.sleep(700*(1+tries)); + } + catch (InterruptedException q) {}; + if (tries++>0) + { + System.err.println("LiveConnect request thread woken up."); + } + try { + JSObject scriptObject = JSObject.getWindow(this); + if (scriptObject.eval("navigator")!=null) + { + notFailed=true; + } + } catch (JSException jsex) + { + System.err.println("Attempt "+tries+" to access LiveConnect javascript failed."); + } + } + } private void callInitCallback() { String initjscallback = getParameter("oninit"); @@ -1497,6 +1528,9 @@ public class JalviewLite extends Applet implements { } ; + // try really hard to let the browser plugin know we want liveconnect + initLiveConnect(); + if (scriptObject != null) { try @@ -1611,15 +1645,15 @@ public class JalviewLite extends Applet implements g.setColor(Color.cyan); g.fillRect(0, 0, getSize().width, getSize().height); g.setColor(Color.red); - g.drawString("Jalview can't open file", 5, 15); + g.drawString(MessageManager.getString("label.jalview_cannot_open_file"), 5, 15); g.drawString("\"" + file + "\"", 5, 30); } else if (embedded) { g.setColor(Color.black); g.setFont(new Font("Arial", Font.BOLD, 24)); - g.drawString("Jalview Applet", 50, getSize().height / 2 - 30); - g.drawString("Loading Data...", 50, getSize().height / 2); + g.drawString(MessageManager.getString("label.jalview_applet"), 50, getSize().height / 2 - 30); + g.drawString(MessageManager.getString("label.loading_data") + "...", 50, getSize().height / 2); } }