X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=759075a46a1b723a133a69bc0879f81f9a1f49b5;hb=a45774ee31d9f35d4eff46d54d7deab719afb092;hp=8f8ac5a027be59dd45a684cde4a8b7e04401e3b1;hpb=f0ed39b35bf7581ff35bfeb52bb2403c179060c0;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 8f8ac5a..759075a 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * * This file is part of Jalview. * @@ -601,6 +601,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { viewport.autocalculateConsensus = autoCalculate.getState(); } + else if (evt.getSource() == sortByTree) + { + viewport.sortByTree = sortByTree.getState(); + } else if (evt.getSource() == this.centreColumnLabelFlag) { centreColumnLabelFlag_stateChanged(); @@ -1032,7 +1036,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, private Hashtable getDisplayedFeatureCols() { - if (alignPanel.getFeatureRenderer() != null) + if (alignPanel.getFeatureRenderer() != null && viewport.featuresDisplayed!=null) { FeatureRenderer fr = alignPanel.getFeatureRenderer(); Hashtable fcols = new Hashtable(); @@ -1065,12 +1069,25 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, if (displayTextbox) { - CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this); + boolean frimport=false; + if (features==null || features.equals("No Features Visible")) + { + features = "# No features visible - paste some and import them here."; + frimport=true; + } + + CutAndPasteTransfer cap = new CutAndPasteTransfer(frimport, this); + if (frimport) + { + cap.setAnnotationImport(); + } Frame frame = new Frame(); frame.add(cap); jalview.bin.JalviewLite.addFrame(frame, "Features", 600, 500); - cap.setText(features); + } else { + if (features==null) + features = ""; } return features; @@ -2538,7 +2555,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, sortByTree(treePanel, title); // treePanel.getTitle()); } }); - + treePanel.addWindowListener(new WindowAdapter() { public void windowOpened(WindowEvent e) @@ -2572,6 +2589,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, alignPanel.paintAlignment(true); return true; } + protected void documentation_actionPerformed() { alignPanel.av.applet.openJalviewHelpUrl(); @@ -2805,6 +2823,9 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, CheckboxMenuItem autoCalculate = new CheckboxMenuItem( "Autocalculate Consensus", true); + CheckboxMenuItem sortByTree = new CheckboxMenuItem( + "Sort Alignment With New Tree", true); + Menu sortByTreeMenu = new Menu(); Menu sort = new Menu(); @@ -3000,6 +3021,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, sort.setLabel("Sort"); calculate.setLabel("Calculate Tree"); autoCalculate.addItemListener(this); + sortByTree.addItemListener(this); inputText.setLabel("Input from textbox"); inputText.addActionListener(this); centreColumnLabelFlag.setLabel("Centre column labels"); @@ -3144,6 +3166,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, calculateMenu.add(pairwiseAlignmentMenuItem); calculateMenu.add(PCAMenuItem); calculateMenu.add(autoCalculate); + calculateMenu.add(sortByTree); this.add(statusBar, BorderLayout.SOUTH); pasteMenu.add(pasteNew); pasteMenu.add(pasteThis); @@ -3543,4 +3566,18 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { alignPanel.seqPanel.scrollTo(row, column); } + public void scrollToRow(int row) + { + alignPanel.seqPanel.scrollToRow(row); + } + public void scrollToColumn(int column) + { + alignPanel.seqPanel.scrollToColumn(column); + } + /** + * @return the alignments unique ID. + */ + public String getSequenceSetId() { + return viewport.getSequenceSetId(); + } }