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.ListSelectionModel;
39 import javax.swing.SwingConstants;
40 import javax.swing.border.TitledBorder;
43 * Preference dialog for jalview web services
47 public class GWsPreferences extends JPanel
49 protected JList wsList = new JList();
51 protected TitledBorder wsListTitleBorder = new TitledBorder(
52 "Web Service Discovery URLS");
54 protected JButton newWsUrl = new JButton();
56 protected JButton editWsUrl = new JButton();
58 protected JButton deleteWsUrl = new JButton();
60 protected JButton moveWsUrlUp = new JButton();
62 protected JButton moveWsUrlDown = new JButton();
64 protected JCheckBox indexByHost = new JCheckBox();
66 protected JCheckBox indexByType = new JCheckBox();
68 protected JCheckBox enableJws1Services = new JCheckBox();
70 protected JCheckBox enableJws2Services = new JCheckBox();
72 protected JCheckBox enableEnfinServices = new JCheckBox();
74 protected JButton refreshWs = new JButton();
75 protected JButton resetWs = new JButton();
77 protected JProgressBar progressBar = new JProgressBar();
79 JScrollPane wsListPane = new JScrollPane();
81 JPanel wsListUrlPanel = new JPanel();
83 JPanel wsListPanel = new JPanel();
85 JPanel wsListButtons = new JPanel();
87 JPanel wsListNavButs = new JPanel();
89 BorderLayout myBorderlayout = new BorderLayout();
91 BorderLayout wsListBorderlayout = new BorderLayout();
93 GridBagLayout wsPrefLayout = new GridBagLayout();
95 GridBagLayout wsListLayout = new GridBagLayout();
97 GridBagLayout wsMenuLayout = new GridBagLayout();
99 JPanel wsMenuButtons = new JPanel();
100 JPanel wsMenuRefreshButs = new JPanel();
101 public GWsPreferences()
106 private void jbInit()
109 refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
110 refreshWs.setText("Refresh Services");
111 refreshWs.addActionListener(new ActionListener()
113 public void actionPerformed(ActionEvent e)
115 refreshWs_actionPerformed(e);
118 resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
119 resetWs.setText("Reset Services");
121 resetWs.addActionListener(new ActionListener()
123 public void actionPerformed(ActionEvent e)
125 resetWs_actionPerformed(e);
128 indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
129 indexByHost.setText("Index by host");
131 .setToolTipText("Index web services in menu by the host site.");
132 indexByHost.addActionListener(new ActionListener()
134 public void actionPerformed(ActionEvent e)
136 indexByHost_actionPerformed(e);
139 indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
140 indexByType.setText("Index by type");
141 indexByType.addActionListener(new ActionListener()
143 public void actionPerformed(ActionEvent e)
145 indexByType_actionPerformed(e);
149 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
150 enableEnfinServices.setText("Enable Enfin Services");
151 enableEnfinServices.addActionListener(new ActionListener()
153 public void actionPerformed(ActionEvent e)
155 enableEnfinServices_actionPerformed(e);
159 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
160 enableJws2Services.setText("Enable JABAWS Services");
161 enableJws2Services.addActionListener(new ActionListener()
163 public void actionPerformed(ActionEvent e)
165 enableJws2Services_actionPerformed(e);
169 .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
170 enableJws1Services.setText("Enable Legacy Services");
171 enableJws1Services.addActionListener(new ActionListener()
173 public void actionPerformed(ActionEvent e)
175 enableJws1Services_actionPerformed(e);
178 newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
179 newWsUrl.setText("New Service URL");
180 newWsUrl.addActionListener(new ActionListener()
182 public void actionPerformed(ActionEvent e)
184 newWsUrl_actionPerformed(e);
187 editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
188 editWsUrl.setText("Edit Service URL");
189 editWsUrl.addActionListener(new ActionListener()
191 public void actionPerformed(ActionEvent e)
193 editWsUrl_actionPerformed(e);
197 deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
198 deleteWsUrl.setText("Delete Service URL");
199 deleteWsUrl.addActionListener(new ActionListener()
201 public void actionPerformed(ActionEvent e)
203 deleteWsUrl_actionPerformed(e);
206 moveWsUrlUp.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
207 moveWsUrlUp.setText("Up");
208 moveWsUrlUp.setToolTipText("Move URL up");
209 moveWsUrlUp.addActionListener(new ActionListener()
211 public void actionPerformed(ActionEvent e)
213 moveWsUrlUp_actionPerformed(e);
216 moveWsUrlDown.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
217 moveWsUrlDown.setText("Down");
218 moveWsUrlDown.setToolTipText("Move URL Down");
219 moveWsUrlDown.addActionListener(new ActionListener()
221 public void actionPerformed(ActionEvent e)
223 moveWsUrlDown_actionPerformed(e);
227 setLayout(myBorderlayout);
228 setPreferredSize(new Dimension(500,400));
229 progressBar.setPreferredSize(new Dimension(450, 20));
230 progressBar.setString("");
231 wsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
232 wsListUrlPanel.setLayout(new BorderLayout());
233 // wsListUrlPanel.setPreferredSize(new Dimension(482,202));
234 wsListPane.setBorder(BorderFactory.createEtchedBorder());
235 wsListPane.getViewport().add(wsList);
236 wsListPane.setPreferredSize(new Dimension(380, 200));
237 wsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
238 wsList.addMouseListener(new MouseListener() {
240 public void mouseClicked(MouseEvent e)
242 if (e.getClickCount()>1)
244 editWsUrl_actionPerformed(null);
249 public void mouseEntered(MouseEvent e)
254 public void mouseExited(MouseEvent e)
258 public void mousePressed(MouseEvent e)
263 public void mouseReleased(MouseEvent e)
269 // wsListButtons.setPreferredSize(new Dimension(480, 60));
270 wsListButtons.setLayout(new FlowLayout());
271 //wsListButtons.add(moveWsUrlUp);
272 //wsListButtons.add(moveWsUrlDown);
273 wsListButtons.add(newWsUrl);
274 wsListButtons.add(editWsUrl);
275 wsListButtons.add(deleteWsUrl);
276 wsListNavButs.setSize(new Dimension(80,80));
277 wsListNavButs.setPreferredSize(new Dimension(80,80));
278 wsListNavButs.setLayout(new FlowLayout());
279 wsListNavButs.add(moveWsUrlUp);
280 wsListNavButs.add(moveWsUrlDown);
281 wsListUrlPanel.add(wsListPane,BorderLayout.EAST);
282 wsListUrlPanel.add(wsListNavButs,BorderLayout.WEST);
283 wsListPanel.setBorder(wsListTitleBorder);
284 wsListPanel.setLayout(new BorderLayout());
285 wsListPanel.add(wsListUrlPanel, BorderLayout.NORTH);
286 wsListPanel.add(wsListButtons, BorderLayout.SOUTH);
287 wsMenuButtons.setLayout(new GridLayout(2,3));
288 wsMenuButtons.add(indexByHost);
289 wsMenuButtons.add(indexByType);
290 wsMenuButtons.add(enableJws1Services);
291 wsMenuButtons.add(enableJws2Services);
292 wsMenuButtons.add(enableEnfinServices);
293 wsMenuRefreshButs.setLayout(new FlowLayout());
294 wsMenuRefreshButs.setPreferredSize(new Dimension(480,30));
295 wsMenuRefreshButs.setSize(new Dimension(480,30));
296 wsMenuRefreshButs.add(refreshWs,null);
297 wsMenuRefreshButs.add(resetWs,null);
298 wsMenuRefreshButs.add(progressBar,null);
299 myBorderlayout.setHgap(3);
300 add(wsListPanel,BorderLayout.NORTH);
301 add(wsMenuButtons,BorderLayout.CENTER);
302 add(wsMenuRefreshButs, BorderLayout.SOUTH);
305 protected void resetWs_actionPerformed(ActionEvent e)
310 protected void indexByType_actionPerformed(ActionEvent e)
315 protected void indexByHost_actionPerformed(ActionEvent e)
320 protected void newWsUrl_actionPerformed(ActionEvent e)
325 protected void editWsUrl_actionPerformed(ActionEvent e)
330 protected void deleteWsUrl_actionPerformed(ActionEvent e)
335 protected void moveWsUrlUp_actionPerformed(ActionEvent e)
340 protected void moveWsUrlDown_actionPerformed(ActionEvent e)
345 protected void enableEnfinServices_actionPerformed(ActionEvent e)
350 protected void enableJws2Services_actionPerformed(ActionEvent e)
355 protected void enableJws1Services_actionPerformed(ActionEvent e)
360 protected void refreshWs_actionPerformed(ActionEvent e)