X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGRestServiceEditorPane.java;h=a403088fb2cd03cd78fa637ffe4a603dfd5c5e5d;hb=ad20cd92225f2ee8c251d39b00b90555d382a616;hp=74b1463c26ab51794155030127444a427957a57a;hpb=e74c1be398cd4ebe5f420c13be6143464100bb52;p=jalview.git diff --git a/src/jalview/jbgui/GRestServiceEditorPane.java b/src/jalview/jbgui/GRestServiceEditorPane.java index 74b1463..a403088 100644 --- a/src/jalview/jbgui/GRestServiceEditorPane.java +++ b/src/jalview/jbgui/GRestServiceEditorPane.java @@ -1,15 +1,30 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + */ package jalview.jbgui; import jalview.gui.JvSwingUtils; import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; -import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; @@ -19,17 +34,13 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTextArea; -import javax.swing.JViewport; -import javax.swing.UIManager; +import javax.swing.ListSelectionModel; import javax.swing.border.TitledBorder; -import javax.swing.event.CaretEvent; -import javax.swing.event.CaretListener; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; import net.miginfocom.swing.MigLayout; -public class GRestServiceEditorPane extends JPanel { +public class GRestServiceEditorPane extends JPanel +{ protected JTabbedPane panels; @@ -77,10 +88,11 @@ public class GRestServiceEditorPane extends JPanel { details.setLayout(new MigLayout()); inputs = new JPanel(); inputs.setName("Input/Output"); - inputs.setLayout(new MigLayout("","[grow 85,fill][]","")); + inputs.setLayout(new MigLayout("", "[grow 85,fill][]", "")); paste = new JPanel(); paste.setName("Cut'n'Paste"); - paste.setLayout(new MigLayout()); + paste.setLayout(new MigLayout("", "[grow 100, fill]", + "[][grow 100,fill]")); panels = new JTabbedPane(); panels.addTab(details.getName(), details); @@ -93,38 +105,38 @@ public class GRestServiceEditorPane extends JPanel { cpanel = details; name = new JTextArea(1, 12); - JvSwingUtils - .mgAddtoLayout(cpanel, "Short descriptive name for service", - new JLabel("Name:"), name,"wrap"); + JvSwingUtils.mgAddtoLayout(cpanel, + "Short descriptive name for service", new JLabel("Name:"), + name, "wrap"); action = new JComboBox(); JvSwingUtils .mgAddtoLayout( cpanel, "What kind of function the service performs (e.g. alignment, analysis, search, etc).", - new JLabel("Service Action:"), action,"wrap"); - descr = new JTextArea(4, 40); + new JLabel("Service Action:"), action, "wrap"); + descr = new JTextArea(4, 60); descrVp = new JScrollPane(); descrVp.setViewportView(descr); JvSwingUtils.mgAddtoLayout(cpanel, "Brief description of service", - new JLabel("Description:"), descrVp,"wrap"); + new JLabel("Description:"), descrVp, "wrap"); - url = new JTextArea(2, 20); + url = new JTextArea(2, 60); urlVp = new JScrollPane(); urlVp.setViewportView(url); JvSwingUtils .mgAddtoLayout( cpanel, "URL to post data to service. Include any special parameters needed here", - new JLabel("POST URL:"), urlVp,"wrap"); + new JLabel("POST URL:"), urlVp, "wrap"); urlsuff = new JTextArea(); - urlsuff.setColumns(20); + urlsuff.setColumns(60); JvSwingUtils .mgAddtoLayout( cpanel, "Optional suffix added to URL when retrieving results from service", - new JLabel("URL Suffix:"), urlsuff,"wrap"); + new JLabel("URL Suffix:"), urlsuff, "wrap"); // input options // details.add(cpanel = new JPanel(), BorderLayout.CENTER); @@ -165,12 +177,9 @@ public class GRestServiceEditorPane extends JPanel { } }); gapChar = new JComboBox(); - JvSwingUtils - .mgAddtoLayout( - cpanel, - "Which gap character does this service prefer ?", - new JLabel("Gap Character:"), gapChar,"wrap"); - + JvSwingUtils.mgAddtoLayout(cpanel, + "Which gap character does this service prefer ?", new JLabel( + "Gap Character:"), gapChar, "wrap"); cpanel.add(hSeparable); cpanel.add(vSeparable); @@ -179,10 +188,52 @@ public class GRestServiceEditorPane extends JPanel { // Inputparams JPanel iprmsList = new JPanel(); iprmsList.setBorder(new TitledBorder("Data input parameters")); - iprmsList.setLayout(new MigLayout()); + iprmsList.setLayout(new MigLayout("", "[grow 90, fill][]")); iprmVp = new JScrollPane(); iprmVp.getViewport().setView(iprms = new JList()); iprmsList.add(iprmVp); + iprms.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + iprms.addMouseListener(new MouseListener() + { + + @Override + public void mouseReleased(MouseEvent e) + { + // TODO Auto-generated method stub + + } + + @Override + public void mousePressed(MouseEvent e) + { + // TODO Auto-generated method stub + + } + + @Override + public void mouseExited(MouseEvent e) + { + // TODO Auto-generated method stub + + } + + @Override + public void mouseEntered(MouseEvent e) + { + // TODO Auto-generated method stub + + } + + @Override + public void mouseClicked(MouseEvent e) + { + if (e.getClickCount() > 1) + { + iprmListSelection_doubleClicked(); + } + + } + }); JPanel iprmButs = new JPanel(); iprmButs.setLayout(new MigLayout()); @@ -209,13 +260,13 @@ public class GRestServiceEditorPane extends JPanel { } }); - iprmButs.add(iprmsAdd,"wrap"); - iprmButs.add(iprmsRem,"wrap"); + iprmButs.add(iprmsAdd, "wrap"); + iprmButs.add(iprmsRem, "wrap"); iprmsList.add(iprmButs, "wrap"); inputs.add(iprmsList, "wrap"); // Return Parameters - + rdataAdd = JvSwingUtils.makeButton("+", "Add return datatype", new ActionListener() { @@ -263,38 +314,95 @@ public class GRestServiceEditorPane extends JPanel { JPanel rparamList = new JPanel(); rparamList.setBorder(new TitledBorder("Data returned by service")); - rparamList.setLayout(new MigLayout()); + rparamList.setLayout(new MigLayout("", "[grow 90, fill][]")); rdata = new JList(); + rdata.setToolTipText("Right click to edit currently selected parameter."); + rdata.addMouseListener(new MouseListener() + { + + @Override + public void mouseReleased(MouseEvent arg0) + { + // TODO Auto-generated method stub + + } + + @Override + public void mousePressed(MouseEvent arg0) + { + + } + + @Override + public void mouseExited(MouseEvent arg0) + { + // TODO Auto-generated method stub + + } + + @Override + public void mouseEntered(MouseEvent arg0) + { + // TODO Auto-generated method stub + + } + + @Override + public void mouseClicked(MouseEvent arg0) + { + if (arg0.getButton() == MouseEvent.BUTTON3) + { + rdata_rightClicked(arg0); + } + + } + }); rdataVp = new JScrollPane(); rdataVp.getViewport().setView(rdata); rparamList.add(rdataVp); JPanel rparamButs = new JPanel(); rparamButs.setLayout(new MigLayout()); - rparamButs.add(rdataAdd,"wrap"); - rparamButs.add(rdataRem,"wrap"); - rparamButs.add(rdataNup,"wrap"); - rparamButs.add(rdataNdown,"wrap"); - rparamList.add(rparamButs,"wrap"); - inputs.add(rparamList,"wrap"); - + rparamButs.add(rdataAdd, "wrap"); + rparamButs.add(rdataRem, "wrap"); + rparamButs.add(rdataNup, "wrap"); + rparamButs.add(rdataNdown, "wrap"); + rparamList.add(rparamButs, "wrap"); + inputs.add(rparamList, "wrap"); + // Parse flat-text to a service - - urldesc = new JTextArea(2,40); + urldesc = new JTextArea(4, 60); urldesc.setEditable(true); + urldesc.setWrapStyleWord(true); urldescVp = new JScrollPane(); urldescVp.setViewportView(urldesc); - JvSwingUtils.mgAddtoLayout(paste,"Flat file representation of this rest service using the Really Simple Bioinformatics Service formalism", new JLabel("RSBS Encoded Service:"), urldescVp,"wrap"); + JPanel urldescPane = new JPanel(); + urldescPane.setLayout(new MigLayout("", "[grow 100, fill]", + "[grow 100, fill]")); + urldescPane.setBorder(new TitledBorder("RSBS Encoded Service")); + urldescPane.add(urldescVp, "span"); + paste.add(urldescPane, "span"); + urldescPane + .setToolTipText("" + + JvSwingUtils + .wrapTooltip("Flat file representation of this rest service using the Really Simple Bioinformatics Service formalism")); - parseRes = new JTextArea(5,40); + parseRes = new JTextArea(); parseResVp = new JScrollPane(); parseResVp.setViewportView(parseRes); - parseWarnings = new JPanel(new MigLayout()); + parseRes.setWrapStyleWord(true); + parseRes.setColumns(60); + parseWarnings = new JPanel(new MigLayout("", "[grow 100, fill]", + "[grow 100, fill]")); parseWarnings.setBorder(new TitledBorder("Parsing errors")); - parseWarnings.setToolTipText(""+JvSwingUtils.wrapTooltip("Results of parsing the RSBS representation")+""); - parseWarnings.add(parseResVp, "wrap"); + parseWarnings + .setToolTipText("" + + JvSwingUtils + .wrapTooltip("Results of parsing the RSBS representation") + + ""); + parseWarnings.add(parseResVp, "center"); parseRes.setEditable(false); - + paste.add(parseWarnings, "span"); setLayout(new BorderLayout()); add(panels, BorderLayout.CENTER); okButton = JvSwingUtils.makeButton("OK", "", new ActionListener() @@ -319,6 +427,18 @@ public class GRestServiceEditorPane extends JPanel { } + protected void rdata_rightClicked(MouseEvent arg0) + { + // TODO Auto-generated method stub + + } + + protected void iprmListSelection_doubleClicked() + { + // TODO Auto-generated method stub + + } + protected void hSeparable_actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub