X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=9b91255f50ba15bc43994c328c9457f6738509c0;hb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;hp=f05d87388acbf5b4a8432f778bc52ec218b5e4a9;hpb=4e665c174de86f7fb68b257ccb2b0aa2d62cb429;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index f05d873..9b91255 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle * * This file is part of Jalview. * @@ -72,6 +72,7 @@ import jalview.schemes.TaylorColourScheme; import jalview.schemes.TurnColourScheme; import jalview.schemes.UserColourScheme; import jalview.schemes.ZappoColourScheme; +import jalview.ws.WSMenuEntryProviderI; import jalview.ws.jws1.Discoverer; import jalview.ws.jws2.Jws2Discoverer; @@ -402,13 +403,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } break; - case KeyEvent.VK_A: - if (viewport.cursorMode) - { - alignPanel.seqPanel.insertNucAtCursor(false,"A"); - //System.out.println("A"); - } - break; + //case KeyEvent.VK_A: + // if (viewport.cursorMode) + // { + // alignPanel.seqPanel.insertNucAtCursor(false,"A"); + // //System.out.println("A"); + // } + // break; /* case KeyEvent.VK_CLOSE_BRACKET: if (viewport.cursorMode) @@ -589,6 +590,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } ap.av.updateConservation(ap); ap.av.updateConsensus(ap); + ap.av.updateStrucConsensus(ap); } } @@ -660,11 +662,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, conservationMenuItem.setEnabled(!nucleotide); modifyConservation.setEnabled(!nucleotide); showGroupConservation.setEnabled(!nucleotide); + rnahelicesColour.setEnabled(nucleotide); + purinePyrimidineColour.setEnabled(nucleotide); // Remember AlignFrame always starts as protein - if (!nucleotide) - { - calculateMenu.remove(calculateMenu.getItemCount() - 2); - } + //if (!nucleotide) + // { + // showTr + // calculateMenu.remove(calculateMenu.getItemCount() - 2); + // } } /** @@ -714,7 +719,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, applyToAllGroups.setState(av.colourAppliesToAllGroups); showNpFeatsMenuitem.setSelected(av.isShowNpFeats()); showDbRefsMenuitem.setSelected(av.isShowDbRefs()); - + autoCalculate.setSelected(av.autoCalculateConsensus); + sortByTree.setSelected(av.sortByTree); + listenToViewSelections.setSelected(av.followSelection); + rnahelicesColour.setEnabled(av.alignment.hasRNAStructure()); + rnahelicesColour.setSelected(av.getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour); setShowProductsEnabled(); updateEditMenuBar(); @@ -3450,7 +3459,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .getAlignment().getSequences()); } } + public void sortByTreeOption_actionPerformed(ActionEvent e) + { + viewport.sortByTree = sortByTree.isSelected(); + } + @Override + protected void listenToViewSelections_actionPerformed(ActionEvent e) + { + viewport.followSelection = listenToViewSelections.isSelected(); + } /** * DOCUMENT ME! * @@ -3733,21 +3751,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, for (i = 0; i < treePanels.size(); i++) { - TreePanel tp = (TreePanel) treePanels.elementAt(i); + final TreePanel tp = (TreePanel) treePanels.elementAt(i); final JMenuItem item = new JMenuItem(tp.getTitle()); final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree(); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { - SequenceI[] oldOrder = viewport.getAlignment() - .getSequencesArray(); - AlignmentSorter.sortByTree(viewport.getAlignment(), tree); - - addHistoryItem(new OrderCommand("Tree Sort", oldOrder, - viewport.alignment)); - - alignPanel.paintAlignment(true); + tp.sortByTree_actionPerformed(null); + addHistoryItem(tp.sortAlignmentIn(alignPanel)); + } }); @@ -3991,17 +4004,26 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // object broker mechanism. final Vector wsmenu = new Vector(); final IProgressIndicator af = me; - if (Cache.getDefault("SHOW_JWS1_SERVICES", true) - && Discoverer.services != null + 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 + if (// Cache.getDefault("SHOW_JWS1_SERVICES", true) + // && + Discoverer.services != null && (Discoverer.services.size() > 0)) { // TODO: refactor to allow list of AbstractName/Handler bindings to // be // stored or retrieved from elsewhere - Vector msaws = (Vector) Discoverer.services.get("MsaWS"); + Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS"); Vector secstrpr = (Vector) Discoverer.services .get("SecStrPred"); - Vector seqsrch = (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, @@ -4009,7 +4031,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (msaws != null) { // Add any Multiple Sequence Alignment Services - final JMenu msawsmenu = new JMenu("Alignment"); for (int i = 0, j = msaws.size(); i < j; i++) { final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws @@ -4019,13 +4040,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, impl.attachWSMenuEntry(msawsmenu, me); } - wsmenu.add(msawsmenu); } if (secstrpr != null) { // Add any secondary structure prediction services - final JMenu secstrmenu = new JMenu( - "Secondary Structure Prediction"); for (int i = 0, j = secstrpr.size(); i < j; i++) { final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr @@ -4034,13 +4052,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .getServiceClient(sh); impl.attachWSMenuEntry(secstrmenu, me); } - wsmenu.add(secstrmenu); } if (seqsrch != null) { // Add any sequence search services - final JMenu seqsrchmenu = new JMenu( - "Sequence Database Search"); for (int i = 0, j = seqsrch.size(); i < j; i++) { final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) seqsrch @@ -4049,7 +4064,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, .getServiceClient(sh); impl.attachWSMenuEntry(seqsrchmenu, me); } - wsmenu.add(seqsrchmenu); } } @@ -4061,15 +4075,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (jws2servs.hasServices()) { - JMenu jws2men = new JMenu("Jaba Web Services"); - jws2servs.attachWSMenuEntry(jws2men, me); - for (int i = 0, iSize = jws2men.getMenuComponentCount(); i < iSize; i++) - { - wsmenu.add(jws2men.getMenuComponent(i)); - } + jws2servs.attachWSMenuEntry(msawsmenu, me); } } } + // Add all submenus in the order they should appear on the web services menu + wsmenu.add(msawsmenu); + wsmenu.add(secstrmenu); + wsmenu.add(analymenu); + // No search services yet + // wsmenu.add(seqsrchmenu); javax.swing.SwingUtilities.invokeLater(new Runnable() { @@ -4077,9 +4092,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { try { - - resetWebServiceMenu(); - // finally, add the whole shebang onto the webservices menu + webService.removeAll(); + // first, add discovered services onto the webservices menu if (wsmenu.size() > 0) { for (int i = 0, j = wsmenu.size(); i < j; i++) @@ -4089,8 +4103,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } else { - me.webService.add(me.webServiceNoServices); + webService.add(me.webServiceNoServices); } + build_urlServiceMenu(me.webService); + build_fetchdbmenu(webService); } catch (Exception e) { } @@ -4108,17 +4124,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } - /** - * empty the web service menu and add any ad-hoc functions not dynamically - * discovered. - * - */ - private void resetWebServiceMenu() - { - webService.removeAll(); - build_fetchdbmenu(webService); - build_urlServiceMenu(webService); - } /** * construct any groupURL type service menu entries. @@ -4127,11 +4132,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, */ private void build_urlServiceMenu(JMenu webService) { - if (Cache.getDefault("SHOW_ENFIN_SERVICES", true)) - { - jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry( - webService, this); - } // TODO: remove this code when 2.7 is released // DEBUG - alignmentView /* @@ -4147,9 +4147,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // TODO: refactor to RestClient discoverer and merge menu entries for // rest-style services with other types of analysis/calculation service // SHmmr test client - still being implemented. - jalview.ws.rest.RestClient.makeShmmrRestClient().attachWSMenuEntry( - webService, this); // DEBUG - alignmentView + + for (jalview.ws.rest.RestClient client: jalview.ws.rest.RestClient.getRestClients()) { + client.attachWSMenuEntry(JvSwingUtils.findOrCreateMenu(webService, client.getAction()), this); + } + + if (Cache.getDefault("SHOW_ENFIN_SERVICES", true)) + { + jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry( + webService, this); + } } /* @@ -4732,7 +4740,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, viewport.updateSequenceIdColours(); buildSortByAnnotationScoresMenu(); alignPanel.paintAlignment(true); - System.out.println("Hallo"); } } catch (Exception ex) {