if applet, load properties in void init
[jalview.git] / src / jalview / bin / Jalview.java
1 /********************\r
2  * 2004 Jalview Reengineered\r
3  * Barton Group\r
4  * Dundee University\r
5  *\r
6  * AM Waterhouse\r
7  *******************/\r
8 \r
9 \r
10 package jalview.bin;\r
11 \r
12 import jalview.gui.*;\r
13 import javax.swing.*;\r
14 import java.awt.event.*;\r
15 import jalview.io.*;\r
16 \r
17 import org.apache.log4j.*;\r
18 \r
19 public class Jalview extends JApplet\r
20 {\r
21   public static JApplet applet;\r
22   Desktop frame;\r
23   public void init()\r
24   {\r
25     applet = this;\r
26     Cache.loadProperties();\r
27 \r
28     frame = new Desktop();\r
29     frame.setResizable(true);\r
30     frame.setVisible(true);\r
31     frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);\r
32     frame.addWindowListener(new WindowAdapter()\r
33     {\r
34       public void windowClosing(WindowEvent e)\r
35       {\r
36           applet.stop();\r
37           applet.destroy();\r
38       }\r
39     });\r
40 \r
41     String file = getParameter("alignment");\r
42 \r
43     if(file!=null)\r
44     {\r
45       jalview.bin.Cache.setProperty("LAST_DIRECTORY", file);\r
46       String protocol = "File";\r
47       if (file.indexOf("http:") > -1)\r
48         protocol = "URL";\r
49 \r
50       String format = jalview.io.IdentifyFile.Identify(file, protocol);\r
51 \r
52       frame.LoadFile(file, protocol, format);\r
53     }\r
54   }\r
55 \r
56   public void destroy()\r
57   {\r
58     if(applet!=null)\r
59       applet.stop();\r
60     else\r
61       System.exit(0);\r
62     frame.setVisible(false);\r
63   }\r
64 \r
65   private static void initLogger() {\r
66     Logger l = Logger.getLogger("org.apache.axis");\r
67     if (Cache.getProperty("logs.Axis.Level")==null) {\r
68       Cache.setProperty("logs.Axis.Level", Level.INFO.toString());\r
69     }\r
70 \r
71     l.setLevel(Level.toLevel(Cache.getProperty("logs.Axis.Level")));\r
72     ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),"System.err");\r
73     ap.setName("Axis");\r
74     l.addAppender(ap);\r
75   }\r
76    public static void main(String[] args) {\r
77 \r
78     Cache.loadProperties();\r
79     try {\r
80       initLogger();\r
81     } catch (Exception e) {\r
82       System.out.println("Problems initializing the log4j system\n"+e);\r
83     }\r
84     try{\r
85        UIManager.setLookAndFeel(\r
86    //   "javax.swing.plaf.metal.MetalLookAndFeel"\r
87     //  "javax.swing.plaf.multi.MultiLookAndFeel"\r
88          UIManager.getSystemLookAndFeelClassName()\r
89      //    UIManager.getCrossPlatformLookAndFeelClassName()\r
90        // "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"\r
91        //   "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"\r
92        //  "com.sun.java.swing.plaf.motif.MotifLookAndFeel"\r
93      );\r
94      }\r
95      catch (Exception ex)\r
96      {}\r
97 \r
98      Desktop frame = new Desktop();\r
99      frame.setResizable(true);\r
100      frame.setVisible(true);\r
101 \r
102 \r
103 \r
104      if(args!=null && args.length>0)\r
105      {\r
106          String file=null;\r
107          if(args[0].equals("-open"))\r
108            file = args[1];\r
109          else\r
110            file = args[0];\r
111 \r
112          String protocol = "File";\r
113          if(file.indexOf("http:")>-1)\r
114            protocol = "URL";\r
115 \r
116          String format = jalview.io.IdentifyFile.Identify(file, protocol);\r
117 \r
118          frame.LoadFile(file, protocol, format);\r
119      }\r
120 \r
121    }\r
122 \r
123 }\r
124 \r