/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
* \r
* This file is part of Jalview.\r
* \r
{\r
viewport.autocalculateConsensus = autoCalculate.getState();\r
}\r
+ else if (evt.getSource() == sortByTree)\r
+ {\r
+ viewport.sortByTree = sortByTree.getState();\r
+ }\r
else if (evt.getSource() == this.centreColumnLabelFlag)\r
{\r
centreColumnLabelFlag_stateChanged();\r
\r
private Hashtable getDisplayedFeatureCols()\r
{\r
- if (alignPanel.getFeatureRenderer() != null)\r
+ if (alignPanel.getFeatureRenderer() != null && viewport.featuresDisplayed!=null)\r
{\r
FeatureRenderer fr = alignPanel.getFeatureRenderer();\r
Hashtable fcols = new Hashtable();\r
\r
if (displayTextbox)\r
{\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);\r
+ boolean frimport=false;\r
+ if (features==null || features.equals("No Features Visible"))\r
+ {\r
+ features = "# No features visible - paste some and import them here.";\r
+ frimport=true;\r
+ }\r
+ \r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(frimport, this);\r
+ if (frimport)\r
+ {\r
+ cap.setAnnotationImport();\r
+ }\r
Frame frame = new Frame();\r
frame.add(cap);\r
jalview.bin.JalviewLite.addFrame(frame, "Features", 600, 500);\r
-\r
cap.setText(features);\r
+ } else {\r
+ if (features==null)\r
+ features = "";\r
}\r
\r
return features;\r
sortByTree(treePanel, title); // treePanel.getTitle());\r
}\r
});\r
-\r
+ \r
treePanel.addWindowListener(new WindowAdapter()\r
{\r
public void windowOpened(WindowEvent e)\r
alignPanel.paintAlignment(true);\r
return true;\r
}\r
+\r
protected void documentation_actionPerformed()\r
{\r
alignPanel.av.applet.openJalviewHelpUrl();\r
CheckboxMenuItem autoCalculate = new CheckboxMenuItem(\r
"Autocalculate Consensus", true);\r
\r
+ CheckboxMenuItem sortByTree = new CheckboxMenuItem(\r
+ "Sort Alignment With New Tree", true);\r
+\r
Menu sortByTreeMenu = new Menu();\r
\r
Menu sort = new Menu();\r
sort.setLabel("Sort");\r
calculate.setLabel("Calculate Tree");\r
autoCalculate.addItemListener(this);\r
+ sortByTree.addItemListener(this);\r
inputText.setLabel("Input from textbox");\r
inputText.addActionListener(this);\r
centreColumnLabelFlag.setLabel("Centre column labels");\r
calculateMenu.add(pairwiseAlignmentMenuItem);\r
calculateMenu.add(PCAMenuItem);\r
calculateMenu.add(autoCalculate);\r
+ calculateMenu.add(sortByTree);\r
this.add(statusBar, BorderLayout.SOUTH);\r
pasteMenu.add(pasteNew);\r
pasteMenu.add(pasteThis);\r
{\r
alignPanel.seqPanel.scrollTo(row, column); \r
}\r
+ public void scrollToRow(int row)\r
+ {\r
+ alignPanel.seqPanel.scrollToRow(row); \r
+ }\r
+ public void scrollToColumn(int column)\r
+ {\r
+ alignPanel.seqPanel.scrollToColumn(column); \r
+ }\r
+ /**\r
+ * @return the alignments unique ID.\r
+ */\r
+ public String getSequenceSetId() {\r
+ return viewport.getSequenceSetId();\r
+ }\r
}\r