2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.jbgui;
23 import jalview.bin.Cache;
24 import jalview.util.MessageManager;
26 import java.awt.BorderLayout;
27 import java.awt.Dimension;
28 import java.awt.FlowLayout;
30 import java.awt.GridBagLayout;
31 import java.awt.GridLayout;
32 import java.awt.event.ActionEvent;
33 import java.awt.event.ActionListener;
34 import java.awt.event.MouseEvent;
35 import java.awt.event.MouseListener;
37 import javax.swing.BorderFactory;
38 import javax.swing.JButton;
39 import javax.swing.JCheckBox;
40 import javax.swing.JList;
41 import javax.swing.JPanel;
42 import javax.swing.JProgressBar;
43 import javax.swing.JScrollPane;
44 import javax.swing.JTabbedPane;
45 import javax.swing.JTable;
46 import javax.swing.ListSelectionModel;
47 import javax.swing.border.TitledBorder;
50 * Preference dialog for jalview web services
54 public class GWsPreferences extends JPanel
56 protected JList sbrsList = new JList();
58 protected TitledBorder sbrsListTitleBorder = new TitledBorder(
60 .getString("label.simple_bioinformatics_rest_services"));
62 protected JButton newSbrsUrl = new JButton();
64 protected JButton editSbrsUrl = new JButton();
66 protected JButton deleteSbrsUrl = new JButton();
68 // Web service status and url table
69 protected JTable wsList = new JTable();
71 protected TitledBorder wsListTitleBorder = new TitledBorder(
72 MessageManager.getString("label.web_service_discovery_urls"));
74 protected JButton newWsUrl = new JButton();
76 protected JButton editWsUrl = new JButton();
78 protected JButton deleteWsUrl = new JButton();
80 protected JButton moveWsUrlUp = new JButton();
82 protected JButton moveWsUrlDown = new JButton();
84 protected JCheckBox indexByHost = new JCheckBox();
86 protected JCheckBox indexByType = new JCheckBox();
88 protected JCheckBox enableJws2Services = new JCheckBox();
90 protected JCheckBox enableEnfinServices = new JCheckBox();
92 protected JCheckBox displayWsWarning = new JCheckBox();
94 protected JButton refreshWs = new JButton();
96 protected JButton resetWs = new JButton();
98 protected JProgressBar progressBar = new JProgressBar();
100 JScrollPane wsListPane = new JScrollPane();
102 JPanel wsListUrlPanel = new JPanel();
104 JPanel wsListPanel = new JPanel();
106 JPanel wsListButtons = new JPanel();
108 JPanel wsListNavButs = new JPanel();
110 JScrollPane srbsListPane = new JScrollPane();
112 JPanel srbsListUrlPanel = new JPanel();
114 JPanel srbsListPanel = new JPanel();
116 JPanel srbsListButtons = new JPanel();
118 JPanel srbsListNavButs = new JPanel();
120 BorderLayout myBorderlayout = new BorderLayout();
122 BorderLayout wsListBorderlayout = new BorderLayout();
124 BorderLayout srbsListBorderlayout = new BorderLayout();
126 GridBagLayout wsPrefLayout = new GridBagLayout();
128 GridBagLayout wsListLayout = new GridBagLayout();
130 GridBagLayout srbsListLayout = new GridBagLayout();
132 GridBagLayout wsMenuLayout = new GridBagLayout();
134 JPanel wsMenuButtons = new JPanel();
136 JPanel wsMenuRefreshButs = new JPanel();
138 public GWsPreferences()
143 private void jbInit()
146 refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
147 refreshWs.setText(MessageManager.getString("action.refresh_services"));
148 refreshWs.addActionListener(new ActionListener()
150 public void actionPerformed(ActionEvent e)
152 refreshWs_actionPerformed(e);
155 resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
156 resetWs.setText(MessageManager.getString("action.reset_services"));
158 resetWs.addActionListener(new ActionListener()
160 public void actionPerformed(ActionEvent e)
162 resetWs_actionPerformed(e);
165 indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
166 indexByHost.setText(MessageManager.getString("label.index_by_host"));
167 indexByHost.setToolTipText(MessageManager
168 .getString("label.index_web_services_menu_by_host_site"));
169 indexByHost.addActionListener(new ActionListener()
171 public void actionPerformed(ActionEvent e)
173 indexByHost_actionPerformed(e);
176 indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
177 indexByType.setText(MessageManager.getString("label.index_by_type"));
178 indexByType.addActionListener(new ActionListener()
180 public void actionPerformed(ActionEvent e)
182 indexByType_actionPerformed(e);
186 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
187 enableJws2Services.setText(MessageManager
188 .getString("label.enable_jabaws_services"));
189 enableJws2Services.addActionListener(new ActionListener()
191 public void actionPerformed(ActionEvent e)
193 enableJws2Services_actionPerformed(e);
196 displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
197 displayWsWarning.setText(MessageManager
198 .getString("label.display_warnings"));
200 .setToolTipText("<html>"
202 .getString("label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up"));
203 displayWsWarning.addActionListener(new ActionListener()
205 public void actionPerformed(ActionEvent e)
207 displayWsWarning_actionPerformed(e);
210 newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
211 newWsUrl.setText(MessageManager.getString("label.new_service_url"));
212 newWsUrl.addActionListener(new ActionListener()
214 public void actionPerformed(ActionEvent e)
216 newWsUrl_actionPerformed(e);
219 editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
220 editWsUrl.setText(MessageManager.getString("label.edit_service_url"));
221 editWsUrl.addActionListener(new ActionListener()
223 public void actionPerformed(ActionEvent e)
225 editWsUrl_actionPerformed(e);
229 deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
230 deleteWsUrl.setText(MessageManager
231 .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
242 .getString("label.move_url_up"));
243 moveWsUrlUp.addActionListener(new ActionListener()
245 public void actionPerformed(ActionEvent e)
247 moveWsUrlUp_actionPerformed(e);
250 moveWsUrlDown.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
251 moveWsUrlDown.setText(MessageManager.getString("action.move_down"));
252 moveWsUrlDown.setToolTipText(MessageManager
253 .getString("label.move_url_down"));
254 moveWsUrlDown.addActionListener(new ActionListener()
256 public void actionPerformed(ActionEvent e)
258 moveWsUrlDown_actionPerformed(e);
261 newSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
262 newSbrsUrl.setText(MessageManager
263 .getString("label.add_sbrs_definition"));
264 newSbrsUrl.addActionListener(new ActionListener()
266 public void actionPerformed(ActionEvent e)
268 newSbrsUrl_actionPerformed(e);
271 editSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
272 editSbrsUrl.setText(MessageManager
273 .getString("label.edit_sbrs_definition"));
274 editSbrsUrl.addActionListener(new ActionListener()
276 public void actionPerformed(ActionEvent e)
278 editSbrsUrl_actionPerformed(e);
282 deleteSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
283 deleteSbrsUrl.setText(MessageManager
284 .getString("label.delete_sbrs_definition"));
285 deleteSbrsUrl.addActionListener(new ActionListener()
287 public void actionPerformed(ActionEvent e)
289 deleteSbrsUrl_actionPerformed(e);
293 setLayout(myBorderlayout);
294 setPreferredSize(new Dimension(500, 400));
295 progressBar.setPreferredSize(new Dimension(450, 20));
296 progressBar.setString("");
297 wsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
298 wsListUrlPanel.setLayout(new BorderLayout());
299 wsListPane.setBorder(BorderFactory.createEtchedBorder());
300 wsListPane.getViewport().add(wsList);
301 wsList.setPreferredSize(new Dimension(482, 202));
302 wsListPane.setPreferredSize(new Dimension(380, 80));
303 wsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
304 wsList.setColumnSelectionAllowed(false);
305 wsList.addMouseListener(new MouseListener()
308 public void mouseClicked(MouseEvent e)
310 if (e.getClickCount() > 1)
312 editWsUrl_actionPerformed(null);
317 public void mouseEntered(MouseEvent e)
322 public void mouseExited(MouseEvent e)
326 public void mousePressed(MouseEvent e)
331 public void mouseReleased(MouseEvent e)
337 wsListButtons.setLayout(new FlowLayout());
338 wsListButtons.add(newWsUrl);
339 wsListButtons.add(editWsUrl);
340 wsListButtons.add(deleteWsUrl);
341 wsListButtons.setMinimumSize(new Dimension(350, 80));
342 wsListNavButs.setSize(new Dimension(80, 80));
343 wsListNavButs.setPreferredSize(new Dimension(80, 80));
344 wsListNavButs.setLayout(new FlowLayout());
345 wsListNavButs.add(moveWsUrlUp);
346 wsListNavButs.add(moveWsUrlDown);
347 wsListUrlPanel.add(wsListPane, BorderLayout.CENTER);
348 wsListUrlPanel.add(wsListNavButs, BorderLayout.WEST);
349 wsListPanel.setBorder(wsListTitleBorder);
350 wsListPanel.setLayout(new BorderLayout());
351 wsListPanel.add(wsListUrlPanel, BorderLayout.NORTH);
352 wsListPanel.add(wsListButtons, BorderLayout.SOUTH);
354 srbsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
355 srbsListUrlPanel.setLayout(new BorderLayout());
356 srbsListPane.setBorder(BorderFactory.createEtchedBorder());
357 srbsListPane.getViewport().add(sbrsList);
358 sbrsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
359 sbrsList.addMouseListener(new MouseListener()
362 public void mouseClicked(MouseEvent e)
364 if (e.getClickCount() > 1)
366 editSbrsUrl_actionPerformed(null);
371 public void mouseEntered(MouseEvent e)
376 public void mouseExited(MouseEvent e)
380 public void mousePressed(MouseEvent e)
385 public void mouseReleased(MouseEvent e)
391 srbsListButtons.setLayout(new FlowLayout());
392 srbsListButtons.add(newSbrsUrl);
393 srbsListButtons.add(editSbrsUrl);
394 srbsListButtons.add(deleteSbrsUrl);
395 srbsListUrlPanel.add(srbsListPane, BorderLayout.CENTER);
396 srbsListPanel.setBorder(sbrsListTitleBorder);
397 srbsListPanel.setLayout(new BorderLayout());
398 srbsListPanel.add(srbsListUrlPanel, BorderLayout.NORTH);
399 srbsListPanel.add(srbsListButtons, BorderLayout.CENTER);
401 wsMenuButtons.setLayout(new GridLayout(2, 3));
402 wsMenuButtons.add(indexByHost);
403 wsMenuButtons.add(indexByType);
404 wsMenuButtons.add(enableJws2Services);
405 wsMenuButtons.add(displayWsWarning);
406 wsMenuRefreshButs.setLayout(new FlowLayout());
407 wsMenuRefreshButs.setPreferredSize(new Dimension(480, 30));
408 wsMenuRefreshButs.setSize(new Dimension(480, 30));
409 wsMenuRefreshButs.add(refreshWs, null);
410 wsMenuRefreshButs.add(resetWs, null);
411 wsMenuRefreshButs.add(progressBar, null);
412 myBorderlayout.setHgap(3);
413 if (Cache.getDefault("ENABLE_RSBS_EDITOR", false))
415 JTabbedPane listPanels = new JTabbedPane();
416 listPanels.addTab("JABAWS Servers", wsListPanel);
417 listPanels.addTab("RSB Services", srbsListPanel);
418 add(listPanels, BorderLayout.NORTH);
422 add(wsListPanel, BorderLayout.NORTH);
424 add(wsMenuButtons, BorderLayout.CENTER);
425 add(wsMenuRefreshButs, BorderLayout.SOUTH);
428 protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
430 // TODO Auto-generated method stub
434 protected void editSbrsUrl_actionPerformed(ActionEvent e)
436 // TODO Auto-generated method stub
440 protected void newSbrsUrl_actionPerformed(ActionEvent e)
442 // TODO Auto-generated method stub
446 protected void displayWsWarning_actionPerformed(ActionEvent e)
448 // TODO Auto-generated method stub
452 protected void resetWs_actionPerformed(ActionEvent e)
457 protected void indexByType_actionPerformed(ActionEvent e)
462 protected void indexByHost_actionPerformed(ActionEvent e)
467 protected void newWsUrl_actionPerformed(ActionEvent e)
472 protected void editWsUrl_actionPerformed(ActionEvent e)
477 protected void deleteWsUrl_actionPerformed(ActionEvent e)
482 protected void moveWsUrlUp_actionPerformed(ActionEvent e)
487 protected void moveWsUrlDown_actionPerformed(ActionEvent e)
492 protected void enableEnfinServices_actionPerformed(ActionEvent e)
497 protected void enableJws2Services_actionPerformed(ActionEvent e)
502 protected void refreshWs_actionPerformed(ActionEvent e)