2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3 * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, 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 jalview.util.MessageManager;
22 import java.awt.BorderLayout;
23 import java.awt.Dimension;
24 import java.awt.FlowLayout;
26 import java.awt.GridBagLayout;
27 import java.awt.GridLayout;
28 import java.awt.event.ActionEvent;
29 import java.awt.event.ActionListener;
30 import java.awt.event.MouseEvent;
31 import java.awt.event.MouseListener;
33 import javax.swing.BorderFactory;
34 import javax.swing.JButton;
35 import javax.swing.JCheckBox;
36 import javax.swing.JList;
37 import javax.swing.JPanel;
38 import javax.swing.JProgressBar;
39 import javax.swing.JScrollPane;
40 import javax.swing.JTabbedPane;
41 import javax.swing.JTable;
42 import javax.swing.ListSelectionModel;
43 import javax.swing.border.TitledBorder;
46 * Preference dialog for jalview web services
50 public class GWsPreferences extends JPanel
52 protected JList sbrsList = new JList();
54 protected TitledBorder sbrsListTitleBorder = new TitledBorder(
55 MessageManager.getString("label.simple_bioinformatics_rest_services"));
57 protected JButton newSbrsUrl = new JButton();
59 protected JButton editSbrsUrl = new JButton();
61 protected JButton deleteSbrsUrl = new JButton();
63 // Web service status and url table
64 protected JTable wsList = new JTable();
66 protected TitledBorder wsListTitleBorder = new TitledBorder(
67 MessageManager.getString("label.web_service_discovery_urls"));
69 protected JButton newWsUrl = new JButton();
71 protected JButton editWsUrl = new JButton();
73 protected JButton deleteWsUrl = new JButton();
75 protected JButton moveWsUrlUp = new JButton();
77 protected JButton moveWsUrlDown = new JButton();
79 protected JCheckBox indexByHost = new JCheckBox();
81 protected JCheckBox indexByType = new JCheckBox();
83 protected JCheckBox enableJws2Services = new JCheckBox();
85 protected JCheckBox enableEnfinServices = new JCheckBox();
87 protected JCheckBox displayWsWarning = new JCheckBox();
89 protected JButton refreshWs = new JButton();
91 protected JButton resetWs = new JButton();
93 protected JProgressBar progressBar = new JProgressBar();
95 JScrollPane wsListPane = new JScrollPane();
97 JPanel wsListUrlPanel = new JPanel();
99 JPanel wsListPanel = new JPanel();
101 JPanel wsListButtons = new JPanel();
103 JPanel wsListNavButs = new JPanel();
105 JScrollPane srbsListPane = new JScrollPane();
107 JPanel srbsListUrlPanel = new JPanel();
109 JPanel srbsListPanel = new JPanel();
111 JPanel srbsListButtons = new JPanel();
113 JPanel srbsListNavButs = new JPanel();
115 BorderLayout myBorderlayout = new BorderLayout();
117 BorderLayout wsListBorderlayout = new BorderLayout();
119 BorderLayout srbsListBorderlayout = new BorderLayout();
121 GridBagLayout wsPrefLayout = new GridBagLayout();
123 GridBagLayout wsListLayout = new GridBagLayout();
125 GridBagLayout srbsListLayout = new GridBagLayout();
127 GridBagLayout wsMenuLayout = new GridBagLayout();
129 JPanel wsMenuButtons = new JPanel();
131 JPanel wsMenuRefreshButs = new JPanel();
133 public GWsPreferences()
138 private void jbInit()
141 refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
142 refreshWs.setText(MessageManager.getString("action.refresh_services"));
143 refreshWs.addActionListener(new ActionListener()
145 public void actionPerformed(ActionEvent e)
147 refreshWs_actionPerformed(e);
150 resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
151 resetWs.setText(MessageManager.getString("action.reset_services"));
153 resetWs.addActionListener(new ActionListener()
155 public void actionPerformed(ActionEvent e)
157 resetWs_actionPerformed(e);
160 indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
161 indexByHost.setText(MessageManager.getString("label.index_by_host"));
163 .setToolTipText(MessageManager.getString("label.index_web_services_menu_by_host_site"));
164 indexByHost.addActionListener(new ActionListener()
166 public void actionPerformed(ActionEvent e)
168 indexByHost_actionPerformed(e);
171 indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
172 indexByType.setText(MessageManager.getString("label.index_by_type"));
173 indexByType.addActionListener(new ActionListener()
175 public void actionPerformed(ActionEvent e)
177 indexByType_actionPerformed(e);
181 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
182 enableEnfinServices.setText(MessageManager.getString("label.enable_enfin_services"));
183 enableEnfinServices.addActionListener(new ActionListener()
185 public void actionPerformed(ActionEvent e)
187 enableEnfinServices_actionPerformed(e);
191 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
192 enableJws2Services.setText(MessageManager.getString("label.enable_jabaws_services"));
193 enableJws2Services.addActionListener(new ActionListener()
195 public void actionPerformed(ActionEvent e)
197 enableJws2Services_actionPerformed(e);
200 displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
201 displayWsWarning.setText(MessageManager.getString("label.display_warnings"));
203 .setToolTipText("<html>" + MessageManager.getString("label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up"));
204 displayWsWarning.addActionListener(new ActionListener()
206 public void actionPerformed(ActionEvent e)
208 displayWsWarning_actionPerformed(e);
211 newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
212 newWsUrl.setText(MessageManager.getString("label.new_service_url"));
213 newWsUrl.addActionListener(new ActionListener()
215 public void actionPerformed(ActionEvent e)
217 newWsUrl_actionPerformed(e);
220 editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
221 editWsUrl.setText(MessageManager.getString("label.edit_service_url"));
222 editWsUrl.addActionListener(new ActionListener()
224 public void actionPerformed(ActionEvent e)
226 editWsUrl_actionPerformed(e);
230 deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
231 deleteWsUrl.setText(MessageManager.getString("label.delete_service_url"));
232 deleteWsUrl.addActionListener(new ActionListener()
234 public void actionPerformed(ActionEvent e)
236 deleteWsUrl_actionPerformed(e);
239 moveWsUrlUp.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
240 moveWsUrlUp.setText(MessageManager.getString("action.move_up"));
241 moveWsUrlUp.setToolTipText(MessageManager.getString("label.move_url_up"));
242 moveWsUrlUp.addActionListener(new ActionListener()
244 public void actionPerformed(ActionEvent e)
246 moveWsUrlUp_actionPerformed(e);
249 moveWsUrlDown.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
250 moveWsUrlDown.setText(MessageManager.getString("action.move_down"));
251 moveWsUrlDown.setToolTipText(MessageManager.getString("label.move_url_down"));
252 moveWsUrlDown.addActionListener(new ActionListener()
254 public void actionPerformed(ActionEvent e)
256 moveWsUrlDown_actionPerformed(e);
259 newSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
260 newSbrsUrl.setText(MessageManager.getString("label.add_sbrs_definition"));
261 newSbrsUrl.addActionListener(new ActionListener()
263 public void actionPerformed(ActionEvent e)
265 newSbrsUrl_actionPerformed(e);
268 editSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
269 editSbrsUrl.setText(MessageManager.getString("label.edit_sbrs_definition"));
270 editSbrsUrl.addActionListener(new ActionListener()
272 public void actionPerformed(ActionEvent e)
274 editSbrsUrl_actionPerformed(e);
278 deleteSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
279 deleteSbrsUrl.setText(MessageManager.getString("label.delete_sbrs_definition"));
280 deleteSbrsUrl.addActionListener(new ActionListener()
282 public void actionPerformed(ActionEvent e)
284 deleteSbrsUrl_actionPerformed(e);
288 setLayout(myBorderlayout);
289 setPreferredSize(new Dimension(500, 400));
290 progressBar.setPreferredSize(new Dimension(450, 20));
291 progressBar.setString("");
292 wsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
293 wsListUrlPanel.setLayout(new BorderLayout());
294 wsListPane.setBorder(BorderFactory.createEtchedBorder());
295 wsListPane.getViewport().add(wsList);
296 wsList.setPreferredSize(new Dimension(482, 202));
297 wsListPane.setPreferredSize(new Dimension(380, 80));
298 wsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
299 wsList.setColumnSelectionAllowed(false);
300 wsList.addMouseListener(new MouseListener()
303 public void mouseClicked(MouseEvent e)
305 if (e.getClickCount() > 1)
307 editWsUrl_actionPerformed(null);
312 public void mouseEntered(MouseEvent e)
317 public void mouseExited(MouseEvent e)
321 public void mousePressed(MouseEvent e)
326 public void mouseReleased(MouseEvent e)
332 wsListButtons.setLayout(new FlowLayout());
333 wsListButtons.add(newWsUrl);
334 wsListButtons.add(editWsUrl);
335 wsListButtons.add(deleteWsUrl);
336 wsListButtons.setMinimumSize(new Dimension(350, 80));
337 wsListNavButs.setSize(new Dimension(80, 80));
338 wsListNavButs.setPreferredSize(new Dimension(80, 80));
339 wsListNavButs.setLayout(new FlowLayout());
340 wsListNavButs.add(moveWsUrlUp);
341 wsListNavButs.add(moveWsUrlDown);
342 wsListUrlPanel.add(wsListPane, BorderLayout.CENTER);
343 wsListUrlPanel.add(wsListNavButs, BorderLayout.WEST);
344 wsListPanel.setBorder(wsListTitleBorder);
345 wsListPanel.setLayout(new BorderLayout());
346 wsListPanel.add(wsListUrlPanel, BorderLayout.NORTH);
347 wsListPanel.add(wsListButtons, BorderLayout.SOUTH);
349 srbsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
350 srbsListUrlPanel.setLayout(new BorderLayout());
351 srbsListPane.setBorder(BorderFactory.createEtchedBorder());
352 srbsListPane.getViewport().add(sbrsList);
353 sbrsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
354 sbrsList.addMouseListener(new MouseListener()
357 public void mouseClicked(MouseEvent e)
359 if (e.getClickCount() > 1)
361 editSbrsUrl_actionPerformed(null);
366 public void mouseEntered(MouseEvent e)
371 public void mouseExited(MouseEvent e)
375 public void mousePressed(MouseEvent e)
380 public void mouseReleased(MouseEvent e)
386 srbsListButtons.setLayout(new FlowLayout());
387 srbsListButtons.add(newSbrsUrl);
388 srbsListButtons.add(editSbrsUrl);
389 srbsListButtons.add(deleteSbrsUrl);
390 srbsListUrlPanel.add(srbsListPane, BorderLayout.CENTER);
391 srbsListPanel.setBorder(sbrsListTitleBorder);
392 srbsListPanel.setLayout(new BorderLayout());
393 srbsListPanel.add(srbsListUrlPanel, BorderLayout.NORTH);
394 srbsListPanel.add(srbsListButtons, BorderLayout.CENTER);
396 wsMenuButtons.setLayout(new GridLayout(2, 3));
397 wsMenuButtons.add(indexByHost);
398 wsMenuButtons.add(indexByType);
399 wsMenuButtons.add(enableJws2Services);
400 wsMenuButtons.add(enableEnfinServices);
401 wsMenuButtons.add(displayWsWarning);
402 wsMenuRefreshButs.setLayout(new FlowLayout());
403 wsMenuRefreshButs.setPreferredSize(new Dimension(480, 30));
404 wsMenuRefreshButs.setSize(new Dimension(480, 30));
405 wsMenuRefreshButs.add(refreshWs, null);
406 wsMenuRefreshButs.add(resetWs, null);
407 wsMenuRefreshButs.add(progressBar, null);
408 myBorderlayout.setHgap(3);
409 if (jalview.bin.Cache.getDefault("ENABLE_RSBS_EDITOR", false))
411 JTabbedPane listPanels = new JTabbedPane();
412 listPanels.addTab("JABAWS Servers", wsListPanel);
413 listPanels.addTab("RSB Services", srbsListPanel);
414 add(listPanels, BorderLayout.NORTH);
418 add(wsListPanel, BorderLayout.NORTH);
420 add(wsMenuButtons, BorderLayout.CENTER);
421 add(wsMenuRefreshButs, BorderLayout.SOUTH);
424 protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
426 // TODO Auto-generated method stub
430 protected void editSbrsUrl_actionPerformed(ActionEvent e)
432 // TODO Auto-generated method stub
436 protected void newSbrsUrl_actionPerformed(ActionEvent e)
438 // TODO Auto-generated method stub
442 protected void displayWsWarning_actionPerformed(ActionEvent e)
444 // TODO Auto-generated method stub
448 protected void resetWs_actionPerformed(ActionEvent e)
453 protected void indexByType_actionPerformed(ActionEvent e)
458 protected void indexByHost_actionPerformed(ActionEvent e)
463 protected void newWsUrl_actionPerformed(ActionEvent e)
468 protected void editWsUrl_actionPerformed(ActionEvent e)
473 protected void deleteWsUrl_actionPerformed(ActionEvent e)
478 protected void moveWsUrlUp_actionPerformed(ActionEvent e)
483 protected void moveWsUrlDown_actionPerformed(ActionEvent e)
488 protected void enableEnfinServices_actionPerformed(ActionEvent e)
493 protected void enableJws2Services_actionPerformed(ActionEvent e)
498 protected void refreshWs_actionPerformed(ActionEvent e)