import jalview.datamodel.AlignmentI;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.gui.ImageExporter.ImageWriterI;
import jalview.gui.StructureViewer.ViewerType;
import jalview.structure.StructureCommand;
import jalview.structures.models.AAStructureBindingModel;
} catch (Exception ex)
{
Cache.log.error("Couldn't open Jmol viewer!", ex);
+ ex.printStackTrace();
+ return;
}
}
else
new OOMWarning("When trying to add structures to the Jmol viewer!",
oomerror);
Cache.log.debug("File locations are " + filesString);
+ return;
} catch (Exception ex)
{
Cache.log.error("Couldn't add files to Jmol viewer!", ex);
+ ex.printStackTrace();
+ return;
}
}
return files;
}
+ /**
+ * Outputs the Jmol viewer image as an image file, after prompting the user to
+ * choose a file and (for EPS) choice of Text or Lineart character rendering
+ * (unless a preference for this is set)
+ *
+ * @param type
+ */
@Override
- public void eps_actionPerformed()
- {
- makePDBImage(ImageMaker.TYPE.EPS);
- }
-
- @Override
- public void png_actionPerformed()
- {
- makePDBImage(ImageMaker.TYPE.PNG);
- }
-
- void makePDBImage(ImageMaker.TYPE type)
+ public void makePDBImage(ImageMaker.TYPE type)
{
int width = getWidth();
int height = getHeight();
-
- ImageMaker im;
-
- if (type == ImageMaker.TYPE.PNG)
+ ImageWriterI writer = new ImageWriterI()
{
- im = new ImageMaker(this, ImageMaker.TYPE.PNG,
- "Make PNG image from view",
- width, height, null, null, null, 0, false);
- }
- else if (type == ImageMaker.TYPE.EPS)
- {
- im = new ImageMaker(this, ImageMaker.TYPE.EPS,
- "Make EPS file from view",
- width, height, null, this.getTitle(), null, 0, false);
- }
- else
- {
- im = new jalview.util.ImageMaker(this,
- ImageMaker.TYPE.SVG, "Make SVG file from PCA",
- width, height, null, this.getTitle(), null, 0, false);
- }
-
- if (im.getGraphics() != null)
- {
- jmb.jmolViewer.renderScreenImage(im.getGraphics(), width, height);
- im.writeImage();
- }
+ @Override
+ public void exportImage(Graphics g) throws Exception
+ {
+ jmb.jmolViewer.renderScreenImage(g, width, height);
+ }
+ };
+ String view = MessageManager.getString("action.view").toLowerCase();
+ ImageExporter exporter = new ImageExporter(writer,
+ getProgressIndicator(), type, getTitle());
+ exporter.doExport(null, this, width, height, view);
}
@Override
{
try
{
- BrowserLauncher
- .openURL("http://jmol.sourceforge.net/docs/JmolUserGuide/");
+ BrowserLauncher // BH 2018
+ .openURL("http://wiki.jmol.org");//http://jmol.sourceforge.net/docs/JmolUserGuide/");
} catch (Exception ex)
{
System.err.println("Show Jmol help failed with: " + ex.getMessage());