X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=6d8f125cb19acd2d6b4706502ca87475be634e78;hb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;hp=caa3f5e4d7a1587e66970409bc3b8d464a9643eb;hpb=ecb17944a46a539f55668158515dcd48b07e42c8;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index caa3f5e..6d8f125 100755 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -19,7 +19,6 @@ package jalview.gui; import jalview.io.*; - import java.awt.*; import java.awt.datatransfer.*; import java.awt.dnd.*; @@ -47,6 +46,7 @@ public class Desktop extends jalview.jbgui.GDesktop public static jalview.ws.Discoverer discoverer; public static Object [] jalviewClipboard; + public static boolean internalCopy = false; static int fileLoadingCount= 0; @@ -208,9 +208,11 @@ public class Desktop extends jalview.jbgui.GDesktop } + public void internalFrameClosed( javax.swing.event.InternalFrameEvent evt) { + PaintRefresher.RemoveComponent(frame); openFrameCount--; windowMenu.remove(menuItem); JInternalFrame itf = desktop.getSelectedFrame(); @@ -244,12 +246,15 @@ public class Desktop extends jalview.jbgui.GDesktop frame.setSelected(true); frame.requestFocus(); }catch(java.beans.PropertyVetoException ve) - {} + { } } public void lostOwnership(Clipboard clipboard, Transferable contents) { - Desktop.jalviewClipboard = null; + if (!internalCopy) + Desktop.jalviewClipboard = null; + + internalCopy = false; } public void dragEnter(DropTargetDragEvent evt) @@ -308,9 +313,7 @@ public class Desktop extends jalview.jbgui.GDesktop } } catch (Exception e) - { - e.printStackTrace(); - } + { } if (files != null) { @@ -339,9 +342,7 @@ public class Desktop extends jalview.jbgui.GDesktop } } catch (Exception ex) - { - ex.printStackTrace(); - } + { } } } @@ -546,9 +547,7 @@ public class Desktop extends jalview.jbgui.GDesktop hb.setDisplayed(true); } catch (Exception ex) - { - ex.printStackTrace(); - } + { } } public void closeAll_actionPerformed(ActionEvent e) @@ -562,6 +561,78 @@ public class Desktop extends jalview.jbgui.GDesktop } } + public void raiseRelated_actionPerformed(ActionEvent e) + { + reorderAssociatedWindows(false, false); + } + + public void minimizeAssociated_actionPerformed(ActionEvent e) + { + reorderAssociatedWindows(true, false); + } + + void closeAssociatedWindows() + { + reorderAssociatedWindows(false, true); + } + + void reorderAssociatedWindows(boolean minimize, boolean close) + { + JInternalFrame[] frames = desktop.getAllFrames(); + if (frames == null || frames.length<1) + 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; + else if (frames[0].getContentPane() instanceof PairwiseAlignPanel) + source = ((PairwiseAlignPanel)frames[0].getContentPane()).av; + + + if (source != null) + for (int i = 0; i < frames.length; i++) + { + target = null; + if(frames[i]==null) + { + continue; + } + 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; + else if (frames[i].getContentPane() instanceof PairwiseAlignPanel) + target = ( (PairwiseAlignPanel) frames[i].getContentPane()).av; + + if (source == target) + { + try + { + if (close) + frames[i].setClosed(true); + else + { + frames[i].setIcon(minimize); + if (!minimize) + { + frames[i].toFront(); + } + } + + } + catch (java.beans.PropertyVetoException ex) + { } + } + } + } + + /** * DOCUMENT ME! @@ -812,5 +883,15 @@ public class Desktop extends jalview.jbgui.GDesktop vamsasStop.setVisible(!b); } + /** + * Checks the given url to see if it gives a response indicating that + * the user should be informed of a new questionnaire. + * @param url + */ + public void checkForQuestionnaire(String url) { + UserQuestionnaireCheck jvq = new UserQuestionnaireCheck(url); + javax.swing.SwingUtilities.invokeLater(jvq); + } + }