X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=2524abd87dec2655613f3940b6cf23789c5b8506;hb=99c58ee0ae2a848f982552e53feaf6d5cb9925e5;hp=be0440a8ba6ab9d613a059613f059320f30aefcd;hpb=740623d8f15a4edaa7c1c6383c06cc6fc194a3c4;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index be0440a..2524abd 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -1,26 +1,105 @@ -/******************** - * 2004 Jalview Reengineered - * Barton Group - * Dundee University - * - * AM Waterhouse - *******************/ - +/* +* Jalview - A Sequence Alignment Editor and Viewer +* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +*/ package jalview.bin; import jalview.gui.*; import javax.swing.*; +import java.awt.event.*; +import jalview.io.*; + +import org.apache.log4j.*; -public class Jalview +public class Jalview extends JApplet { + public static JApplet applet; + Desktop frame; + public void init() + { + applet = this; + Cache.loadProperties(); + jalview.gui.Preferences.initPreferences(); + + frame = new Desktop(); + frame.setResizable(true); + frame.setVisible(true); + frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + frame.addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent e) + { + applet.stop(); + applet.destroy(); + } + }); + + String file = getParameter("alignment"); + + if(file!=null) + { + jalview.bin.Cache.setProperty("LAST_DIRECTORY", file); + String protocol = "File"; + if (file.indexOf("http:") > -1) + protocol = "URL"; + + String format = jalview.io.IdentifyFile.Identify(file, protocol); + frame.LoadFile(file, protocol, format); + } + } + + public void destroy() + { + if(applet!=null) + applet.stop(); + else + System.exit(0); + frame.setVisible(false); + } + + private static void initLogger() { + Logger l = Logger.getLogger("org.apache.axis"); + if (Cache.getProperty("logs.Axis.Level")==null) { + Cache.setProperty("logs.Axis.Level", Level.INFO.toString()); + } + + l.setLevel(Level.toLevel(Cache.getProperty("logs.Axis.Level"))); + ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),"System.err"); + ap.setName("Axis"); + l.addAppender(ap); + } public static void main(String[] args) { - try{ + + Cache.loadProperties(); + jalview.gui.Preferences.initPreferences(); + try { + initLogger(); + } catch (Exception e) { + System.err.println("Problems initializing the log4j system\n"); + e.printStackTrace(); + } + try{ UIManager.setLookAndFeel( // "javax.swing.plaf.metal.MetalLookAndFeel" // "javax.swing.plaf.multi.MultiLookAndFeel" - UIManager.getCrossPlatformLookAndFeelClassName() + UIManager.getSystemLookAndFeelClassName() + // UIManager.getCrossPlatformLookAndFeelClassName() // "com.sun.java.swing.plaf.gtk.GTKLookAndFeel" // "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" // "com.sun.java.swing.plaf.motif.MotifLookAndFeel" @@ -29,16 +108,20 @@ public class Jalview catch (Exception ex) {} - // JFrame.setDefaultLookAndFeelDecorated(true); Desktop frame = new Desktop(); frame.setResizable(true); frame.setVisible(true); + if(args!=null && args.length>0) { - String file = args[0]; - jalview.bin.Cache.LAST_DIRECTORY = file; + String file=null; + if(args[0].equals("-open")) + file = args[1]; + else + file = args[0]; + String protocol = "File"; if(file.indexOf("http:")>-1) protocol = "URL"; @@ -48,6 +131,26 @@ public class Jalview frame.LoadFile(file, protocol, format); } + if(jalview.gui.Preferences.showStartupFile && + jalview.gui.Preferences.startupFile!=null) + { + String file = jalview.gui.Preferences.startupFile; + String protocol = "File"; + if (file.indexOf("http:") > -1) + protocol = "URL"; + + if(file.endsWith(".jar")) + Jalview2XML.LoadJalviewAlign(file); + else + { + String format = jalview.io.IdentifyFile.Identify(file, protocol); + frame.LoadFile(file, protocol, format); + } + } + + + } } +