import jalview.io.HtmlSvgOutput;
import jalview.io.IdentifyFile;
import jalview.io.NewickFile;
+import jalview.io.exceptions.ImageOutputException;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ColourSchemeProperty;
import jalview.structure.StructureImportSettings.TFType;
import jalview.structure.StructureSelectionManager;
import jalview.util.FileUtils;
theseArgsWereParsed &= processLinked(id);
processGroovyScript(id);
boolean processLinkedOkay = theseArgsWereParsed;
+
+ // wait around until alignFrame isn't busy
+ AlignFrame af=afMap.get(id);
+ while (af!=null && af.getViewport().isCalcInProgress())
+ {
+ try {
+ Thread.sleep(25);
+ } catch (Exception q) {};
+ }
+
theseArgsWereParsed &= processImages(id);
if (processLinkedOkay)
theseArgsWereParsed &= processOutput(id);
// close ap
if (avm.getBoolean(Arg.CLOSE))
{
- AlignFrame af = afMap.get(id);
+ af = afMap.get(id);
if (af != null)
{
af.closeMenuItem_actionPerformed(true);
Arg.COLOUR, sv, null, "DEFAULT_COLOUR_PROT", "");
if ("" != colour)
{
- af.changeColour_actionPerformed(colour);
+ ColourSchemeI cs = ColourSchemeProperty.getColourScheme(
+ af.getViewport(), af.getViewport().getAlignment(), colour);
+
+ if (cs==null && !"None".equals(colour))
+ {
+ Console.warn("Couldn't parse '"+colour+"' as a colourscheme.");
+ } else {
+ af.changeColour(cs);
+ }
Jalview.testoutput(argParser, Arg.COLOUR, "zappo", colour);
}
structureFilepath, tft, paeFilepath, false,
ssFromStructure, false, viewerType);
- if (headless)
+ if (sv==null)
{
- sv.setAsync(false);
+ Console.error("Failed to import and open structure view.");
+ continue;
}
-
+ try
+ {
+ long tries=1000;
+ while (sv.isBusy() && tries>0)
+ {
+ Thread.sleep(25);
+ if (sv.isBusy())
+ {
+ tries--;
+ Console.debug(
+ "Waiting for viewer for " + structureFilepath);
+ }
+ }
+ if (tries==0 && sv.isBusy())
+ {
+ Console.warn("Gave up waiting for structure viewer to load. Something may have gone wrong.");
+ }
+ } catch (Exception x)
+ {
+ Console.warn("Exception whilst waiting for structure viewer "+structureFilepath,x);
+ }
+ Console.debug("Successfully opened viewer for "+structureFilepath);
String structureImageFilename = ArgParser.getValueFromSubValOrArg(
avm, av, Arg.STRUCTUREIMAGE, subVals);
if (sv != null && structureImageFilename != null)
}
BitmapImageSizing userBis = ImageMaker
.parseScaleWidthHeightStrings(scale, width, height);
+ // TODO MAKE THIS VIEWER INDEPENDENT!!
switch (StructureViewer.getViewerType())
{
case JMOL:
try
{
- Thread.sleep(1000);
+ Thread.sleep(1000); // WHY ???
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
if (sview instanceof AppJmol)
{
AppJmol jmol = (AppJmol) sview;
- jmol.makePDBImage(structureImageFile, imageType, renderer,
+ try {
+ Console.debug("Rendering image to "+structureImageFile);
+ jmol.makePDBImage(structureImageFile, imageType, renderer,
userBis);
+ Console.debug("Finished Rendering image to "+structureImageFile);
+
+ }
+ catch (ImageOutputException ioexc)
+ {
+ Console.warn("Unexpected error whilst exporting image to "+structureImageFile,ioexc);
+ }
+
}
break;
default:
Cache.setProperty("EXPORT_EMBBED_BIOJSON", "false");
Console.info("Writing " + file);
-
+ try {
switch (type)
{
+ "' not known. Ignoring");
break;
}
+ } catch (Exception ioex) {
+ Console.warn("Unexpected error during export",ioex);
+ }
}
}
return true;