git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
02144db
)
Dynamically build tree sort menu when sort menu is selected
author
amwaterhouse
<Andrew Waterhouse>
Wed, 22 Nov 2006 17:41:09 +0000
(17:41 +0000)
committer
amwaterhouse
<Andrew Waterhouse>
Wed, 22 Nov 2006 17:41:09 +0000
(17:41 +0000)
src/jalview/gui/AlignFrame.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/AlignFrame.java
b/src/jalview/gui/AlignFrame.java
index
3adc725
..
c1d1087
100755
(executable)
--- a/
src/jalview/gui/AlignFrame.java
+++ b/
src/jalview/gui/AlignFrame.java
@@
-64,7
+64,6
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener
String fileName = null;
String fileName = null;
- private int treeCount = 0;
/**
* Creates a new AlignFrame object.
/**
* Creates a new AlignFrame object.
@@
-2636,9
+2635,11
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener
tp = new TreePanel(alignPanel, type, pwType);
}
tp = new TreePanel(alignPanel, type, pwType);
}
- addTreeMenuItem(tp, title);
+ title = title + " from " + this.title;
+ if(viewport.viewName!=null)
+ title+= " ("+viewport.viewName+")";
- Desktop.addInternalFrame(tp, title + " from " + this.title, 600, 500);
+ Desktop.addInternalFrame(tp, title, 600, 500);
}
/**
}
/**
@@
-2676,51
+2677,53
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener
* @param treePanel Displayed tree window.
* @param title SortBy menu item title.
*/
* @param treePanel Displayed tree window.
* @param title SortBy menu item title.
*/
- void addTreeMenuItem(final TreePanel treePanel, String title)
+ public void buildTreeMenu()
{
{
- final JMenuItem item = new JMenuItem(title);
+ sortByTreeMenu.removeAll();
- treeCount++;
-
- if (treeCount == 1)
- {
- sort.add(sortByTreeMenu);
- }
-
- sortByTreeMenu.add(item);
- item.addActionListener(new java.awt.event.ActionListener()
+ Vector comps = (Vector)PaintRefresher.components.get(viewport.getSequenceSetId());
+ Vector treePanels = new Vector();
+ int i, iSize = comps.size();
+ for(i=0; i<iSize; i++)
{
{
- public void actionPerformed(ActionEvent e)
+ if(comps.elementAt(i) instanceof TreePanel)
{
{
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
- AlignmentSorter.sortByTree(viewport.getAlignment(),
- treePanel.getTree());
+ treePanels.add(comps.elementAt(i));
+ }
+ }
- addHistoryItem(new OrderCommand("Tree Sort",
- oldOrder,
- viewport.alignment));
+ iSize = treePanels.size();
+ if(iSize<1)
+ {
+ sortByTreeMenu.setVisible(false);
+ return;
+ }
- alignPanel.repaint();
- }
- });
+ sortByTreeMenu.setVisible(true);
- treePanel.addInternalFrameListener(new javax.swing.event.
- InternalFrameAdapter()
+ for(i=0; i<treePanels.size(); i++)
{
{
- public void internalFrameClosed(
- javax.swing.event.InternalFrameEvent evt)
+ TreePanel tp = (TreePanel)treePanels.elementAt(i);
+ final JMenuItem item = new JMenuItem(tp.getTitle());
+ final NJTree tree = ((TreePanel)treePanels.elementAt(i)).getTree();
+ item.addActionListener(new java.awt.event.ActionListener()
{
{
- treeCount--;
- sortByTreeMenu.remove(item);
-
- if (treeCount == 0)
+ public void actionPerformed(ActionEvent e)
{
{
- sort.remove(sortByTreeMenu);
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByTree(viewport.getAlignment(), tree);
+
+ addHistoryItem(new OrderCommand("Tree Sort",
+ oldOrder,
+ viewport.alignment));
+
+ alignPanel.repaint();
}
}
- }
- ;
- });
+ });
+
+ sortByTreeMenu.add(item);
+ }
}
/**
}
/**
@@
-2876,7
+2879,6
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener
Desktop.addInternalFrame(tp, title, w, h);
Desktop.addInternalFrame(tp, title, w, h);
- addTreeMenuItem(tp, title);
}
}
catch (Exception ex)
}
}
catch (Exception ex)