X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=fae2b7597ec10ca45093e7a9347c8cfe726dd022;hb=5014beeca83ef54a5740388c443d85f532a34db6;hp=9e3382af429652ca477c0fc1d298380fc3faff8a;hpb=208f2c3de82e3327c4f930ab7d04f5b812ccd277;p=jalview.git
diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java
index 9e3382a..fae2b75 100755
--- a/src/jalview/bin/Jalview.java
+++ b/src/jalview/bin/Jalview.java
@@ -20,45 +20,50 @@
*/
package jalview.bin;
-import jalview.analysis.AlignmentSorter;
-import jalview.analysis.scoremodels.ScoreModels;
+import jalview.api.AlignCalcWorkerI;
+import jalview.api.AlignFrameI;
+import jalview.api.AlignViewportI;
+import jalview.api.JalviewApp;
import jalview.api.StructureSelectionManagerProvider;
-import jalview.ext.ensembl.EnsemblInfo;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.HiddenColumns;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
import jalview.ext.so.SequenceOntology;
-import jalview.fts.service.pdb.PDBFTSRestClient;
-import jalview.fts.service.uniprot.UniProtFTSRestClient;
import jalview.gui.AlignFrame;
+import jalview.gui.AlignViewport;
+import jalview.gui.AlignmentPanel;
+import jalview.gui.CalculationChooser;
import jalview.gui.Desktop;
+import jalview.gui.Preferences;
import jalview.gui.PromptUserConfig;
-import jalview.httpserver.HttpServer;
+import jalview.gui.StructureViewer;
import jalview.io.AppletFormatAdapter;
import jalview.io.BioJsHTMLOutput;
import jalview.io.DataSourceType;
import jalview.io.FileFormat;
import jalview.io.FileFormatException;
import jalview.io.FileFormatI;
+import jalview.io.FileFormats;
import jalview.io.FileLoader;
import jalview.io.HtmlSvgOutput;
import jalview.io.IdentifyFile;
import jalview.io.NewickFile;
import jalview.io.gff.SequenceOntologyFactory;
-import jalview.io.gff.SequenceOntologyI;
-import jalview.rest.RestHandler;
+import jalview.javascript.JSFunctionExec;
+import jalview.javascript.MouseOverStructureListener;
+import jalview.renderer.seqfeatures.FeatureRenderer;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeProperty;
-import jalview.structure.StructureImportSettings;
-import jalview.structure.StructureSelectionManager;
-import jalview.urls.IdOrgSettings;
+import jalview.structure.SelectionSource;
+import jalview.structure.VamsasSource;
import jalview.util.MessageManager;
import jalview.util.Platform;
-import jalview.ws.SequenceFetcher;
-import jalview.ws.jws1.Discoverer;
import jalview.ws.jws2.Jws2Discoverer;
-import jalview.ws.jws2.jabaws2.Jws2InstanceFactory;
-import jalview.ws.rest.RestClient;
-import jalview.ws.sifts.SiftsSettings;
-import java.awt.Color;
+import java.applet.AppletContext;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
@@ -76,18 +81,16 @@ import java.security.PermissionCollection;
import java.security.Permissions;
import java.security.Policy;
import java.util.HashMap;
-import java.util.IdentityHashMap;
+import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import groovy.lang.Binding;
import groovy.util.GroovyScriptEngine;
+import netscape.javascript.JSObject;
/**
* Main class for Jalview Application
@@ -104,8 +107,19 @@ import groovy.util.GroovyScriptEngine;
* @author $author$
* @version $Revision$
*/
-public class Jalview
+public class Jalview implements ApplicationSingletonI, JalviewJSApi
{
+
+ public static Jalview getInstance()
+ {
+ return (Jalview) ApplicationSingletonProvider
+ .getInstance(Jalview.class);
+ }
+
+ private Jalview()
+ {
+ }
+
static
{
Platform.getURLCommandArguments();
@@ -118,41 +132,41 @@ public class Jalview
return getInstance().headless;
}
- /**
- * singleton instance of this class in Java only
- */
+ private Desktop desktop;
+
+ private AlignFrame currentAlignFrame;
- private static Jalview instance;
+ public boolean isJavaAppletTag;
- public static Jalview getInstance()
+ public String appletResourcePath;
+
+ JalviewAppLoader appLoader;
+
+ protected JSFunctionExec jsFunctionExec;
+
+ private boolean noCalculation, noMenuBar, noStatus;
+
+ private boolean noAnnotation;
+
+ public boolean getStartCalculations()
{
- Jalview j;
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- /**
- * @j2sNative j = g._jalviewInstance;
- */
- {
- j = instance;
- }
- return j;
+ return !noCalculation;
}
- private static void setInstance(Jalview j)
+ public boolean getAllowMenuBar()
{
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- /**
- * @j2sNative g._jalviewInstance = j;
- */
- {
- instance = j;
- }
+ return !noMenuBar;
}
- private Desktop desktop;
+ public boolean getShowStatus()
+ {
+ return !noStatus;
+ }
- private AlignFrame currentAlignFrame;
+ public boolean getShowAnnotation()
+ {
+ return !noAnnotation;
+ }
public static AlignFrame getCurrentAlignFrame()
{
@@ -259,58 +273,24 @@ public class Jalview
*/
public static void main(String[] args)
{
- // setLogging(); // BH - for event debugging in JavaScript
- setInstance(new Jalview());
+ // Platform.startJavaLogging();
getInstance().doMain(args);
}
- private static void logClass(String name)
- {
- // BH - for event debugging in JavaScript
- ConsoleHandler consoleHandler = new ConsoleHandler();
- consoleHandler.setLevel(Level.ALL);
- Logger logger = Logger.getLogger(name);
- logger.setLevel(Level.ALL);
- logger.addHandler(consoleHandler);
- }
@SuppressWarnings("unused")
- private static void setLogging()
- {
-
- /**
- * @j2sIgnore
- *
- */
- {
- System.out.println("not in js");
- }
-
- // BH - for event debugging in JavaScript (Java mode only)
- if (!Platform.isJS())
- /**
- * Java only
- *
- * @j2sIgnore
- */
- {
- Logger.getLogger("").setLevel(Level.ALL);
- logClass("java.awt.EventDispatchThread");
- logClass("java.awt.EventQueue");
- logClass("java.awt.Component");
- logClass("java.awt.focus.Component");
- logClass("java.awt.focus.DefaultKeyboardFocusManager");
- }
-
- }
-
/**
* @param args
*/
void doMain(String[] args)
{
- if (!Platform.isJS())
+ boolean isJS = Platform.isJS();
+ if (isJS)
+ {
+ Platform.setAppClass(this);
+ }
+ else
{
System.setSecurityManager(null);
}
@@ -325,19 +305,32 @@ public class Jalview
String usrPropsFile = aparser.getValue(ArgsParser.PROPS);
Cache.loadProperties(usrPropsFile);
- if (usrPropsFile != null)
+ if (isJS)
{
+ isJavaAppletTag = aparser.isApplet();
+ if (isJavaAppletTag)
+ {
+ Preferences.setAppletDefaults();
+ Cache.loadProperties(usrPropsFile); // again, because we
+ // might be changing defaults here?
+ }
System.out.println(
- "CMD [-props " + usrPropsFile + "] executed successfully!");
+ "