X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=d133624a3dc9a22f4a13065abc3b837b34b86481;hp=80b01d0ce2da74bb150583837d7d1c96fb40b8d1;hb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;hpb=9740e237ec7a9accfd02aa6d21fd9be34847e214 diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 80b01d0..d133624 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, J Engelhardt, LM Lui, 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,9 +2589,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, alignPanel.paintAlignment(true); return true; } + protected void documentation_actionPerformed() { - showURL("http://www.jalview.org/help.html", "HELP"); + alignPanel.av.applet.openJalviewHelpUrl(); } protected void about_actionPerformed() @@ -2645,45 +2663,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, } else { - try - { - if (url.indexOf(":") == -1) - { - // TODO: verify (Bas Vroling bug) prepend codebase or server URL to - // form valid URL - // Should really use docbase, not codebase. - if (url.indexOf("/") == 0) - { - String codebase = viewport.applet.getCodeBase().toString(); - url = codebase.substring(0, codebase.length() - - viewport.applet.getCodeBase().getFile().length()) - + url; - } - else - { - url = viewport.applet.getCodeBase() + url; - } - System.out.println("Show url (prepended codebase): " + url); - } - else - { - System.out.println("Show url: " + url); - } - if (url.indexOf("javascript:") == 0) - { - // no target for the javascript context - viewport.applet.getAppletContext().showDocument( - new java.net.URL(url)); - } - else - { - viewport.applet.getAppletContext().showDocument( - new java.net.URL(url), target); - } - } catch (Exception ex) - { - ex.printStackTrace(); - } + viewport.applet.showURL(url, target); } } @@ -2843,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(); @@ -3038,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"); @@ -3182,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); @@ -3581,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(); + } }