From: jprocter Date: Tue, 27 Mar 2012 14:59:39 +0000 (+0100) Subject: JAL-976 - tweak web services gui so empty menus don't get shown and included a 'still... X-Git-Tag: Jalview_2_9~534^2~3 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=b484c3cf88acfa9e676d8612fc129fb94690c29f;p=jalview.git JAL-976 - tweak web services gui so empty menus don't get shown and included a 'still discovering' menu item when JABAWS discovery is still in progress. --- diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 51a119e..e4d66e9 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -4017,20 +4017,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // TODO: group services by location as well as function and/or // introduce // object broker mechanism. - final Vector wsmenu = new Vector(); + final Vector wsmenu = new Vector(); final IProgressIndicator af = me; final JMenu msawsmenu = new JMenu("Alignment"); final JMenu secstrmenu = new JMenu( "Secondary Structure Prediction"); - final JMenu seqsrchmenu = new JMenu( - "Sequence Database Search"); - final JMenu analymenu = new JMenu( - "Analysis"); - // JAL-940 - only show secondary structure prediction services from the legacy server + final JMenu seqsrchmenu = new JMenu("Sequence Database Search"); + final JMenu analymenu = new JMenu("Analysis"); + final JMenu dismenu = new JMenu("Disorder"); + // JAL-940 - only show secondary structure prediction services from + // the legacy server if (// Cache.getDefault("SHOW_JWS1_SERVICES", true) - // && - Discoverer.services != null - && (Discoverer.services.size() > 0)) + // && + Discoverer.services != null && (Discoverer.services.size() > 0)) { // TODO: refactor to allow list of AbstractName/Handler bindings to // be @@ -4038,7 +4037,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS"); Vector secstrpr = (Vector) Discoverer.services .get("SecStrPred"); - Vector seqsrch = null; // (Vector) Discoverer.services.get("SeqSearch"); + Vector seqsrch = null; // (Vector) + // Discoverer.services.get("SeqSearch"); // TODO: move GUI generation code onto service implementation - so a // client instance attaches itself to the GUI with method call like // jalview.ws.MsaWSClient.bind(servicehandle, Desktop.instance, @@ -4082,12 +4082,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } - - // Add all submenus in the order they should appear on the web services menu + // Add all submenus in the order they should appear on the web + // services menu wsmenu.add(msawsmenu); wsmenu.add(secstrmenu); - wsmenu.add(new JMenu("Disorder")); + wsmenu.add(dismenu); wsmenu.add(analymenu); +// final ArrayList submens=new ArrayList(); +// submens.add(msawsmenu); + // submens.add(secstrmenu); + // submens.add(dismenu); + // submens.add(analymenu); // No search services yet // wsmenu.add(seqsrchmenu); @@ -4121,11 +4126,29 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { jws2servs.attachWSMenuEntry(webService, me); } + if (jws2servs.isRunning()) + { + JMenuItem tm = new JMenuItem( + "Still discovering JABA Services"); + tm.setEnabled(false); + webService.add(tm); + } } } build_urlServiceMenu(me.webService); build_fetchdbmenu(webService); + for (JMenu item : wsmenu) + { + if (item.getItemCount() == 0) + { + item.setEnabled(false); + } + else + { + item.setEnabled(true); + } + } } catch (Exception e) { }