X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FWebserviceInfo.java;h=b7d54d696a21752f14209ffadc2b510fd804fedf;hb=d587f1aa61946dc14f6f089cf1dc2a3116cfb773;hp=c8beeb1a875d8b19b7488c8df0fe4b60e963ceed;hpb=c431a65bbe794a0dd27f3f806d3c5cf37c53279c;p=jalview.git diff --git a/src/jalview/gui/WebserviceInfo.java b/src/jalview/gui/WebserviceInfo.java index c8beeb1..b7d54d6 100755 --- a/src/jalview/gui/WebserviceInfo.java +++ b/src/jalview/gui/WebserviceInfo.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -63,7 +63,9 @@ public class WebserviceInfo extends GWebserviceInfo JInternalFrame frame; JTabbedPane subjobs=null; java.util.Vector jobPanes = null; - // tabbed or not + private boolean serviceCanMergeResults = false; + private boolean viewResultsImmediatly = true; + // tabbed or not public synchronized int addJobPane() { JScrollPane jobpane = new JScrollPane(); JTextArea progressText = new JTextArea(); @@ -141,6 +143,8 @@ public class WebserviceInfo extends GWebserviceInfo { thisService = newservice; serviceIsCancellable = newservice.isCancellable(); + frame.setClosable(!serviceIsCancellable); + serviceCanMergeResults = newservice.canMergeResults(); } /** @@ -354,22 +358,40 @@ public class WebserviceInfo extends GWebserviceInfo } else { - frame.setClosable(true); thisService.cancelJob(); } + frame.setClosable(true); } - + /** + * Set up GUI for user to get at results - and possibly automatically display + * them if viewResultsImmediatly is set. + */ public void setResultsReady() { frame.setClosable(true); buttonPanel.remove(cancel); buttonPanel.add(showResultsNewFrame); - buttonPanel.add(mergeResults); - buttonPanel.setLayout(new GridLayout(2,1,5,5)); + if (serviceCanMergeResults) + { + buttonPanel.add(mergeResults); + buttonPanel.setLayout(new GridLayout(2, 1, 5, 5)); + } buttonPanel.validate(); validate(); + if (viewResultsImmediatly) + showResultsNewFrame.doClick(); } + /** + * called when job has finished but no result objects can be passed back to user + */ + public void setFinishedNoResults() + { + frame.setClosable(true); + buttonPanel.remove(cancel); + buttonPanel.validate(); + validate(); + } class AnimatedPanel extends JPanel implements Runnable {