{
try
{
- if (file == null /*
- * && !(System.getProperty("java.awt.headless") != null
- * && System
- * .getProperty("java.awt.headless").equals("true"))
- */)
+ if (file == null)
{
JalviewFileChooser chooser = getHTMLChooser();
String titleSvgData = g1.getSVGDocument();
String alignSvgData = g2.getSVGDocument();
-
- AlignmentExportData exportData = ap.alignFrame.getAlignmentForExport(
+ String jsonData = null;
+ boolean isEmbbedBioJSON = Boolean.valueOf(jalview.bin.Cache
+ .getDefault("EXPORT_EMBBED_BIOJSON", "true"));
+ if (isEmbbedBioJSON)
+ {
+ AlignmentExportData exportData = jalview.gui.AlignFrame
+ .getAlignmentForExport(
JSONFile.FILE_DESC, av);
if (exportData.getSettings().isCancelled())
{
return;
}
- String jsonData = new FormatAdapter(ap, exportData.getSettings())
+ jsonData = new FormatAdapter(ap, exportData.getSettings())
.formatSequences(JSONFile.FILE_DESC, exportData
.getAlignment(), exportData.getOmitHidden(),
- exportData.getStartEndPostions(), ap
- .getAlignViewport().getColumnSelection());
-
- // String jsonData = JSONFile.getJSONData(ap);
+ exportData.getStartEndPostions(),
+ av.getColumnSelection());
+ }
String htmlData = getHtml(titleSvgData, alignSvgData, jsonData);
-
FileOutputStream out = new FileOutputStream(file);
out.write(htmlData.getBytes());
out.flush();
htmlSvg.append("<html>\n");
if (jsonData != null)
{
+ htmlSvg.append("<button onclick=\"javascipt:openJalviewUsingCurrentUrl();\">Launch in Jalview</button>");
htmlSvg.append("<input type=\"hidden\" name=\"seqData\" id=\"seqData\" value='"
+ jsonData + "'>");
}
+ "subCatContainer.scroll(\nfunction() {\n"
+ "subCatContainer.scrollTop($(this).scrollTop());\n});\n");
- htmlSvg.append("</script></hmtl>");
-
+ htmlSvg.append("</script>\n");
+
+ // javascript for launching file in Jalview
+
+ htmlSvg.append("<script language=\"JavaScript\">\n");
+ htmlSvg.append("function openJalviewUsingCurrentUrl(){\n");
+ htmlSvg.append(" var json = JSON.parse(document.getElementById(\"seqData\").value);\n");
+ htmlSvg.append(" var jalviewVersion = json['appSettings'].version;\n");
+ htmlSvg.append(" var url = json['appSettings'].webStartUrl;\n");
+ htmlSvg.append(" var myForm = document.createElement(\"form\");\n\n");
+ htmlSvg.append(" var heap = document.createElement(\"input\");\n");
+ htmlSvg.append(" heap.setAttribute(\"name\", \"jvm-max-heap\") ;\n");
+ htmlSvg.append(" heap.setAttribute(\"value\", \"2G\");\n\n");
+ htmlSvg.append(" var target = document.createElement(\"input\");\n");
+ htmlSvg.append(" target.setAttribute(\"name\", \"open\");\n");
+ htmlSvg.append(" target.setAttribute(\"value\", document.URL);\n\n");
+ htmlSvg.append(" var jvVersion = document.createElement(\"input\");\n");
+ htmlSvg.append(" jvVersion.setAttribute(\"name\", \"version\") ;\n");
+ htmlSvg.append(" jvVersion.setAttribute(\"value\", jalviewVersion);\n\n");
+ htmlSvg.append(" myForm.action = url;\n");
+ htmlSvg.append(" myForm.appendChild(heap);\n");
+ htmlSvg.append(" myForm.appendChild(target);\n");
+ htmlSvg.append(" myForm.appendChild(jvVersion);\n");
+ htmlSvg.append(" document.body.appendChild(myForm);\n");
+ htmlSvg.append(" myForm.submit() ;\n");
+ htmlSvg.append(" document.body.removeChild(myForm);\n");
+ htmlSvg.append("}\n");
+ htmlSvg.append("</script>\n");
+ htmlSvg.append("</hmtl>");
return htmlSvg.toString();
}
}