package jalview.io; import jalview.gui.*; import jalview.datamodel.*; import jalview.schemes.*; import java.awt.*; import javax.swing.*; import java.io.*; import java.util.*; public class HTMLOutput { public HTMLOutput(AlignViewport av) { SequenceRenderer sr = new SequenceRenderer(av); Color color; JFileChooser chooser = new JFileChooser(jalview.bin.Cache.LAST_DIRECTORY); chooser.setDialogTitle("Save as HTML"); chooser.setToolTipText("Save"); int value = chooser.showSaveDialog(null); if(value == JFileChooser.APPROVE_OPTION) { String choice = chooser.getSelectedFile().getPath(); jalview.bin.Cache.LAST_DIRECTORY = choice; try{ PrintWriter out = new java.io.PrintWriter(new java.io.FileWriter(choice)); out.println(""); out.println(""); out.println(""); out.println("
\n"); out.println("\n"); ////////////// SequenceGroup group; SequenceI seq; ColourSchemeI cs; AlignmentI alignment = av.getAlignment(); String r,g,b; for (int i = 0; i < alignment.getHeight(); i++) { seq = alignment.getSequenceAt(i); group = alignment.findGroup( seq ); out.println(""); for (int res = 0; res < seq.getLength(); res++) { if(group!=null && group.getStartRes()<=res && group.getEndRes()>=res) cs = group.cs; else cs = av.getGlobalColourScheme(); color = sr.getResidueBoxColour(cs, seq, res); if(color.getRGB()<-1) { r = Integer.toHexString(color.getRed()); if(r.length()<2) r = "0"+r; g = Integer.toHexString(color.getGreen()); if(g.length()<2) g = "0"+g; b = Integer.toHexString(color.getBlue()); if(b.length()<2) b = "0"+b; out.println(""); } else out.println(""); } out.println(""); } ////////////// out.println("
"+seq.getName()+"  "+seq.getCharAt(res)+""+seq.getCharAt(res)+"
"); out.println("
\n\n"); out.close(); jalview.util.BrowserLauncher.openURL( choice ); } catch(Exception ex){ex.printStackTrace();} } } }