X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=b484118337b696f7f0093b0c6dfd4eaa7f210954;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=8144738789c3b08d3a8aa1298abb416cf3d88773;hpb=b4abe1ffdea4b7711cdc72c6c95af4356187302b;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 8144738..b484118 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) - * Copyright (C) $$Year-Rel$$ The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors * * This file is part of Jalview. * @@ -20,14 +20,13 @@ */ package jalview.gui; -import jalview.analysis.AAFrequency; import jalview.analysis.AlignmentSorter; import jalview.analysis.AlignmentUtils; -import jalview.analysis.Conservation; import jalview.analysis.CrossRef; import jalview.analysis.Dna; import jalview.analysis.ParseProperties; import jalview.analysis.SequenceIdMatcher; +import jalview.api.AlignExportSettingI; import jalview.api.AlignViewControllerGuiI; import jalview.api.AlignViewControllerI; import jalview.api.AlignViewportI; @@ -242,7 +241,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, this(al, hiddenColumns, width, height, null); } - /** * Create alignment frame for al with hiddenColumns, a specific width and * height, and specific sequenceId @@ -287,7 +285,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignPanel = new AlignmentPanel(this, viewport); - addAlignmentPanel(alignPanel, true); init(); } @@ -313,7 +310,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, init(); } - /** * Make a new AlignFrame from existing alignmentPanels * @@ -375,7 +371,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, setMenusFromViewport(viewport); buildSortByAnnotationScoresMenu(); buildTreeMenu(); - + if (viewport.getWrapAlignment()) { wrapMenuItem_actionPerformed(null); @@ -456,7 +452,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } }); - formatMenu.add(vsel); + if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase() + .indexOf("devel") > -1 + || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase() + .indexOf("test") > -1) + { + formatMenu.add(vsel); + } } @@ -553,8 +555,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_SPACE: if (viewport.cursorMode) { - alignPanel.getSeqPanel().insertGapAtCursor(evt.isControlDown() - || evt.isShiftDown() || evt.isAltDown()); + alignPanel.getSeqPanel().insertGapAtCursor( + evt.isControlDown() || evt.isShiftDown() + || evt.isAltDown()); } break; @@ -577,8 +580,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } else { - alignPanel.getSeqPanel().deleteGapAtCursor(evt.isControlDown() - || evt.isShiftDown() || evt.isAltDown()); + alignPanel.getSeqPanel().deleteGapAtCursor( + evt.isControlDown() || evt.isShiftDown() + || evt.isAltDown()); } break; @@ -626,8 +630,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_F2: viewport.cursorMode = !viewport.cursorMode; statusBar.setText(MessageManager.formatMessage( - "label.keyboard_editing_mode", new String[] - { (viewport.cursorMode ? "on" : "off") })); + "label.keyboard_editing_mode", + new String[] { (viewport.cursorMode ? "on" : "off") })); if (viewport.cursorMode) { alignPanel.getSeqPanel().seqCanvas.cursorX = viewport.startRes; @@ -795,7 +799,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void internalFrameClosed( javax.swing.event.InternalFrameEvent evt) { - System.out.println("deregistering discoverer listener"); + // System.out.println("deregistering discoverer listener"); Desktop.instance.removeJalviewPropertyChangeListener("services", thisListener); closeMenuItem_actionPerformed(true); @@ -1030,7 +1034,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void addFromText_actionPerformed(ActionEvent e) { - Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport); + Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport + .getAlignPanel()); } @Override @@ -1071,7 +1076,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, currentFileFormat, false); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle(MessageManager.getString("label.save_alignment_to_file")); + chooser.setDialogTitle(MessageManager + .getString("label.save_alignment_to_file")); chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -1129,8 +1135,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, success = new Jalview2XML().saveAlignment(this, file, shortName); statusBar.setText(MessageManager.formatMessage( - "label.successfully_saved_to_file_in_format", new Object[] - { fileName, format })); + "label.successfully_saved_to_file_in_format", new Object[] { + fileName, format })); } else @@ -1146,14 +1152,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return false; } - AlignmentExportData exportData = getAlignmentForExport(format, viewport); + AlignmentExportData exportData = getAlignmentForExport(format, + viewport, null); if (exportData.getSettings().isCancelled()) { return false; } FormatAdapter f = new FormatAdapter(alignPanel, exportData.getSettings()); - String output = f.formatSequences(format, + String output = f.formatSequences( + format, exportData.getAlignment(), // class cast exceptions will // occur in the distant future exportData.getOmitHidden(), exportData.getStartEndPostions(), @@ -1176,8 +1184,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, this.setTitle(file); statusBar.setText(MessageManager.formatMessage( "label.successfully_saved_to_file_in_format", - new Object[] - { fileName, format })); + new Object[] { fileName, format })); } catch (Exception ex) { success = false; @@ -1189,8 +1196,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (!success) { JOptionPane.showInternalMessageDialog(this, MessageManager - .formatMessage("label.couldnt_save_file", new Object[] - { fileName }), MessageManager + .formatMessage("label.couldnt_save_file", + new Object[] { fileName }), MessageManager .getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE); } @@ -1198,7 +1205,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return success; } - private void warningMessage(String warning, String title) { if (new jalview.util.Platform().isHeadless()) @@ -1225,7 +1231,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { AlignmentExportData exportData = getAlignmentForExport( - e.getActionCommand(), viewport); + e.getActionCommand(), viewport, null); if (exportData.getSettings().isCancelled()) { return; @@ -1235,14 +1241,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, try { cap.setText(new FormatAdapter(alignPanel, exportData.getSettings()) - .formatSequences( - e.getActionCommand(), - exportData.getAlignment(), - exportData.getOmitHidden(), exportData.getStartEndPostions(), - viewport.getColumnSelection())); + .formatSequences(e.getActionCommand(), + exportData.getAlignment(), + exportData.getOmitHidden(), + exportData.getStartEndPostions(), + viewport.getColumnSelection())); Desktop.addInternalFrame(cap, MessageManager.formatMessage( - "label.alignment_output_command", new Object[] - { e.getActionCommand() }), 600, 500); + "label.alignment_output_command", + new Object[] { e.getActionCommand() }), 600, 500); } catch (OutOfMemoryError oom) { new OOMWarning("Outputting alignment as " + e.getActionCommand(), oom); @@ -1251,25 +1257,28 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } - public static AlignmentExportData getAlignmentForExport(String exportFomat, - AlignViewportI viewport) + public static AlignmentExportData getAlignmentForExport( + String exportFormat, AlignViewportI viewport, + AlignExportSettingI exportSettings) { AlignmentI alignmentToExport = null; + AlignExportSettingI settings = exportSettings; String[] omitHidden = null; int[] alignmentStartEnd = new int[2]; HiddenSequences hiddenSeqs = viewport.getAlignment() .getHiddenSequences(); - alignmentToExport = viewport.getAlignment(); - alignmentStartEnd = new int[] - { 0, alignmentToExport.getWidth() - 1 }; + alignmentStartEnd = new int[] { 0, alignmentToExport.getWidth() - 1 }; boolean hasHiddenSeqs = hiddenSeqs.getSize() > 0; - AlignExportSettings settings = new AlignExportSettings(hasHiddenSeqs, - viewport.hasHiddenColumns(), exportFomat); - settings.isExportAnnotations(); + if (settings == null) + { + settings = new AlignExportSettings(hasHiddenSeqs, + viewport.hasHiddenColumns(), exportFormat); + } + // settings.isExportAnnotations(); if (viewport.hasHiddenColumns() && !settings.isExportHiddenColumns()) { @@ -1286,12 +1295,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport .getColumnSelection().getHiddenColumns()); } - AlignmentExportData ed = new AlignmentExportData(alignmentToExport, omitHidden, alignmentStartEnd, - settings); + AlignmentExportData ed = new AlignmentExportData(alignmentToExport, + omitHidden, alignmentStartEnd, settings); return ed; } - private static int[] getStartEnd(int[] aligmentStartEnd, + public static int[] getStartEnd(int[] aligmentStartEnd, List hiddenCols) { int startPos = aligmentStartEnd[0]; @@ -1303,7 +1312,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, for (int[] hiddenCol : hiddenCols) { // System.out.println("comparing : " + hiddenCol[0] + "-" + hiddenCol[1]); - lowestRange = (hiddenCol[0] <= startPos) ? hiddenCol : lowestRange; higestRange = (hiddenCol[1] >= endPos) ? hiddenCol : higestRange; } @@ -1329,26 +1337,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } // System.out.println("Export range : " + minPos + " - " + maxPos); - return new int[] - { startPos, endPos }; + return new int[] { startPos, endPos }; } public static void main(String[] args) { ArrayList hiddenCols = new ArrayList(); - hiddenCols.add(new int[] - { 0, 4 }); - hiddenCols.add(new int[] - { 6, 9 }); - hiddenCols.add(new int[] - { 11, 12 }); - hiddenCols.add(new int[] - { 33, 33 }); - hiddenCols.add(new int[] - { 45, 50 }); - - int[] x = getStartEnd(new int[] - { 0, 50 }, hiddenCols); + hiddenCols.add(new int[] { 0, 4 }); + hiddenCols.add(new int[] { 6, 9 }); + hiddenCols.add(new int[] { 11, 12 }); + hiddenCols.add(new int[] { 33, 33 }); + hiddenCols.add(new int[] { 45, 50 }); + + int[] x = getStartEnd(new int[] { 0, 50 }, hiddenCols); // System.out.println("Export range : " + x[0] + " - " + x[1]); } @@ -1370,6 +1371,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel); bjs.exportJalviewAlignmentAsBioJsHtmlFile(); } + public void createImageMap(File file, String image) { alignPanel.makePNGImageMap(file, image); @@ -1403,6 +1405,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { alignPanel.makeSVG(f); } + @Override public void pageSetup_actionPerformed(ActionEvent e) { @@ -1498,6 +1501,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (closeAllTabs) { + /* + * this will raise an INTERNAL_FRAME_CLOSED event and this method will + * be called recursively, with the frame now in 'closed' state + */ this.setClosed(true); } } catch (Exception ex) @@ -1542,8 +1549,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, undoMenuItem.setEnabled(true); CommandI command = viewport.getHistoryList().peek(); undoMenuItem.setText(MessageManager.formatMessage( - "label.undo_command", new Object[] - { command.getDescription() })); + "label.undo_command", + new Object[] { command.getDescription() })); } else { @@ -1557,8 +1564,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, CommandI command = viewport.getRedoList().peek(); redoMenuItem.setText(MessageManager.formatMessage( - "label.redo_command", new Object[] - { command.getDescription() })); + "label.redo_command", + new Object[] { command.getDescription() })); } else { @@ -1600,8 +1607,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } if (viewport != null) { - return new AlignmentI[] - { viewport.getAlignment() }; + return new AlignmentI[] { viewport.getAlignment() }; } return null; } @@ -1835,8 +1841,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, boolean appendHistoryItem = false; Deque historyList = viewport.getHistoryList(); boolean inSplitFrame = getSplitViewContainer() != null; - if (!inSplitFrame && historyList != null - && historyList.size() > 0 + if (!inSplitFrame && historyList != null && historyList.size() > 0 && historyList.peek() instanceof SlideSequencesCommand) { appendHistoryItem = ssc @@ -1907,17 +1912,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff) { - hiddenColumns.add(new int[] - { region[0] - hiddenOffset, region[1] - hiddenOffset }); + hiddenColumns.add(new int[] { region[0] - hiddenOffset, + region[1] - hiddenOffset }); } } } - Desktop.jalviewClipboard = new Object[] - { seqs, viewport.getAlignment().getDataset(), hiddenColumns }; + Desktop.jalviewClipboard = new Object[] { seqs, + viewport.getAlignment().getDataset(), hiddenColumns }; statusBar.setText(MessageManager.formatMessage( - "label.copied_sequences_to_clipboard", new Object[] - { Integer.valueOf(seqs.length).toString() })); + "label.copied_sequences_to_clipboard", new Object[] { Integer + .valueOf(seqs.length).toString() })); } /** @@ -2126,8 +2131,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // addHistoryItem(new EditCommand( MessageManager.getString("label.add_sequences"), - Action.PASTE, - sequences, 0, alignment.getWidth(), alignment)); + Action.PASTE, sequences, 0, alignment.getWidth(), alignment)); } // Add any annotations attached to sequences for (int i = 0; i < sequences.length; i++) @@ -2245,7 +2249,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // found!!<<< af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer() .transferSettings( - alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); + alignPanel.getSeqPanel().seqCanvas + .getFeatureRenderer()); // TODO: maintain provenance of an alignment, rather than just make the // title a concatenation of operations. @@ -2304,7 +2309,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // found!!<<< af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer() .transferSettings( - alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); + alignPanel.getSeqPanel().seqCanvas + .getFeatureRenderer()); // TODO: maintain provenance of an alignment, rather than just make the // title a concatenation of operations. @@ -2574,8 +2580,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } statusBar.setText(MessageManager.formatMessage( - "label.removed_columns", new String[] - { Integer.valueOf(trimRegion.getSize()).toString() })); + "label.removed_columns", + new String[] { Integer.valueOf(trimRegion.getSize()) + .toString() })); addHistoryItem(trimRegion); @@ -2624,8 +2631,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, addHistoryItem(removeGapCols); statusBar.setText(MessageManager.formatMessage( - "label.removed_empty_columns", new Object[] - { Integer.valueOf(removeGapCols.getSize()).toString() })); + "label.removed_empty_columns", + new Object[] { Integer.valueOf(removeGapCols.getSize()) + .toString() })); // This is to maintain viewport position on first residue // of first sequence @@ -2750,12 +2758,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } /* - * Views share the same edits, undo and redo stacks, mappings. + * Views share the same edits undo and redo stacks */ newap.av.setHistoryList(viewport.getHistoryList()); newap.av.setRedoList(viewport.getRedoList()); - newap.av.getAlignment().setCodonFrames( - viewport.getAlignment().getCodonFrames()); + + /* + * Views share the same mappings; need to deregister any new mappings + * created by copyAlignPanel, and register the new reference to the shared + * mappings + */ + newap.av.replaceMappings(viewport.getAlignment()); newap.av.viewName = getNewViewName(viewTitle); @@ -2870,8 +2883,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { viewport.setShowJVSuffix(seqLimits.isSelected()); - alignPanel.getIdPanel().getIdCanvas().setPreferredSize(alignPanel - .calculateIdWidth()); + alignPanel.getIdPanel().getIdCanvas() + .setPreferredSize(alignPanel.calculateIdWidth()); alignPanel.paintAlignment(true); } @@ -2956,7 +2969,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void hideSelSequences_actionPerformed(ActionEvent e) { viewport.hideAllSelectedSeqs(); -// alignPanel.paintAlignment(true); + // alignPanel.paintAlignment(true); } /** @@ -3261,14 +3274,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, StringBuffer contents = new AlignmentProperties(viewport.getAlignment()) .formatAsHtml(); editPane.setText(MessageManager.formatMessage("label.html_content", - new Object[] - { contents.toString() })); + new Object[] { contents.toString() })); JInternalFrame frame = new JInternalFrame(); frame.getContentPane().add(new JScrollPane(editPane)); Desktop.addInternalFrame(frame, MessageManager.formatMessage( - "label.alignment_properties", new Object[] - { getTitle() }), 500, 400); + "label.alignment_properties", new Object[] { getTitle() }), + 500, 400); } /** @@ -3289,8 +3301,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, OverviewPanel overview = new OverviewPanel(alignPanel); frame.setContentPane(overview); Desktop.addInternalFrame(frame, MessageManager.formatMessage( - "label.overview_params", new Object[] - { this.getTitle() }), frame.getWidth(), frame.getHeight()); + "label.overview_params", new Object[] { this.getTitle() }), + frame.getWidth(), frame.getHeight()); frame.pack(); frame.setLayer(JLayeredPane.PALETTE_LAYER); frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() @@ -3483,115 +3495,27 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, */ public void changeColour(ColourSchemeI cs) { - // TODO: compare with applet and pull up to model method - int threshold = 0; + // TODO: pull up to controller method if (cs != null) { + // Make sure viewport is up to date w.r.t. any sliders if (viewport.getAbovePIDThreshold()) { - threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, + int threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background"); - cs.setThreshold(threshold, viewport.isIgnoreGapsConsensus()); - } - else - { - cs.setThreshold(0, viewport.isIgnoreGapsConsensus()); + viewport.setThreshold(threshold); } if (viewport.getConservationSelected()) { - - Alignment al = (Alignment) viewport.getAlignment(); - Conservation c = new Conservation("All", - ResidueProperties.propHash, 3, al.getSequences(), 0, - al.getWidth() - 1); - - c.calculate(); - c.verdict(false, viewport.getConsPercGaps()); - - cs.setConservation(c); - cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel, cs, "Background")); } - else - { - cs.setConservation(null); - } - - cs.setConsensus(viewport.getSequenceConsensusHash()); } viewport.setGlobalColourScheme(cs); - if (viewport.getColourAppliesToAllGroups()) - { - - for (SequenceGroup sg : viewport.getAlignment().getGroups()) - { - if (cs == null) - { - sg.cs = null; - continue; - } - - if (cs instanceof ClustalxColourScheme) - { - sg.cs = new ClustalxColourScheme(sg, - viewport.getHiddenRepSequences()); - } - else if (cs instanceof UserColourScheme) - { - sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours()); - } - else - { - try - { - sg.cs = cs.getClass().newInstance(); - } catch (Exception ex) - { - } - } - - if (viewport.getAbovePIDThreshold() - || cs instanceof PIDColourScheme - || cs instanceof Blosum62ColourScheme) - { - sg.cs.setThreshold(threshold, viewport.isIgnoreGapsConsensus()); - - sg.cs.setConsensus(AAFrequency.calculate( - sg.getSequences(viewport.getHiddenRepSequences()), - sg.getStartRes(), sg.getEndRes() + 1)); - } - else - { - sg.cs.setThreshold(0, viewport.isIgnoreGapsConsensus()); - } - - if (viewport.getConservationSelected()) - { - Conservation c = new Conservation("Group", - ResidueProperties.propHash, 3, sg.getSequences(viewport - .getHiddenRepSequences()), sg.getStartRes(), - sg.getEndRes() + 1); - c.calculate(); - c.verdict(false, viewport.getConsPercGaps()); - sg.cs.setConservation(c); - } - else - { - sg.cs.setConservation(null); - } - } - } - - if (alignPanel.getOverviewPanel() != null) - { - alignPanel.getOverviewPanel().updateOverviewImage(); - } - alignPanel.paintAlignment(true); } @@ -4098,7 +4022,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void addSortByOrderMenuItem(String title, final AlignmentOrder order) { - final JMenuItem item = new JMenuItem(MessageManager.formatMessage("action.by_title_param", new Object[]{title})); + final JMenuItem item = new JMenuItem(MessageManager.formatMessage( + "action.by_title_param", new Object[] { title })); sort.add(item); item.addActionListener(new java.awt.event.ActionListener() { @@ -4217,8 +4142,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, calculateTree.removeAll(); // build the calculate menu - for (final String type : new String[] - { "NJ", "AV" }) + for (final String type : new String[] { "NJ", "AV" }) { String treecalcnm = MessageManager.getString("label.tree_calc_" + type.toLowerCase()); @@ -4367,8 +4291,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // selection may well be aligned - we preserve 2.0.8 behaviour for moment. if (!viewport.getAlignment().isAligned(false)) { - seqs.setSequences(new SeqCigar[] - { seqs.getSequences()[0] }); + seqs.setSequences(new SeqCigar[] { seqs.getSequences()[0] }); // TODO: if seqs.getSequences().length>1 then should really have warned // user! @@ -4526,8 +4449,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, final List legacyItems = new ArrayList(); try { - System.err.println("Building ws menu again " - + Thread.currentThread()); + // System.err.println("Building ws menu again " + // + Thread.currentThread()); // TODO: add support for context dependent disabling of services based // on // alignment and current selection @@ -4815,8 +4738,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { final long sttime = System.currentTimeMillis(); AlignFrame.this.setProgressBar(MessageManager.formatMessage( - "status.searching_for_sequences_from", new Object[] - { source }), sttime); + "status.searching_for_sequences_from", + new Object[] { source }), sttime); try { // update our local dataset reference @@ -4861,7 +4784,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // temporary flag until SplitFrame is released boolean asSplitFrame = Cache.getDefault( - Preferences.ENABLE_SPLIT_FRAME, false); + Preferences.ENABLE_SPLIT_FRAME, true); if (asSplitFrame) { /* @@ -4879,7 +4802,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, al.getCodonFrames().addAll(cf); final StructureSelectionManager ssm = StructureSelectionManager .getStructureSelectionManager(Desktop.instance); - ssm.addMappings(cf); + ssm.registerMappings(cf); } else { @@ -4923,9 +4846,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } AlignFrame.this.setProgressBar(MessageManager.formatMessage( "status.finished_searching_for_sequences_from", - new Object[] - { source }), - sttime); + new Object[] { source }), sttime); } }; @@ -4969,10 +4890,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, "Exception during translation. Please report this !", ex); final String msg = MessageManager .getString("label.error_when_translating_sequences_submit_bug_report"); - final String title = MessageManager + final String errorTitle = MessageManager .getString("label.implementation_error") + MessageManager.getString("translation_failed"); - JOptionPane.showMessageDialog(Desktop.desktop, msg, title, + JOptionPane.showMessageDialog(Desktop.desktop, msg, errorTitle, JOptionPane.ERROR_MESSAGE); return; } @@ -4980,9 +4901,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { final String msg = MessageManager .getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"); - final String title = MessageManager + final String errorTitle = MessageManager .getString("label.translation_failed"); - JOptionPane.showMessageDialog(Desktop.desktop, msg, title, + JOptionPane.showMessageDialog(Desktop.desktop, msg, errorTitle, JOptionPane.WARNING_MESSAGE); } else @@ -4990,14 +4911,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT); af.setFileFormat(this.currentFileFormat); final String newTitle = MessageManager.formatMessage( - "label.translation_of_params", new Object[] - { this.getTitle() }); + "label.translation_of_params", + new Object[] { this.getTitle() }); af.setTitle(newTitle); - if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, false)) + if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, true)) { final SequenceI[] seqs = viewport.getSelectionAsNewSequence(); - viewport.openSplitFrame(af, new Alignment(seqs), - al.getCodonFrames()); + viewport.openSplitFrame(af, new Alignment(seqs)); } else { @@ -5030,7 +4950,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { return avc.parseFeaturesFile(file, type, jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false)); - + } @Override @@ -5045,8 +4965,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, showSeqFeatures.setSelected(true); } - } + @Override public void dragEnter(DropTargetDragEvent evt) { @@ -5177,8 +5097,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (type.equalsIgnoreCase("PDB")) { - filesmatched.add(new Object[] - { file, protocol, mtch }); + filesmatched.add(new Object[] { file, protocol, mtch }); continue; } } @@ -5197,10 +5116,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, MessageManager .formatMessage( "label.automatically_associate_pdb_files_with_sequences_same_name", - new Object[] - { Integer.valueOf( - filesmatched - .size()) + new Object[] { Integer + .valueOf( + filesmatched + .size()) .toString() }), MessageManager .getString("label.automatically_associate_pdb_files_by_name"), @@ -5237,14 +5156,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, "AUTOASSOCIATE_PDBANDSEQS_IGNOREOTHERS", false) || JOptionPane .showConfirmDialog( this, - ""+MessageManager - .formatMessage( - "label.ignore_unmatched_dropped_files_info", - new Object[] - { Integer.valueOf( - filesnotmatched - .size()) - .toString() })+"", + "" + + MessageManager + .formatMessage( + "label.ignore_unmatched_dropped_files_info", + new Object[] { Integer + .valueOf( + filesnotmatched + .size()) + .toString() }) + + "", MessageManager .getString("label.ignore_unmatched_dropped_files"), JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)) @@ -5287,8 +5208,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // try to parse as annotation. boolean isAnnotation = (format == null || format .equalsIgnoreCase("PFAM")) ? new AnnotationFile() - .annotateAlignmentView(viewport, file, protocol) - : false; + .annotateAlignmentView(viewport, file, protocol) : false; if (!isAnnotation) { @@ -5681,7 +5601,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } }); - fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.fetch_retrieve_from", new Object[]{src.getDbName()}))); + fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, + MessageManager.formatMessage( + "label.fetch_retrieve_from", + new Object[] { src.getDbName() }))); dfetch.add(fetchr); comp++; } @@ -5692,8 +5615,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // fetch all entry DbSourceProxy src = otherdb.get(0); fetchr = new JMenuItem(MessageManager.formatMessage( - "label.fetch_all_param", new Object[] - { src.getDbSource() })); + "label.fetch_all_param", + new Object[] { src.getDbSource() })); fetchr.addActionListener(new ActionListener() { @Override @@ -5714,11 +5637,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } }); - fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.fetch_retrieve_from_all_sources", new Object[]{Integer.valueOf(otherdb.size()).toString(), src.getDbSource(), src.getDbName()}))); + fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, + MessageManager.formatMessage( + "label.fetch_retrieve_from_all_sources", + new Object[] { + Integer.valueOf(otherdb.size()) + .toString(), src.getDbSource(), + src.getDbName() }))); dfetch.add(fetchr); comp++; // and then build the rest of the individual menus - ifetch = new JMenu(MessageManager.formatMessage("label.source_from_db_source", new Object[]{src.getDbSource()})); + ifetch = new JMenu(MessageManager.formatMessage( + "label.source_from_db_source", + new Object[] { src.getDbSource() })); icomp = 0; String imname = null; int i = 0; @@ -5731,11 +5662,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, 0, 10) + "..." : dbname; if (imname == null) { - imname = MessageManager.formatMessage("label.from_msname", new Object[]{sname}); + imname = MessageManager.formatMessage( + "label.from_msname", new Object[] { sname }); } fetchr = new JMenuItem(msname); - final DbSourceProxy[] dassrc = - { sproxy }; + final DbSourceProxy[] dassrc = { sproxy }; fetchr.addActionListener(new ActionListener() { @@ -5758,7 +5689,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, }); fetchr.setToolTipText("" - + MessageManager.formatMessage("label.fetch_retrieve_from", new Object[]{dbname})); + + MessageManager.formatMessage( + "label.fetch_retrieve_from", new Object[] + { dbname })); ifetch.add(fetchr); ++i; if (++icomp >= mcomp || i == (otherdb.size())) @@ -5922,10 +5855,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignPanel.paintAlignment(true); } } + public void clearAlignmentSeqRep() { // TODO refactor alignmentseqrep to controller - if (viewport.getAlignment().hasSeqrep()) { + if (viewport.getAlignment().hasSeqrep()) + { viewport.getAlignment().setSeqrep(null); PaintRefresher.Refresh(this, viewport.getSequenceSetId()); alignPanel.updateAnnotation(); @@ -5961,7 +5896,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (!viewport.getSequenceSetId().equals( alignmentPanel.av.getSequenceSetId())) { - throw new Error(MessageManager.getString("error.implementation_error_cannot_show_view_alignment_frame")); + throw new Error( + MessageManager + .getString("error.implementation_error_cannot_show_view_alignment_frame")); } if (tabbedPane != null && tabbedPane.getTabCount() > 0 @@ -6024,8 +5961,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, */ public List getAlignPanels() { - return alignPanels == null ? Arrays.asList(alignPanel) - : alignPanels; + return alignPanels == null ? Arrays.asList(alignPanel) : alignPanels; } /** @@ -6042,8 +5978,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return; } List cdnaSeqs = new ArrayList(); - for (SequenceI aaSeq : alignment.getSequences()) { - for (AlignedCodonFrame acf : mappings) { + for (SequenceI aaSeq : alignment.getSequences()) + { + for (AlignedCodonFrame acf : mappings) + { SequenceI dnaSeq = acf.getDnaForAaSeq(aaSeq.getDatasetSequence()); if (dnaSeq != null) { @@ -6071,8 +6009,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, String newtitle = "cDNA " + MessageManager.getString("label.for") + " " + this.title; Desktop.addInternalFrame(alignFrame, newtitle, - AlignFrame.DEFAULT_WIDTH, - AlignFrame.DEFAULT_HEIGHT); + AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); } /** @@ -6085,11 +6022,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, protected void showComplement_actionPerformed(boolean show) { SplitContainerI sf = getSplitViewContainer(); - if (sf != null) { + if (sf != null) + { sf.setComplementVisible(this, show); } } - } class PrintThread extends Thread