X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=2365fd2dbd810127285fc4f7ddf1a424bd1fbcba;hb=353cb52722490edcba2c13b18836b6d37c5455de;hp=2d02e7958513194675c6aef3cb7a39d0e72c95a2;hpb=a9b20fb4f95f8a4435b09d513959443c266c719c;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 2d02e79..2365fd2 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -59,7 +59,6 @@ import java.util.Hashtable; import java.util.List; import java.util.Locale; import java.util.Vector; -import java.util.concurrent.Callable; import javax.swing.ButtonGroup; import javax.swing.JCheckBoxMenuItem; @@ -151,6 +150,7 @@ import jalview.util.HttpUtils; import jalview.util.ImageMaker.TYPE; import jalview.util.MessageManager; import jalview.util.Platform; +import jalview.util.imagemaker.BitmapImageSizing; import jalview.viewmodel.AlignmentViewport; import jalview.viewmodel.ViewportRanges; import jalview.ws.DBRefFetcher; @@ -981,7 +981,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void setProgressBar(String message, long id) { - if (!Platform.isHeadless()) + if (!Platform.isHeadless() && progressBar != null) progressBar.setProgressBar(message, id); } @@ -989,7 +989,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void registerHandler(final long id, final IProgressIndicatorHandler handler) { - progressBar.registerHandler(id, handler); + if (progressBar != null) + progressBar.registerHandler(id, handler); } /** @@ -999,7 +1000,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public boolean operationInProgress() { - return progressBar.operationInProgress(); + return progressBar == null ? false : progressBar.operationInProgress(); } /** @@ -1277,11 +1278,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } AlignExportSettingsI options = new AlignExportSettingsAdapter(false); - Callable cancelAction = () -> { + Runnable cancelAction = () -> { lastSaveSuccessful = false; - return null; }; - Callable outputAction = () -> { + Runnable outputAction = () -> { // todo defer this to inside formatSequences (or later) AlignmentExportData exportData = viewport.getAlignExportData(options); String output = new FormatAdapter(alignPanel, options) @@ -1359,7 +1359,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, AlignFrame.this.getViewport().setSavedUpToDate(true); } } - return null; }; /* @@ -1377,7 +1376,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { try { - outputAction.call(); + outputAction.run(); } catch (Exception e) { // TODO Auto-generated catch block @@ -1399,7 +1398,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, FileFormatI fileFormat = FileFormats.getInstance() .forName(fileFormatName); AlignExportSettingsI options = new AlignExportSettingsAdapter(false); - Callable outputAction = () -> { + Runnable outputAction = () -> { // todo defer this to inside formatSequences (or later) AlignmentExportData exportData = viewport.getAlignExportData(options); CutAndPasteTransfer cap = new CutAndPasteTransfer(); @@ -1421,7 +1420,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, oom); cap.dispose(); } - return null; }; /* @@ -1438,7 +1436,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { try { - outputAction.call(); + outputAction.run(); } catch (Exception e) { e.printStackTrace(); @@ -1480,7 +1478,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void createPNG(File f) { - alignPanel.makeAlignmentImage(TYPE.PNG, f); + createPNG(f, null, BitmapImageSizing.nullBitmapImageSizing()); + } + + public void createPNG(File f, String renderer, BitmapImageSizing userBis) + { + alignPanel.makeAlignmentImage(TYPE.PNG, f, renderer, userBis); } /** @@ -1492,7 +1495,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void createEPS(File f) { - alignPanel.makeAlignmentImage(TYPE.EPS, f); + createEPS(f, null); + } + + public void createEPS(File f, String renderer) + { + alignPanel.makeAlignmentImage(TYPE.EPS, f, renderer); } /** @@ -1504,7 +1512,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void createSVG(File f) { - alignPanel.makeAlignmentImage(TYPE.SVG, f); + createSVG(f, null); + } + + public void createSVG(File f, String renderer) + { + alignPanel.makeAlignmentImage(TYPE.SVG, f, renderer); } @Override @@ -1554,7 +1567,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, String choice = chooser.getSelectedFile().getPath(); Cache.setProperty("LAST_DIRECTORY", choice); loadJalviewDataFile(chooser.getSelectedFile(), null, null, null); - return null; }); chooser.showOpenDialog(this); @@ -2476,7 +2488,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return; } - Callable okAction = () -> { + Runnable okAction = () -> { SequenceI[] cut = sg.getSequences() .toArray(new SequenceI[sg.getSize()]); @@ -2500,7 +2512,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { } } - return null; }; /* @@ -2526,7 +2537,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { try { - okAction.call(); + okAction.run(); } catch (Exception e) { e.printStackTrace(); @@ -3440,8 +3451,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void overviewMenuItem_actionPerformed(ActionEvent e) { - boolean showHiddenRegions = Cache.getDefault(Preferences.SHOW_OV_HIDDEN_AT_START, - false); + boolean showHiddenRegions = Cache + .getDefault(Preferences.SHOW_OV_HIDDEN_AT_START, false); openOverviewPanel(showHiddenRegions); } @@ -3452,14 +3463,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return alignPanel.overviewPanel; } JInternalFrame frame = new JInternalFrame(); - final OverviewPanel overview = new OverviewPanel(alignPanel, frame, showHidden); + final OverviewPanel overview = new OverviewPanel(alignPanel, frame, + showHidden); frame.setContentPane(overview); - Desktop.addInternalFrame(frame, "", true, frame.getWidth(), frame.getHeight(), - true, true); + Desktop.addInternalFrame(frame, "", true, frame.getWidth(), + frame.getHeight(), true, true); frame.setFrameIcon(null); frame.pack(); frame.setLayer(JLayeredPane.PALETTE_LAYER); - final AlignmentPanel thePanel = this.alignPanel; + final AlignmentPanel thePanel = this.alignPanel; frame.addInternalFrameListener( new javax.swing.event.InternalFrameAdapter() { @@ -3478,7 +3490,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignPanel.setOverviewPanel(overview); alignPanel.setOverviewTitle(this); - + return overview; } @@ -4117,7 +4129,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .getString("label.possible_problem_with_tree_file"), JvOptionPane.WARNING_MESSAGE); } - return null; }); chooser.showOpenDialog(this); } @@ -4133,7 +4144,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return showNewickTree(nf, treeTitle, null, w, h, x, y); } - /** * Add a treeviewer for the tree extracted from a Newick file object to the * current alignment view @@ -4184,13 +4194,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return tp; } - public void showContactMapTree(AlignmentAnnotation aa, PAEContactMatrix cm) { int x = 4, y = 5; int w = 400, h = 500; - + try { NewickFile fin = new NewickFile( @@ -4198,42 +4207,43 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, String title = "PAE Matrix Tree for " + cm.getReferenceSeq().getDisplayId(false); - showColumnWiseTree(fin, aa, title, w,h, x,y); + showColumnWiseTree(fin, aa, title, w, h, x, y); } catch (Throwable xx) { Console.error("Unexpected exception showing tree for contact matrix", xx); } } - public TreePanel showColumnWiseTree(NewickFile nf, AlignmentAnnotation aa, String treeTitle, - int w, int h, int x, int y) + + public TreePanel showColumnWiseTree(NewickFile nf, AlignmentAnnotation aa, + String treeTitle, int w, int h, int x, int y) { - try + try + { + nf.parse(); + if (nf.getTree() == null) { - nf.parse(); - if (nf.getTree() == null) - { - return null; - } - TreePanel tp = new TreePanel(alignPanel, nf, aa, title); - - tp.setSize(w, h); + return null; + } + TreePanel tp = new TreePanel(alignPanel, nf, aa, title); - if (x > 0 && y > 0) - { - tp.setLocation(x, y); - } + tp.setSize(w, h); - Desktop.addInternalFrame(tp, title, w, h); - return tp; - } catch (Throwable xx) + if (x > 0 && y > 0) { - Console.error("Unexpected exception showing tree for contact matrix", - xx); + tp.setLocation(x, y); } - return null; + + Desktop.addInternalFrame(tp, title, w, h); + return tp; + } catch (Throwable xx) + { + Console.error("Unexpected exception showing tree for contact matrix", + xx); + } + return null; } - + private boolean buildingMenu = false; /** @@ -5027,7 +5037,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * to add view name "Original" if necessary */ alignPanel.setOverviewTitle(this); - + /* * switch panels and set Overview title (if there is one * because it was opened automatically) @@ -5698,7 +5708,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, * update non-sequence-related annotations */ @Override - protected void setAnnotationsVisibility(boolean visible, + public void setAnnotationsVisibility(boolean visible, boolean forSequences, boolean forAlignment) { AlignmentAnnotation[] anns = alignPanel.getAlignment() @@ -5964,7 +5974,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, Cache.setProperty("LAST_DIRECTORY", choice); SequenceI[] seqs = viewport.getAlignment().getSequencesArray(); new VCFLoader(choice).loadVCF(seqs, us); - return null; }); chooser.showOpenDialog(null);