X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FTreePanel.java;h=5b51919ca4b3d0d0817c0aad859e452c900c9c84;hb=46d6d8de867a35ce4082c3be437e5f5cdc31ba34;hp=14802e7e8d48b7a9692896933180d2c4d5dc8b19;hpb=d06711617796df6df18ec872326a6b6b76d447c8;p=jalview.git diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index 14802e7..5b51919 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -273,9 +273,10 @@ public class TreePanel extends GTreePanel { int start, end; SequenceI[] seqs; - AlignmentView seqStrings = av.getAlignmentView(av - .getSelectionGroup() != null); - if (av.getSelectionGroup() == null) + boolean selview = av.getSelectionGroup() != null + && av.getSelectionGroup().getSize() > 1; + AlignmentView seqStrings = av.getAlignmentView(selview); + if (!selview) { start = 0; end = av.getAlignment().getWidth(); @@ -285,7 +286,8 @@ public class TreePanel extends GTreePanel { start = av.getSelectionGroup().getStartRes(); end = av.getSelectionGroup().getEndRes() + 1; - seqs = av.getSelectionGroup().getSequencesInOrder(av.getAlignment()); + seqs = av.getSelectionGroup().getSequencesInOrder( + av.getAlignment()); } tree = new NJTree(seqs, seqStrings, type, pwtype, start, end); @@ -511,72 +513,76 @@ public class TreePanel extends GTreePanel */ public void sortByTree_actionPerformed(ActionEvent e) { - + if (treeCanvas.applyToAllViews) { final ArrayList commands = new ArrayList(); - for (AlignmentPanel ap: PaintRefresher.getAssociatedPanels(av + for (AlignmentPanel ap : PaintRefresher.getAssociatedPanels(av .getSequenceSetId())) { commands.add(sortAlignmentIn(ap.av.getAlignPanel())); } av.getAlignPanel().alignFrame.addHistoryItem(new CommandI() { - + @Override public void undoCommand(AlignmentI[] views) { - for (CommandI tsort:commands) + for (CommandI tsort : commands) { tsort.undoCommand(views); - } + } } - + @Override public int getSize() { return commands.size(); } - + @Override public String getDescription() { return "Tree Sort (many views)"; } - + @Override public void doCommand(AlignmentI[] views) { - for (CommandI tsort:commands) + for (CommandI tsort : commands) { tsort.doCommand(views); - } + } } }); - for (AlignmentPanel ap: PaintRefresher.getAssociatedPanels(av + for (AlignmentPanel ap : PaintRefresher.getAssociatedPanels(av .getSequenceSetId())) { // ensure all the alignFrames refresh their GI after adding an undo item ap.alignFrame.updateEditMenuBar(); } - } else { - treeCanvas.ap.alignFrame.addHistoryItem(sortAlignmentIn(treeCanvas.ap)); + } + else + { + treeCanvas.ap.alignFrame + .addHistoryItem(sortAlignmentIn(treeCanvas.ap)); } } + public CommandI sortAlignmentIn(AlignmentPanel ap) { AlignViewport av = ap.av; SequenceI[] oldOrder = av.getAlignment().getSequencesArray(); AlignmentSorter.sortByTree(av.getAlignment(), tree); CommandI undo; - undo=new OrderCommand("Tree Sort", oldOrder, - av.getAlignment()); + undo = new OrderCommand("Tree Sort", oldOrder, av.getAlignment()); - ap.paintAlignment(true); + ap.paintAlignment(true); return undo; } + /** * DOCUMENT ME! *