X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FDesktop.java;h=be05b485d92656582dae4f7404a1dc6547ac3029;hb=68a07ae7d499ec6d176cd246bc9060956bd40fa7;hp=10d2d430f013a5d001dc87ce6707dbb410c12af1;hpb=3c7b844a711755d0a8520765ec8f21cd4c73375e;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 10d2d43..be05b48 100755 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -432,15 +432,9 @@ public class Desktop JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. getProperty( "LAST_DIRECTORY"), - new String[] - { - "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", - "jar" - }, - new String[] - { - "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview" - }, jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT")); + jalview.io.AppletFormatAdapter.READABLE_EXTENSIONS, + jalview.io.AppletFormatAdapter.READABLE_FNAMES, + jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT")); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Open local file"); @@ -821,21 +815,45 @@ public class Desktop { if (fileLoadingCount == 0) { + addProgressPanel("Loading File: " + fileName + " "); + + } + fileLoadingCount++; + } + private JProgressBar addProgressPanel(String string) + { + if (progressPanel==null) + { progressPanel = new JPanel(new BorderLayout()); - JProgressBar progressBar = new JProgressBar(); - progressBar.setIndeterminate(true); + totalProgressCount=0; + } + JProgressBar progressBar = new JProgressBar(); + progressBar.setIndeterminate(true); - progressPanel.add(new JLabel("Loading File: " + fileName + " "), - BorderLayout.WEST); + progressPanel.add(new JLabel(string), + BorderLayout.WEST); - progressPanel.add(progressBar, BorderLayout.CENTER); + progressPanel.add(progressBar, BorderLayout.CENTER); - instance.getContentPane().add(progressPanel, BorderLayout.SOUTH); + instance.getContentPane().add(progressPanel, BorderLayout.SOUTH); + totalProgressCount++; + validate(); + return progressBar; + } + int totalProgressCount=0; + private void removeProgressPanel(JProgressBar progbar) + { + if (progressPanel!=null) + { + progressPanel.remove(progbar); + if (--totalProgressCount<1) + { + this.getContentPane().remove(progressPanel); + progressPanel = null; + } } - fileLoadingCount++; validate(); } - public void stopLoading() { fileLoadingCount--; @@ -850,7 +868,6 @@ public class Desktop } validate(); } - public static int getViewCount(String viewId) { int count = 0; @@ -1012,7 +1029,7 @@ public class Desktop vamsasStart.setText("Session Update"); vamsasSave.setVisible(true); vamsasStop.setVisible(true); - vamsasImport.setVisible(true); + vamsasImport.setVisible(false); // Document import to existing session is not possible for vamsas-client-1.0. } protected void setupVamsasDisconnectedGui() { @@ -1064,15 +1081,25 @@ public class Desktop { if (dsktp.v_client == null) { - dsktp.v_client = new VamsasApplication(dsktp, mysesid); - dsktp.setupVamsasConnectedGui(); - dsktp.v_client.initial_update(); + Thread rthr = new Thread(new Runnable() { + + public void run() + { + dsktp.v_client = new VamsasApplication(dsktp, mysesid); + dsktp.setupVamsasConnectedGui(); + dsktp.v_client.initial_update(); + } + + }); + rthr.start(); } }; }); VamsasStMenu.add(sessit); } - VamsasStMenu.setVisible(true); + // don't show an empty menu. + VamsasStMenu.setVisible(sess.length>0); + } else { @@ -1134,6 +1161,7 @@ public class Desktop } } } + JProgressBar vamUpdate = null; /** * hide vamsas user gui bits when a vamsas document event is being handled. * @param b true to hide gui, false to reveal gui @@ -1142,6 +1170,15 @@ public class Desktop { jalview.bin.Cache.log.debug("Setting gui for Vamsas update " + (b ? "in progress" : "finished")); + + if (vamUpdate!=null) + { + this.removeProgressPanel(vamUpdate); + } + if (b) + { + vamUpdate = this.addProgressPanel("Updating vamsas session"); + } vamsasStart.setVisible(!b); vamsasStop.setVisible(!b); vamsasSave.setVisible(!b); @@ -1255,7 +1292,7 @@ public class Desktop * Accessor method to quickly get all the AlignmentFrames * loaded. */ - protected AlignFrame[] getAlignframes() { + public static AlignFrame[] getAlignframes() { JInternalFrame[] frames = Desktop.desktop.getAllFrames(); if (frames == null)