From: amwaterhouse Date: Tue, 14 Nov 2006 18:05:02 +0000 (+0000) Subject: minimize and raise associated windows X-Git-Tag: Release_2_2~114 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=35cf59b3c7c1080f98763b0c82b2fb73978991fa;hp=ecb17944a46a539f55668158515dcd48b07e42c8;p=jalview.git minimize and raise associated windows --- diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index caa3f5e..e6200d9 100755 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -562,6 +562,56 @@ public class Desktop extends jalview.jbgui.GDesktop } } + public void raiseRelated_actionPerformed(ActionEvent e) + { + reorderAssociatedWindows(false); + } + + public void minimizeAssociated_actionPerformed(ActionEvent e) + { + reorderAssociatedWindows(true); + } + + void reorderAssociatedWindows(boolean minimize) + { + JInternalFrame[] frames = desktop.getAllFrames(); + if (frames == null) + return; + + AlignViewport source = null, target = null; + if (frames[0] instanceof AlignFrame) + source = ( (AlignFrame) frames[0]).getCurrentView(); + else if (frames[0] instanceof TreePanel) + source = ( (TreePanel) frames[0]).getViewPort(); + else if (frames[0] instanceof PCAPanel) + source = ( (PCAPanel) frames[0]).av; + + if (source != null) + for (int i = 0; i < frames.length; i++) + { + target = null; + if (frames[i] instanceof AlignFrame) + target = ( (AlignFrame) frames[i]).getCurrentView(); + else if (frames[i] instanceof TreePanel) + target = ( (TreePanel) frames[i]).getViewPort(); + else if (frames[i] instanceof PCAPanel) + target = ( (PCAPanel) frames[i]).av; + + if (source == target) + { + if(!minimize) + frames[i].toFront(); + try + { + frames[i].setIcon(minimize); + } + catch (java.beans.PropertyVetoException ex) + {} + } + } + } + + /** * DOCUMENT ME! diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java index bee88f9..1b54f83 100755 --- a/src/jalview/jbgui/GDesktop.java +++ b/src/jalview/jbgui/GDesktop.java @@ -53,6 +53,8 @@ public class GDesktop extends JFrame JMenuItem inputSequence = new JMenuItem(); protected JMenuItem vamsasStop = new JMenuItem(); JMenuItem closeAll = new JMenuItem(); + JMenuItem raiseRelated = new JMenuItem(); + JMenuItem minimizeAssociated = new JMenuItem(); /** * Creates a new GDesktop object. @@ -206,6 +208,22 @@ public class GDesktop extends JFrame closeAll_actionPerformed(e); } }); + raiseRelated.setText("Raise Associated Windows"); + raiseRelated.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + raiseRelated_actionPerformed(e); + } + }); + minimizeAssociated.setText("Minimize Associated Windows"); + minimizeAssociated.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + minimizeAssociated_actionPerformed(e); + } + }); desktopMenubar.add(FileMenu); desktopMenubar.add(toolsMenu); VamsasMenu.setVisible(false); @@ -228,6 +246,9 @@ public class GDesktop extends JFrame inputMenu.add(inputURLMenuItem); inputMenu.add(inputTextboxMenuItem); windowMenu.add(closeAll); + windowMenu.add(raiseRelated); + windowMenu.add(minimizeAssociated); + windowMenu.addSeparator(); // inputMenu.add(vamsasLoad); } @@ -346,4 +367,14 @@ public class GDesktop extends JFrame { } + + public void raiseRelated_actionPerformed(ActionEvent e) + { + + } + + public void minimizeAssociated_actionPerformed(ActionEvent e) + { + + } }