X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=5ef3da3755ca15bdde94f2d556c7a88e83c2dd4f;hb=424c56371cd59181b994d7e3e8e91c4b7ba0b507;hp=47f1c2ae441cd9df465ada6bf2fc57cf6eddbc51;hpb=c9f31322ad542be7fab91e0c9f2ff3638a25c5b1;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 47f1c2a..5ef3da3 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -57,10 +57,11 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.io.AlignmentProperties; import jalview.io.AnnotationFile; +import jalview.io.BioJsHTMLOutput; import jalview.io.FeaturesFile; import jalview.io.FileLoader; import jalview.io.FormatAdapter; -import jalview.io.HTMLOutput; +import jalview.io.HtmlSvgOutput; import jalview.io.IdentifyFile; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; @@ -121,6 +122,7 @@ import java.io.File; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; +import java.util.Deque; import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -391,7 +393,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .getKeyCode() <= KeyEvent.VK_NUMPAD9)) && Character.isDigit(evt.getKeyChar())) { - alignPanel.seqPanel.numberPressed(evt.getKeyChar()); + alignPanel.getSeqPanel().numberPressed(evt.getKeyChar()); } switch (evt.getKeyCode()) @@ -409,7 +411,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } if (viewport.cursorMode) { - alignPanel.seqPanel.moveCursor(0, 1); + alignPanel.getSeqPanel().moveCursor(0, 1); } break; @@ -420,7 +422,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } if (viewport.cursorMode) { - alignPanel.seqPanel.moveCursor(0, -1); + alignPanel.getSeqPanel().moveCursor(0, -1); } break; @@ -428,11 +430,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_LEFT: if (evt.isAltDown() || !viewport.cursorMode) { - slideSequences(false, alignPanel.seqPanel.getKeyboardNo1()); + slideSequences(false, alignPanel.getSeqPanel().getKeyboardNo1()); } else { - alignPanel.seqPanel.moveCursor(-1, 0); + alignPanel.getSeqPanel().moveCursor(-1, 0); } break; @@ -440,18 +442,18 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_RIGHT: if (evt.isAltDown() || !viewport.cursorMode) { - slideSequences(true, alignPanel.seqPanel.getKeyboardNo1()); + slideSequences(true, alignPanel.getSeqPanel().getKeyboardNo1()); } else { - alignPanel.seqPanel.moveCursor(1, 0); + alignPanel.getSeqPanel().moveCursor(1, 0); } break; case KeyEvent.VK_SPACE: if (viewport.cursorMode) { - alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown() + alignPanel.getSeqPanel().insertGapAtCursor(evt.isControlDown() || evt.isShiftDown() || evt.isAltDown()); } break; @@ -475,7 +477,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } else { - alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown() + alignPanel.getSeqPanel().deleteGapAtCursor(evt.isControlDown() || evt.isShiftDown() || evt.isAltDown()); } @@ -484,19 +486,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_S: if (viewport.cursorMode) { - alignPanel.seqPanel.setCursorRow(); + alignPanel.getSeqPanel().setCursorRow(); } break; case KeyEvent.VK_C: if (viewport.cursorMode && !evt.isControlDown()) { - alignPanel.seqPanel.setCursorColumn(); + alignPanel.getSeqPanel().setCursorColumn(); } break; case KeyEvent.VK_P: if (viewport.cursorMode) { - alignPanel.seqPanel.setCursorPosition(); + alignPanel.getSeqPanel().setCursorPosition(); } break; @@ -504,20 +506,20 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, case KeyEvent.VK_COMMA: if (viewport.cursorMode) { - alignPanel.seqPanel.setCursorRowAndColumn(); + alignPanel.getSeqPanel().setCursorRowAndColumn(); } break; case KeyEvent.VK_Q: if (viewport.cursorMode) { - alignPanel.seqPanel.setSelectionAreaAtCursor(true); + alignPanel.getSeqPanel().setSelectionAreaAtCursor(true); } break; case KeyEvent.VK_M: if (viewport.cursorMode) { - alignPanel.seqPanel.setSelectionAreaAtCursor(false); + alignPanel.getSeqPanel().setSelectionAreaAtCursor(false); } break; @@ -528,10 +530,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { (viewport.cursorMode ? "on" : "off") })); if (viewport.cursorMode) { - alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes; - alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq; + alignPanel.getSeqPanel().seqCanvas.cursorX = viewport.startRes; + alignPanel.getSeqPanel().seqCanvas.cursorY = viewport.startSeq; } - alignPanel.seqPanel.seqCanvas.repaint(); + alignPanel.getSeqPanel().seqCanvas.repaint(); break; case KeyEvent.VK_F1: @@ -831,14 +833,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, abovePIDThreshold.setSelected(av.getAbovePIDThreshold()); conservationMenuItem.setSelected(av.getConservationSelected()); seqLimits.setSelected(av.getShowJVSuffix()); - idRightAlign.setSelected(av.rightAlignIds); + idRightAlign.setSelected(av.isRightAlignIds()); centreColumnLabelsMenuItem.setState(av.centreColumnLabels); renderGapsMenuItem.setSelected(av.renderGaps); wrapMenuItem.setSelected(av.wrapAlignment); scaleAbove.setVisible(av.wrapAlignment); scaleLeft.setVisible(av.wrapAlignment); scaleRight.setVisible(av.wrapAlignment); - annotationPanelMenuItem.setState(av.showAnnotation); + annotationPanelMenuItem.setState(av.isShowAnnotation()); /* * Show/hide annotations only enabled if annotation panel is shown */ @@ -858,7 +860,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, setColourSelected(ColourSchemeProperty.getColourName(av .getGlobalColourScheme())); - showSeqFeatures.setSelected(av.showSequenceFeatures); + showSeqFeatures.setSelected(av.isShowSequenceFeatures()); hiddenMarkers.setState(av.showHiddenMarkers); applyToAllGroups.setState(av.getColourAppliesToAllGroups()); showNpFeatsMenuitem.setSelected(av.isShowNpFeats()); @@ -952,7 +954,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void actionPerformed(ActionEvent e) { handler.cancelActivity(id); - us.setProgressBar(MessageManager.formatMessage("label.cancelled_params", new String[]{((JLabel) progressPanel.getComponent(0)).getText()}), id); + us.setProgressBar(MessageManager.formatMessage("label.cancelled_params", new Object[]{((JLabel) progressPanel.getComponent(0)).getText()}), id); } }); progressPanel.add(cancel, BorderLayout.EAST); @@ -989,7 +991,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public FeatureRenderer getFeatureRenderer() { - return alignPanel.seqPanel.seqCanvas.getFeatureRenderer(); + return alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer(); } @Override @@ -1170,10 +1172,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .lastIndexOf(java.io.File.separatorChar) + 1); } - success = new Jalview2XML().SaveAlignment(this, file, shortName); + /* + * First save any linked Chimera session. + */ + Desktop.instance.saveChimeraSessions(file); + + success = new Jalview2XML().saveAlignment(this, file, shortName); statusBar.setText(MessageManager.formatMessage( - "label.successfully_saved_to_file_in_format", new String[] + "label.successfully_saved_to_file_in_format", new Object[] { fileName, format })); } @@ -1230,7 +1237,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, this.setTitle(file); statusBar.setText(MessageManager.formatMessage( "label.successfully_saved_to_file_in_format", - new String[] + new Object[] { fileName, format })); } catch (Exception ex) { @@ -1243,7 +1250,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (!success) { JOptionPane.showInternalMessageDialog(this, MessageManager - .formatMessage("label.couldnt_save_file", new String[] + .formatMessage("label.couldnt_save_file", new Object[] { fileName }), MessageManager .getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE); @@ -1305,7 +1312,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, viewport.getAlignment(), omitHidden, viewport.getColumnSelection())); Desktop.addInternalFrame(cap, MessageManager.formatMessage( - "label.alignment_output_command", new String[] + "label.alignment_output_command", new Object[] { e.getActionCommand() }), 600, 500); } catch (OutOfMemoryError oom) { @@ -1324,11 +1331,18 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override protected void htmlMenuItem_actionPerformed(ActionEvent e) { - new HTMLOutput(alignPanel, - alignPanel.seqPanel.seqCanvas.getSequenceRenderer(), - alignPanel.seqPanel.seqCanvas.getFeatureRenderer()); + // new HTMLOutput(alignPanel, + // alignPanel.getSeqPanel().seqCanvas.getSequenceRenderer(), + // alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); + new HtmlSvgOutput(null, alignPanel); } + @Override + public void bioJSMenuItem_actionPerformed(ActionEvent e) + { + new BioJsHTMLOutput(alignPanel, + alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); + } public void createImageMap(File file, String image) { alignPanel.makePNGImageMap(file, image); @@ -1392,11 +1406,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void exportAnnotations_actionPerformed(ActionEvent e) { - new AnnotationExporter().exportAnnotations(alignPanel, - viewport.showAnnotation ? viewport.getAlignment() - .getAlignmentAnnotation() : null, viewport - .getAlignment().getGroups(), ((Alignment) viewport - .getAlignment()).alignmentProperties); + new AnnotationExporter().exportAnnotations(alignPanel); } @Override @@ -1510,7 +1520,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, undoMenuItem.setEnabled(true); CommandI command = viewport.getHistoryList().peek(); undoMenuItem.setText(MessageManager.formatMessage( - "label.undo_command", new String[] + "label.undo_command", new Object[] { command.getDescription() })); } else @@ -1525,7 +1535,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, CommandI command = viewport.getRedoList().peek(); redoMenuItem.setText(MessageManager.formatMessage( - "label.redo_command", new String[] + "label.redo_command", new Object[] { command.getDescription() })); } else @@ -1589,7 +1599,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } CommandI command = viewport.getHistoryList().pop(); viewport.addToRedoList(command); - // TODO: execute command before adding to redo list / broadcasting? command.undoCommand(getViewAlignments()); AlignmentViewport originalSource = getOriginatingSource(command); @@ -1732,7 +1741,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (viewport.cursorMode) { sg.add(viewport.getAlignment().getSequenceAt( - alignPanel.seqPanel.seqCanvas.cursorY)); + alignPanel.getSeqPanel().seqCanvas.cursorY)); } else if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize() != viewport @@ -1782,7 +1791,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (viewport.cursorMode) { - alignPanel.seqPanel.moveCursor(size, 0); + alignPanel.getSeqPanel().moveCursor(size, 0); } else { @@ -1793,7 +1802,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (viewport.cursorMode) { - alignPanel.seqPanel.moveCursor(-size, 0); + alignPanel.getSeqPanel().moveCursor(-size, 0); } else { @@ -1810,13 +1819,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } boolean appendHistoryItem = false; - if (viewport.getHistoryList() != null - && viewport.getHistoryList().size() > 0 - && viewport.getHistoryList().peek() instanceof SlideSequencesCommand) + Deque historyList = viewport.getHistoryList(); + if (historyList != null + && historyList.size() > 0 + && historyList.peek() instanceof SlideSequencesCommand) { appendHistoryItem = ssc - .appendSlideCommand((SlideSequencesCommand) viewport - .getHistoryList() + .appendSlideCommand((SlideSequencesCommand) historyList .peek()); } @@ -1873,20 +1882,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return; } - Vector hiddenColumns = null; + ArrayList hiddenColumns = null; if (viewport.hasHiddenColumns()) { - hiddenColumns = new Vector(); + hiddenColumns = new ArrayList(); int hiddenOffset = viewport.getSelectionGroup().getStartRes(), hiddenCutoff = viewport .getSelectionGroup().getEndRes(); - for (int i = 0; i < viewport.getColumnSelection().getHiddenColumns() - .size(); i++) + for (int[] region : viewport.getColumnSelection().getHiddenColumns()) { - int[] region = viewport.getColumnSelection() - .getHiddenColumns().get(i); if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff) { - hiddenColumns.addElement(new int[] + hiddenColumns.add(new int[] { region[0] - hiddenOffset, region[1] - hiddenOffset }); } } @@ -2213,19 +2219,18 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (Desktop.jalviewClipboard != null && Desktop.jalviewClipboard[2] != null) { - Vector hc = (Vector) Desktop.jalviewClipboard[2]; - for (int i = 0; i < hc.size(); i++) + List hc = (List) Desktop.jalviewClipboard[2]; + for (int[] region : hc) { - int[] region = (int[]) hc.elementAt(i); af.viewport.hideColumns(region[0], region[1]); } } // >>>This is a fix for the moment, until a better solution is // found!!<<< - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer() + af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer() .transferSettings( - alignPanel.seqPanel.seqCanvas.getFeatureRenderer()); + alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); // TODO: maintain provenance of an alignment, rather than just make the // title a concatenation of operations. @@ -2273,19 +2278,18 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (Desktop.jalviewClipboard != null && Desktop.jalviewClipboard[2] != null) { - Vector hc = (Vector) Desktop.jalviewClipboard[2]; - for (int i = 0; i < hc.size(); i++) + List hc = (List) Desktop.jalviewClipboard[2]; + for (int region[] : hc) { - int[] region = (int[]) hc.elementAt(i); af.viewport.hideColumns(region[0], region[1]); } } // >>>This is a fix for the moment, until a better solution is // found!!<<< - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer() + af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer() .transferSettings( - alignPanel.seqPanel.seqCanvas.getFeatureRenderer()); + alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); // TODO: maintain provenance of an alignment, rather than just make the // title a concatenation of operations. @@ -2449,14 +2453,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (viewport.cursorMode) { - alignPanel.seqPanel.keyboardNo1 = null; - alignPanel.seqPanel.keyboardNo2 = null; + alignPanel.getSeqPanel().keyboardNo1 = null; + alignPanel.getSeqPanel().keyboardNo2 = null; } viewport.setSelectionGroup(null); viewport.getColumnSelection().clear(); viewport.setSelectionGroup(null); - alignPanel.seqPanel.seqCanvas.highlightSearchResults(null); - alignPanel.idPanel.idCanvas.searchResults = null; + alignPanel.getSeqPanel().seqCanvas.highlightSearchResults(null); + alignPanel.getIdPanel().getIdCanvas().searchResults = null; alignPanel.paintAlignment(true); PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId()); viewport.sendSelection(); @@ -2617,7 +2621,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, addHistoryItem(removeGapCols); statusBar.setText(MessageManager.formatMessage( - "label.removed_empty_columns", new String[] + "label.removed_empty_columns", new Object[] { Integer.valueOf(removeGapCols.getSize()).toString() })); // This is to maintain viewport position on first residue @@ -2888,7 +2892,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { viewport.setShowJVSuffix(seqLimits.isSelected()); - alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel + alignPanel.getIdPanel().getIdCanvas().setPreferredSize(alignPanel .calculateIdWidth()); alignPanel.paintAlignment(true); } @@ -2896,7 +2900,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void idRightAlign_actionPerformed(ActionEvent e) { - viewport.rightAlignIds = idRightAlign.isSelected(); + viewport.setRightAlignIds(idRightAlign.isSelected()); alignPanel.paintAlignment(true); } @@ -2918,7 +2922,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (viewport.followHighlight = this.followHighlightMenuItem.getState()) { alignPanel.scrollToPosition( - alignPanel.seqPanel.seqCanvas.searchResults, false); + alignPanel.getSeqPanel().seqCanvas.searchResults, false); } } @@ -3225,7 +3229,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight .isSelected()); - if (viewport.getShowSequenceFeaturesHeight()) + if (viewport.isShowSequenceFeaturesHeight()) { // ensure we're actually displaying features viewport.setShowSequenceFeatures(true); @@ -3267,13 +3271,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, StringBuffer contents = new AlignmentProperties(viewport.getAlignment()) .formatAsHtml(); editPane.setText(MessageManager.formatMessage("label.html_content", - new String[] + new Object[] { contents.toString() })); JInternalFrame frame = new JInternalFrame(); frame.getContentPane().add(new JScrollPane(editPane)); - Desktop.instance.addInternalFrame(frame, MessageManager.formatMessage( - "label.alignment_properties", new String[] + Desktop.addInternalFrame(frame, MessageManager.formatMessage( + "label.alignment_properties", new Object[] { getTitle() }), 500, 400); } @@ -3295,7 +3299,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, OverviewPanel overview = new OverviewPanel(alignPanel); frame.setContentPane(overview); Desktop.addInternalFrame(frame, MessageManager.formatMessage( - "label.overview_params", new String[] + "label.overview_params", new Object[] { this.getTitle() }), frame.getWidth(), frame.getHeight()); frame.pack(); frame.setLayer(JLayeredPane.PALETTE_LAYER); @@ -3458,6 +3462,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } @Override + public void annotationColumn_actionPerformed(ActionEvent e) + { + new AnnotationColumnChooser(viewport, alignPanel); + } + + @Override public void rnahelicesColour_actionPerformed(ActionEvent e) { new RNAHelicesColourChooser(viewport, alignPanel); @@ -4098,7 +4108,7 @@ 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 String[]{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() { @@ -4515,7 +4525,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } catch (Exception e) { } - ; } final AlignFrame me = this; buildingMenu = true; @@ -4670,14 +4679,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .debug("Exception during web service menu building process.", e); } - ; } }); } catch (Exception e) { } - ; - buildingMenu = false; } }).start(); @@ -4823,7 +4829,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, public void run() { final long sttime = System.currentTimeMillis(); - ths.setProgressBar(MessageManager.formatMessage("status.searching_for_sequences_from", new String[]{fsrc}), sttime); + ths.setProgressBar(MessageManager.formatMessage("status.searching_for_sequences_from", new Object[]{fsrc}), sttime); try { Alignment ds = ths.getViewport().getAlignment().getDataset(); // update @@ -4878,7 +4884,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, jalview.bin.Cache.log.error("Error when finding crossreferences", e); } - ths.setProgressBar(MessageManager.formatMessage("status.finished_searching_for_sequences_from", new String[]{fsrc}), + ths.setProgressBar(MessageManager.formatMessage("status.finished_searching_for_sequences_from", new Object[]{fsrc}), sttime); } @@ -4943,7 +4949,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT); Desktop.addInternalFrame(af, MessageManager.formatMessage( - "label.translation_of_params", new String[] + "label.translation_of_params", new Object[] { this.getTitle() }), DEFAULT_WIDTH, DEFAULT_HEIGHT); // enable next line for linked editing // viewport.getStructureSelectionManager().addCommandListener(viewport); @@ -4965,8 +4971,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, try { featuresFile = new FeaturesFile(file, type).parse(viewport - .getAlignment().getDataset(), alignPanel.seqPanel.seqCanvas - .getFeatureRenderer().featureColours, false, + .getAlignment().getDataset(), alignPanel.getSeqPanel().seqCanvas + .getFeatureRenderer().getFeatureColours(), false, jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false)); } catch (Exception ex) { @@ -4975,12 +4981,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (featuresFile) { - viewport.showSequenceFeatures = true; + viewport.setShowSequenceFeatures(true); showSeqFeatures.setSelected(true); - if (alignPanel.seqPanel.seqCanvas.fr != null) + if (alignPanel.getSeqPanel().seqCanvas.fr != null) { // update the min/max ranges where necessary - alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true); + alignPanel.getSeqPanel().seqCanvas.fr.findAllFeatures(true); } if (featureSettings != null) { @@ -5142,7 +5148,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, MessageManager .formatMessage( "label.automatically_associate_pdb_files_with_sequences_same_name", - new String[] + new Object[] { Integer.valueOf( filesmatched .size()) @@ -5185,7 +5191,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, ""+MessageManager .formatMessage( "label.ignore_unmatched_dropped_files_info", - new String[] + new Object[] { Integer.valueOf( filesnotmatched .size()) @@ -5232,7 +5238,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // try to parse as annotation. boolean isAnnotation = (format == null || format .equalsIgnoreCase("PFAM")) ? new AnnotationFile() - .readAnnotationFile(viewport.getAlignment(), file, protocol) + .annotateAlignmentView(viewport, file, protocol) : false; if (!isAnnotation) @@ -5293,7 +5299,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { jalview.io.JPredFile predictions = new jalview.io.JPredFile( file, protocol); - new JnetAnnotationMaker().add_annotation(predictions, + new JnetAnnotationMaker(); + JnetAnnotationMaker.add_annotation(predictions, viewport.getAlignment(), 0, false); isAnnotation = true; } @@ -5603,7 +5610,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } }); - fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.fetch_retrieve_from", new String[]{src.getDbName()}))); + fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.fetch_retrieve_from", new Object[]{src.getDbName()}))); dfetch.add(fetchr); comp++; } @@ -5614,7 +5621,7 @@ 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 String[] + "label.fetch_all_param", new Object[] { src.getDbSource() })); fetchr.addActionListener(new ActionListener() { @@ -5636,11 +5643,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } }); - fetchr.setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.formatMessage("label.fetch_retrieve_from_all_sources", new String[]{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 String[]{src.getDbSource()})); + ifetch = new JMenu(MessageManager.formatMessage("label.source_from_db_source", new Object[]{src.getDbSource()})); icomp = 0; String imname = null; int i = 0; @@ -5653,7 +5660,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, 0, 10) + "..." : dbname; if (imname == null) { - imname = MessageManager.formatMessage("label.from_msname", new String[]{sname}); + imname = MessageManager.formatMessage("label.from_msname", new Object[]{sname}); } fetchr = new JMenuItem(msname); final DbSourceProxy[] dassrc = @@ -5680,7 +5687,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, }); fetchr.setToolTipText("" - + MessageManager.formatMessage("label.fetch_retrieve_from", new String[]{dbname})); + + MessageManager.formatMessage("label.fetch_retrieve_from", new Object[]{dbname})); ifetch.add(fetchr); ++i; if (++icomp >= mcomp || i == (otherdb.size())) @@ -5844,6 +5851,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignPanel.paintAlignment(true); } } + public void clearAlignmentSeqRep() + { + // TODO refactor alignmentseqrep to controller + if (viewport.getAlignment().hasSeqrep()) { + viewport.getAlignment().setSeqrep(null); + PaintRefresher.Refresh(this, viewport.getSequenceSetId()); + alignPanel.updateAnnotation(); + alignPanel.paintAlignment(true); + } + } @Override protected void createGroup_actionPerformed(ActionEvent e)