/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
viewport.updateConsensus(alignPanel);
annotationPanelMenuItem.setState(viewport.showAnnotation);
+ displayNonconservedMenuItem.setState(viewport.getShowunconserved());
seqLimits.setState(viewport.showJVSuffix);
centreColumnLabelFlag.setState(true);
centreColumnLabelFlag_stateChanged();
}
-
try
{
param = applet.getParameter("windowWidth");
public void itemStateChanged(ItemEvent evt)
{
- if (evt.getSource() == colourTextMenuItem)
+ if (evt.getSource() == displayNonconservedMenuItem)
+ {
+ displayNonconservedMenuItem_actionPerformed();
+ }
+ else if (evt.getSource() == colourTextMenuItem)
{
colourTextMenuItem_actionPerformed();
}
else if (evt.getSource() == this.centreColumnLabelFlag)
{
centreColumnLabelFlag_stateChanged();
+ } else if (evt.getSource() == this.followMouseOverFlag)
+ {
+ mouseOverFlag_stateChanged();
}
alignPanel.paintAlignment(true);
}
+ private void mouseOverFlag_stateChanged()
+ {
+ viewport.followHighlight = followMouseOverFlag.getState();
+ // TODO: could kick the scrollTo mechanism to reset view for current searchresults.
+ }
+
private void centreColumnLabelFlag_stateChanged()
{
viewport.centreColumnLabels = centreColumnLabelFlag.getState();
alignPanel.paintAlignment(true);
}
+ protected void displayNonconservedMenuItem_actionPerformed()
+ {
+ viewport.setShowunconserved(displayNonconservedMenuItem.getState());
+ alignPanel.paintAlignment(true);
+ }
+
protected void wrapMenuItem_actionPerformed()
{
viewport.setWrapAlignment(wrapMenuItem.getState());
modifyPID_actionPerformed();
}
-
public void sortPairwiseMenuItem_actionPerformed()
{
SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
AlignmentSorter.sortByPID(viewport.getAlignment(), viewport
.getAlignment().getSequenceAt(0), null);
+
addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder,
viewport.alignment));
alignPanel.paintAlignment(true);
public void sortIDMenuItem_actionPerformed()
{
- // addHistoryItem(new HistoryItem("ID Sort", viewport.alignment,
- // HistoryItem.SORT));
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
AlignmentSorter.sortByID(viewport.getAlignment());
+ addHistoryItem(new OrderCommand("ID Sort", oldOrder,
+ viewport.alignment));
alignPanel.paintAlignment(true);
}
public void sortGroupMenuItem_actionPerformed()
{
- // addHistoryItem(new HistoryItem("Group Sort", viewport.alignment,
- // HistoryItem.SORT));
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
AlignmentSorter.sortByGroup(viewport.getAlignment());
+ addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+ viewport.alignment));
alignPanel.paintAlignment(true);
}
jalview.bin.JalviewLite.addFrame(tp, treeFile, 600, 500);
addTreeMenuItem(tp, treeFile);
}
-
- void addTreeMenuItem(final TreePanel treePanel, String title)
+ /**
+ * sort the alignment using the given treePanel
+ * @param treePanel tree used to sort view
+ * @param title string used for undo event name
+ */
+ public void sortByTree(TreePanel treePanel, String title)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByTree(viewport.getAlignment(), treePanel
+ .getTree());
+ // addHistoryItem(new HistoryItem("Sort", viewport.alignment,
+ // HistoryItem.SORT));
+ addHistoryItem(new OrderCommand("Order by "+title, oldOrder,
+ viewport.alignment));
+ alignPanel.paintAlignment(true);
+ }
+ /**
+ * Do any automatic reordering of the alignment and add the necessary bits to the menu structure for the new tree
+ * @param treePanel
+ * @param title
+ */
+ protected void addTreeMenuItem(final TreePanel treePanel, final String title)
{
final MenuItem item = new MenuItem(title);
sortByTreeMenu.add(item);
{
public void actionPerformed(ActionEvent evt)
{
- // addHistoryItem(new HistoryItem("Sort", viewport.alignment,
- // HistoryItem.SORT));
- AlignmentSorter.sortByTree(viewport.getAlignment(), treePanel
- .getTree());
- alignPanel.paintAlignment(true);
+ sortByTree(treePanel, title); // treePanel.getTitle());
}
});
treePanel.addWindowListener(new WindowAdapter()
{
+ public void windowOpened(WindowEvent e)
+ {
+ if (viewport.sortByTree)
+ {
+ sortByTree(treePanel, title);
+ }
+ super.windowOpened(e);
+ }
+
public void windowClosing(WindowEvent e)
{
sortByTreeMenu.remove(item);
"For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list",
x, y += fh);
g.drawString("If you use Jalview, please cite:", x, y += fh + 8);
- g
- .drawString(
- "\"Clamp, M., Cuff, J., Searle, S. M. and Barton, G. J. (2004), The Jalview Java Alignment Editor\"",
- x, y += fh);
- g.drawString("Bioinformatics, 2004 20;426-7.", x, y += fh);
+ g.drawString(
+ "Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)",x,y+=fh);
+ g.drawString("Jalview Version 2 - a multiple sequence alignment editor and analysis workbench",x,y+=fh);
+ g.drawString("Bioinformatics doi: 10.1093/bioinformatics/btp033",x,y+=fh);
}
}
CheckboxMenuItem colourTextMenuItem = new CheckboxMenuItem();
+ CheckboxMenuItem displayNonconservedMenuItem = new CheckboxMenuItem();
+
MenuItem alProperties = new MenuItem("Alignment Properties...");
MenuItem overviewMenuItem = new MenuItem();
CheckboxMenuItem centreColumnLabelFlag = new CheckboxMenuItem();
+ CheckboxMenuItem followMouseOverFlag = new CheckboxMenuItem();
+
private void jbInit() throws Exception
{
annotationPanelMenuItem.addItemListener(this);
colourTextMenuItem.setLabel("Colour Text");
colourTextMenuItem.addItemListener(this);
+ displayNonconservedMenuItem.setLabel("Show non-conserved");
+ displayNonconservedMenuItem.addItemListener(this);
alProperties.addActionListener(this);
overviewMenuItem.setLabel("Overview Window");
overviewMenuItem.addActionListener(this);
inputText.addActionListener(this);
centreColumnLabelFlag.setLabel("Centre column labels");
centreColumnLabelFlag.addItemListener(this);
-
+ followMouseOverFlag.setLabel("Automatic Scrolling");
+ followMouseOverFlag.addItemListener(this);
helpMenu.setLabel("Help");
documentation.setLabel("Documentation");
documentation.addActionListener(this);
viewMenu.add(menu1);
viewMenu.add(menu2);
viewMenu.addSeparator();
+ viewMenu.add(followMouseOverFlag);
viewMenu.add(annotationPanelMenuItem);
viewMenu.addSeparator();
viewMenu.add(sequenceFeatures);
formatMenu.add(viewBoxesMenuItem);
formatMenu.add(viewTextMenuItem);
formatMenu.add(colourTextMenuItem);
+ formatMenu.add(displayNonconservedMenuItem);
formatMenu.add(renderGapsMenuItem);
formatMenu.add(centreColumnLabelFlag);
selectMenu.add(findMenuItem);