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(""+seq.getDisplayId()+" | ");
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(""+seq.getCharAt(res)+" | ");
}
else
out.println(""+seq.getCharAt(res)+" | ");
}
out.println(" ");
}
//////////////
out.println(" ");
out.println(" |
\n\n");
out.close();
jalview.util.BrowserLauncher.openURL( "file:///"+choice );
}
catch(Exception ex){ex.printStackTrace();}
}
}
}