X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FDesktop.java;h=45a03faf204715afdcb1c8d435983cf971acf0fb;hb=ad35f232acd499d9457056ca24b663866a09edd2;hp=f11b1d55a6e20ab95f2cce3e80efc1240f079dba;hpb=ed8d18abc302ac802ad1d0611f3fe2fef570ab5e;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index f11b1d5..45a03fa 100755 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -47,6 +47,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; @@ -251,7 +252,10 @@ public class Desktop extends jalview.jbgui.GDesktop public void lostOwnership(Clipboard clipboard, Transferable contents) { - Desktop.jalviewClipboard = null; + if (!internalCopy) + Desktop.jalviewClipboard = null; + + internalCopy = false; } public void dragEnter(DropTargetDragEvent evt) @@ -834,6 +838,52 @@ public class Desktop extends jalview.jbgui.GDesktop } + jalview.gui.VamsasClient v_client=null; + public void vamsasLoad_actionPerformed(ActionEvent e) + { + if (v_client==null) { + // Start a session. + JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. + getProperty("LAST_DIRECTORY")); + + chooser.setFileView(new JalviewFileView()); + chooser.setDialogTitle("Load Vamsas file"); + chooser.setToolTipText("Import"); + + int value = chooser.showOpenDialog(this); + + if (value == JalviewFileChooser.APPROVE_OPTION) + { + v_client = new jalview.gui.VamsasClient(this, + chooser.getSelectedFile()); + this.vamsasLoad.setText("Session Update"); + this.vamsasStop.setVisible(true); + v_client.initial_update(); + v_client.startWatcher(); + } + } else { + // store current data in session. + v_client.push_update(); + } + } + public void vamsasStop_actionPerformed(ActionEvent e) { + if (v_client!=null) { + v_client.end_session(); + v_client=null; + this.vamsasStop.setVisible(false); + this.vamsasLoad.setText("Start Vamsas Session..."); + } + } + /** + * hide vamsas user gui bits when a vamsas document event is being handled. + * @param b true to hide gui, false to reveal gui + */ + public void setVamsasUpdate(boolean b) { + jalview.bin.Cache.log.debug("Setting gui for Vamsas update "+(b ? "in progress" : "finished")); + vamsasLoad.setVisible(!b); + vamsasStop.setVisible(!b); + + } }