Jalview Imported Sources
[jalview.git] / src / jalview / io / HTMLOutput.java
1 package jalview.io;\r
2 \r
3 import jalview.gui.*;\r
4 import jalview.datamodel.*;\r
5 import jalview.schemes.*;\r
6 import java.awt.*;\r
7 import javax.swing.*;\r
8 import java.io.*;\r
9 import java.util.*;\r
10 \r
11 \r
12 public class HTMLOutput\r
13 {\r
14   SequenceRenderer sr = new SequenceRenderer();\r
15 \r
16   public HTMLOutput(AlignmentI alignment, ColourSchemeI cs)\r
17   {\r
18     Color color;\r
19     JFileChooser chooser = new JFileChooser(jalview.bin.Cache.LAST_DIRECTORY);\r
20     chooser.setDialogTitle("Save as HTML");\r
21     chooser.setToolTipText("Save");\r
22     int value = chooser.showSaveDialog(null);\r
23     if(value == JFileChooser.APPROVE_OPTION)\r
24     {\r
25       String choice =  chooser.getSelectedFile().getPath();\r
26       jalview.bin.Cache.LAST_DIRECTORY = choice;\r
27       try{\r
28         PrintWriter out = new java.io.PrintWriter(new java.io.FileWriter(choice));\r
29         out.println("<HTML>");\r
30         out.println("<style type=\"text/css\">");\r
31         out.println("<!--");\r
32         out.println("td {font-family: \"Courier New\", Courier, mono; font-size: medium;}");\r
33         out.println("-->");\r
34         out.println("</style>");\r
35         out.println("<BODY>");\r
36         out.println("<table border=\"1\"><tr><td>\n");\r
37         out.println("<table border=\"0\"  cellpadding=\"0\" cellspacing=\"0\">\n");\r
38 \r
39 \r
40         //////////////\r
41         for (int i = 0; i < alignment.getHeight(); i++)\r
42         {\r
43           SequenceI seq = alignment.getSequenceAt(i);\r
44           out.println("<tr><td>"+seq.getName()+"&nbsp;&nbsp;</td>");\r
45           for (int res = 0; res < seq.getLength(); res++)\r
46           {\r
47             color = sr.getResidueBoxColour(cs, seq, res);\r
48             Integer.toHexString(color.getRed());\r
49 \r
50             out.println("<td bgcolor=\"#"\r
51                         + Integer.toHexString(color.getRed())\r
52                         + Integer.toHexString(color.getGreen())\r
53                         + Integer.toHexString(color.getBlue())\r
54                         +"\"><center>"+seq.getCharAt(res)+"</center></td>");\r
55           }\r
56 \r
57           out.println("</tr>");\r
58         }\r
59         //////////////\r
60         out.println("</td></tr></table>");\r
61         out.println("</table>\n</body>\n</html>");\r
62 \r
63         out.close();\r
64       }\r
65       catch(Exception ex){}\r
66     }\r
67   }\r
68 \r
69 \r
70 }\r