2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
3 * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11 * Jalview is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
18 package jalview.jbgui;
20 import java.awt.BorderLayout;
21 import java.awt.Dimension;
22 import java.awt.FlowLayout;
24 import java.awt.GridBagLayout;
25 import java.awt.GridLayout;
26 import java.awt.event.ActionEvent;
27 import java.awt.event.ActionListener;
28 import java.awt.event.MouseEvent;
29 import java.awt.event.MouseListener;
31 import javax.swing.BorderFactory;
32 import javax.swing.JButton;
33 import javax.swing.JCheckBox;
34 import javax.swing.JList;
35 import javax.swing.JPanel;
36 import javax.swing.JProgressBar;
37 import javax.swing.JScrollPane;
38 import javax.swing.JTabbedPane;
39 import javax.swing.ListSelectionModel;
40 import javax.swing.SwingConstants;
41 import javax.swing.border.TitledBorder;
44 * Preference dialog for jalview web services
48 public class GWsPreferences extends JPanel
50 protected JList sbrsList = new JList();
52 protected TitledBorder sbrsListTitleBorder = new TitledBorder(
53 "Simple Bioinformatics Rest Services");
55 protected JButton newSbrsUrl = new JButton();
57 protected JButton editSbrsUrl = new JButton();
59 protected JButton deleteSbrsUrl = new JButton();
61 protected JList wsList = new JList();
63 protected TitledBorder wsListTitleBorder = new TitledBorder(
64 "Web Service Discovery URLS");
66 protected JButton newWsUrl = new JButton();
68 protected JButton editWsUrl = new JButton();
70 protected JButton deleteWsUrl = new JButton();
72 protected JButton moveWsUrlUp = new JButton();
74 protected JButton moveWsUrlDown = new JButton();
76 protected JCheckBox indexByHost = new JCheckBox();
78 protected JCheckBox indexByType = new JCheckBox();
80 protected JCheckBox enableJws1Services = new JCheckBox();
82 protected JCheckBox enableJws2Services = new JCheckBox();
84 protected JCheckBox enableEnfinServices = new JCheckBox();
86 protected JCheckBox displayWsWarning = new JCheckBox();
88 protected JButton refreshWs = new JButton();
90 protected JButton resetWs = new JButton();
92 protected JProgressBar progressBar = new JProgressBar();
94 JScrollPane wsListPane = new JScrollPane();
96 JPanel wsListUrlPanel = new JPanel();
98 JPanel wsListPanel = new JPanel();
100 JPanel wsListButtons = new JPanel();
102 JPanel wsListNavButs = new JPanel();
104 JScrollPane srbsListPane = new JScrollPane();
106 JPanel srbsListUrlPanel = new JPanel();
108 JPanel srbsListPanel = new JPanel();
110 JPanel srbsListButtons = new JPanel();
112 JPanel srbsListNavButs = new JPanel();
114 BorderLayout myBorderlayout = new BorderLayout();
116 BorderLayout wsListBorderlayout = new BorderLayout();
118 BorderLayout srbsListBorderlayout = new BorderLayout();
120 GridBagLayout wsPrefLayout = new GridBagLayout();
122 GridBagLayout wsListLayout = new GridBagLayout();
124 GridBagLayout srbsListLayout = new GridBagLayout();
126 GridBagLayout wsMenuLayout = new GridBagLayout();
128 JPanel wsMenuButtons = new JPanel();
130 JPanel wsMenuRefreshButs = new JPanel();
132 public GWsPreferences()
137 private void jbInit()
140 refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
141 refreshWs.setText("Refresh Services");
142 refreshWs.addActionListener(new ActionListener()
144 public void actionPerformed(ActionEvent e)
146 refreshWs_actionPerformed(e);
149 resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
150 resetWs.setText("Reset Services");
152 resetWs.addActionListener(new ActionListener()
154 public void actionPerformed(ActionEvent e)
156 resetWs_actionPerformed(e);
159 indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
160 indexByHost.setText("Index by host");
162 .setToolTipText("Index web services in menu by the host site.");
163 indexByHost.addActionListener(new ActionListener()
165 public void actionPerformed(ActionEvent e)
167 indexByHost_actionPerformed(e);
170 indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
171 indexByType.setText("Index by type");
172 indexByType.addActionListener(new ActionListener()
174 public void actionPerformed(ActionEvent e)
176 indexByType_actionPerformed(e);
180 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
181 enableEnfinServices.setText("Enable Enfin Services");
182 enableEnfinServices.addActionListener(new ActionListener()
184 public void actionPerformed(ActionEvent e)
186 enableEnfinServices_actionPerformed(e);
190 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
191 enableJws2Services.setText("Enable JABAWS Services");
192 enableJws2Services.addActionListener(new ActionListener()
194 public void actionPerformed(ActionEvent e)
196 enableJws2Services_actionPerformed(e);
200 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
201 enableJws1Services.setText("Enable Legacy Services");
202 enableJws1Services.addActionListener(new ActionListener()
204 public void actionPerformed(ActionEvent e)
206 enableJws1Services_actionPerformed(e);
209 displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
210 displayWsWarning.setText("Display warnings");
212 .setToolTipText("<html>Check this option if you want to be informed<br>when a web service URL cannot be accessed by Jalview<br>when it starts up");
213 displayWsWarning.addActionListener(new ActionListener()
215 public void actionPerformed(ActionEvent e)
217 displayWsWarning_actionPerformed(e);
220 newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
221 newWsUrl.setText("New Service URL");
222 newWsUrl.addActionListener(new ActionListener()
224 public void actionPerformed(ActionEvent e)
226 newWsUrl_actionPerformed(e);
229 editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
230 editWsUrl.setText("Edit Service URL");
231 editWsUrl.addActionListener(new ActionListener()
233 public void actionPerformed(ActionEvent e)
235 editWsUrl_actionPerformed(e);
239 deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
240 deleteWsUrl.setText("Delete Service URL");
241 deleteWsUrl.addActionListener(new ActionListener()
243 public void actionPerformed(ActionEvent e)
245 deleteWsUrl_actionPerformed(e);
248 moveWsUrlUp.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
249 moveWsUrlUp.setText("Up");
250 moveWsUrlUp.setToolTipText("Move URL up");
251 moveWsUrlUp.addActionListener(new ActionListener()
253 public void actionPerformed(ActionEvent e)
255 moveWsUrlUp_actionPerformed(e);
258 moveWsUrlDown.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
259 moveWsUrlDown.setText("Down");
260 moveWsUrlDown.setToolTipText("Move URL Down");
261 moveWsUrlDown.addActionListener(new ActionListener()
263 public void actionPerformed(ActionEvent e)
265 moveWsUrlDown_actionPerformed(e);
268 newSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
269 newSbrsUrl.setText("Add a SBRS definition");
270 newSbrsUrl.addActionListener(new ActionListener()
272 public void actionPerformed(ActionEvent e)
274 newSbrsUrl_actionPerformed(e);
277 editSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
278 editSbrsUrl.setText("Edit SBRS definition");
279 editSbrsUrl.addActionListener(new ActionListener()
281 public void actionPerformed(ActionEvent e)
283 editSbrsUrl_actionPerformed(e);
287 deleteSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
288 deleteSbrsUrl.setText("Delete SBRS definition");
289 deleteSbrsUrl.addActionListener(new ActionListener()
291 public void actionPerformed(ActionEvent e)
293 deleteSbrsUrl_actionPerformed(e);
297 setLayout(myBorderlayout);
298 setPreferredSize(new Dimension(500, 400));
299 progressBar.setPreferredSize(new Dimension(450, 20));
300 progressBar.setString("");
301 wsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
302 wsListUrlPanel.setLayout(new BorderLayout());
303 // wsListUrlPanel.setPreferredSize(new Dimension(482,202));
304 wsListPane.setBorder(BorderFactory.createEtchedBorder());
305 wsListPane.getViewport().add(wsList);
306 // wsListPane.setPreferredSize(new Dimension(380, 80));
307 wsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
308 wsList.addMouseListener(new MouseListener()
311 public void mouseClicked(MouseEvent e)
313 if (e.getClickCount() > 1)
315 editWsUrl_actionPerformed(null);
320 public void mouseEntered(MouseEvent e)
325 public void mouseExited(MouseEvent e)
329 public void mousePressed(MouseEvent e)
334 public void mouseReleased(MouseEvent e)
340 // wsListButtons.setPreferredSize(new Dimension(480, 60));
341 wsListButtons.setLayout(new FlowLayout());
342 // wsListButtons.add(moveWsUrlUp);
343 // wsListButtons.add(moveWsUrlDown);
344 wsListButtons.add(newWsUrl);
345 wsListButtons.add(editWsUrl);
346 wsListButtons.add(deleteWsUrl);
347 wsListNavButs.setSize(new Dimension(80, 80));
348 wsListNavButs.setPreferredSize(new Dimension(80, 80));
349 wsListNavButs.setLayout(new FlowLayout());
350 wsListNavButs.add(moveWsUrlUp);
351 wsListNavButs.add(moveWsUrlDown);
352 wsListUrlPanel.add(wsListPane, BorderLayout.CENTER);
353 wsListUrlPanel.add(wsListNavButs, BorderLayout.WEST);
354 wsListPanel.setBorder(wsListTitleBorder);
355 wsListPanel.setLayout(new BorderLayout());
356 wsListPanel.add(wsListUrlPanel, BorderLayout.NORTH);
357 wsListPanel.add(wsListButtons, BorderLayout.SOUTH);
359 srbsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
360 srbsListUrlPanel.setLayout(new BorderLayout());
361 srbsListPane.setBorder(BorderFactory.createEtchedBorder());
362 srbsListPane.getViewport().add(sbrsList);
363 //srbsListPane.setMinimumSize(new Dimension(380, 80));
364 sbrsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
365 sbrsList.addMouseListener(new MouseListener()
368 public void mouseClicked(MouseEvent e)
370 if (e.getClickCount() > 1)
372 editSbrsUrl_actionPerformed(null);
377 public void mouseEntered(MouseEvent e)
382 public void mouseExited(MouseEvent e)
386 public void mousePressed(MouseEvent e)
391 public void mouseReleased(MouseEvent e)
397 srbsListButtons.setLayout(new FlowLayout());
398 srbsListButtons.add(newSbrsUrl);
399 srbsListButtons.add(editSbrsUrl);
400 srbsListButtons.add(deleteSbrsUrl);
401 srbsListUrlPanel.add(srbsListPane, BorderLayout.CENTER);
402 srbsListPanel.setBorder(sbrsListTitleBorder);
403 srbsListPanel.setLayout(new BorderLayout());
404 srbsListPanel.add(srbsListUrlPanel, BorderLayout.NORTH);
405 srbsListPanel.add(srbsListButtons, BorderLayout.CENTER);
407 wsMenuButtons.setLayout(new GridLayout(2, 3));
408 wsMenuButtons.add(indexByHost);
409 wsMenuButtons.add(indexByType);
410 wsMenuButtons.add(enableJws1Services);
411 wsMenuButtons.add(enableJws2Services);
412 wsMenuButtons.add(enableEnfinServices);
413 wsMenuButtons.add(displayWsWarning);
414 wsMenuRefreshButs.setLayout(new FlowLayout());
415 wsMenuRefreshButs.setPreferredSize(new Dimension(480, 30));
416 wsMenuRefreshButs.setSize(new Dimension(480, 30));
417 wsMenuRefreshButs.add(refreshWs, null);
418 wsMenuRefreshButs.add(resetWs, null);
419 wsMenuRefreshButs.add(progressBar, null);
420 myBorderlayout.setHgap(3);
422 JTabbedPane listPanels=new JTabbedPane();
423 listPanels.addTab("JABAWS Servers",wsListPanel);
424 listPanels.addTab("RSB Services", srbsListPanel);
425 add(listPanels, BorderLayout.NORTH);
427 add(wsListPanel, BorderLayout.NORTH);
429 add(wsMenuButtons, BorderLayout.CENTER);
430 add(wsMenuRefreshButs, BorderLayout.SOUTH);
433 protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
435 // TODO Auto-generated method stub
439 protected void editSbrsUrl_actionPerformed(ActionEvent e)
441 // TODO Auto-generated method stub
445 protected void newSbrsUrl_actionPerformed(ActionEvent e)
447 // TODO Auto-generated method stub
451 protected void displayWsWarning_actionPerformed(ActionEvent e)
453 // TODO Auto-generated method stub
457 protected void resetWs_actionPerformed(ActionEvent e)
462 protected void indexByType_actionPerformed(ActionEvent e)
467 protected void indexByHost_actionPerformed(ActionEvent e)
472 protected void newWsUrl_actionPerformed(ActionEvent e)
477 protected void editWsUrl_actionPerformed(ActionEvent e)
482 protected void deleteWsUrl_actionPerformed(ActionEvent e)
487 protected void moveWsUrlUp_actionPerformed(ActionEvent e)
492 protected void moveWsUrlDown_actionPerformed(ActionEvent e)
497 protected void enableEnfinServices_actionPerformed(ActionEvent e)
502 protected void enableJws2Services_actionPerformed(ActionEvent e)
507 protected void enableJws1Services_actionPerformed(ActionEvent e)
512 protected void refreshWs_actionPerformed(ActionEvent e)