734ed8e1c27346fb4128ebe2fe43bf85ed34afb2
[jalview.git] / src / jalview / jbgui / GWsPreferences.java
1 /*
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
4  * 
5  * This file is part of Jalview.
6  * 
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.
10  * 
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.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.jbgui;
19
20 import java.awt.BorderLayout;
21 import java.awt.Dimension;
22 import java.awt.FlowLayout;
23 import java.awt.Font;
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;
30
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;
42
43 /**
44  * Preference dialog for jalview web services
45  * 
46  * @author JimP
47  */
48 public class GWsPreferences extends JPanel
49 {
50   protected JList sbrsList = new JList();
51
52   protected TitledBorder sbrsListTitleBorder = new TitledBorder(
53           "Simple Bioinformatics Rest Services");
54
55   protected JButton newSbrsUrl = new JButton();
56
57   protected JButton editSbrsUrl = new JButton();
58
59   protected JButton deleteSbrsUrl = new JButton();
60
61   protected JList wsList = new JList();
62
63   protected TitledBorder wsListTitleBorder = new TitledBorder(
64           "Web Service Discovery URLS");
65
66   protected JButton newWsUrl = new JButton();
67
68   protected JButton editWsUrl = new JButton();
69
70   protected JButton deleteWsUrl = new JButton();
71
72   protected JButton moveWsUrlUp = new JButton();
73
74   protected JButton moveWsUrlDown = new JButton();
75
76   protected JCheckBox indexByHost = new JCheckBox();
77
78   protected JCheckBox indexByType = new JCheckBox();
79
80   protected JCheckBox enableJws1Services = new JCheckBox();
81
82   protected JCheckBox enableJws2Services = new JCheckBox();
83
84   protected JCheckBox enableEnfinServices = new JCheckBox();
85
86   protected JCheckBox displayWsWarning = new JCheckBox();
87
88   protected JButton refreshWs = new JButton();
89
90   protected JButton resetWs = new JButton();
91
92   protected JProgressBar progressBar = new JProgressBar();
93
94   JScrollPane wsListPane = new JScrollPane();
95
96   JPanel wsListUrlPanel = new JPanel();
97
98   JPanel wsListPanel = new JPanel();
99
100   JPanel wsListButtons = new JPanel();
101
102   JPanel wsListNavButs = new JPanel();
103
104   JScrollPane srbsListPane = new JScrollPane();
105
106   JPanel srbsListUrlPanel = new JPanel();
107
108   JPanel srbsListPanel = new JPanel();
109
110   JPanel srbsListButtons = new JPanel();
111
112   JPanel srbsListNavButs = new JPanel();
113
114   BorderLayout myBorderlayout = new BorderLayout();
115
116   BorderLayout wsListBorderlayout = new BorderLayout();
117   
118   BorderLayout srbsListBorderlayout = new BorderLayout();
119
120   GridBagLayout wsPrefLayout = new GridBagLayout();
121
122   GridBagLayout wsListLayout = new GridBagLayout();
123
124   GridBagLayout srbsListLayout = new GridBagLayout();
125
126   GridBagLayout wsMenuLayout = new GridBagLayout();
127
128   JPanel wsMenuButtons = new JPanel();
129
130   JPanel wsMenuRefreshButs = new JPanel();
131
132   public GWsPreferences()
133   {
134     jbInit();
135   }
136
137   private void jbInit()
138   {
139
140     refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
141     refreshWs.setText("Refresh Services");
142     refreshWs.addActionListener(new ActionListener()
143     {
144       public void actionPerformed(ActionEvent e)
145       {
146         refreshWs_actionPerformed(e);
147       }
148     });
149     resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
150     resetWs.setText("Reset Services");
151
152     resetWs.addActionListener(new ActionListener()
153     {
154       public void actionPerformed(ActionEvent e)
155       {
156         resetWs_actionPerformed(e);
157       }
158     });
159     indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
160     indexByHost.setText("Index by host");
161     indexByHost
162             .setToolTipText("Index web services in menu by the host site.");
163     indexByHost.addActionListener(new ActionListener()
164     {
165       public void actionPerformed(ActionEvent e)
166       {
167         indexByHost_actionPerformed(e);
168       }
169     });
170     indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
171     indexByType.setText("Index by type");
172     indexByType.addActionListener(new ActionListener()
173     {
174       public void actionPerformed(ActionEvent e)
175       {
176         indexByType_actionPerformed(e);
177       }
178     });
179     enableEnfinServices
180             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
181     enableEnfinServices.setText("Enable Enfin Services");
182     enableEnfinServices.addActionListener(new ActionListener()
183     {
184       public void actionPerformed(ActionEvent e)
185       {
186         enableEnfinServices_actionPerformed(e);
187       }
188     });
189     enableJws2Services
190             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
191     enableJws2Services.setText("Enable JABAWS Services");
192     enableJws2Services.addActionListener(new ActionListener()
193     {
194       public void actionPerformed(ActionEvent e)
195       {
196         enableJws2Services_actionPerformed(e);
197       }
198     });
199     enableJws1Services
200             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
201     enableJws1Services.setText("Enable Legacy Services");
202     enableJws1Services.addActionListener(new ActionListener()
203     {
204       public void actionPerformed(ActionEvent e)
205       {
206         enableJws1Services_actionPerformed(e);
207       }
208     });
209     displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
210     displayWsWarning.setText("Display warnings");
211     displayWsWarning
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()
214     {
215       public void actionPerformed(ActionEvent e)
216       {
217         displayWsWarning_actionPerformed(e);
218       }
219     });
220     newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
221     newWsUrl.setText("New Service URL");
222     newWsUrl.addActionListener(new ActionListener()
223     {
224       public void actionPerformed(ActionEvent e)
225       {
226         newWsUrl_actionPerformed(e);
227       }
228     });
229     editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
230     editWsUrl.setText("Edit Service URL");
231     editWsUrl.addActionListener(new ActionListener()
232     {
233       public void actionPerformed(ActionEvent e)
234       {
235         editWsUrl_actionPerformed(e);
236       }
237     });
238
239     deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
240     deleteWsUrl.setText("Delete Service URL");
241     deleteWsUrl.addActionListener(new ActionListener()
242     {
243       public void actionPerformed(ActionEvent e)
244       {
245         deleteWsUrl_actionPerformed(e);
246       }
247     });
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()
252     {
253       public void actionPerformed(ActionEvent e)
254       {
255         moveWsUrlUp_actionPerformed(e);
256       }
257     });
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()
262     {
263       public void actionPerformed(ActionEvent e)
264       {
265         moveWsUrlDown_actionPerformed(e);
266       }
267     });
268     newSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
269     newSbrsUrl.setText("Add a SBRS definition");
270     newSbrsUrl.addActionListener(new ActionListener()
271     {
272       public void actionPerformed(ActionEvent e)
273       {
274         newSbrsUrl_actionPerformed(e);
275       }
276     });
277     editSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
278     editSbrsUrl.setText("Edit SBRS definition");
279     editSbrsUrl.addActionListener(new ActionListener()
280     {
281       public void actionPerformed(ActionEvent e)
282       {
283         editSbrsUrl_actionPerformed(e);
284       }
285     });
286
287     deleteSbrsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
288     deleteSbrsUrl.setText("Delete SBRS definition");
289     deleteSbrsUrl.addActionListener(new ActionListener()
290     {
291       public void actionPerformed(ActionEvent e)
292       {
293         deleteSbrsUrl_actionPerformed(e);
294       }
295     });
296
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()
309     {
310
311       public void mouseClicked(MouseEvent e)
312       {
313         if (e.getClickCount() > 1)
314         {
315           editWsUrl_actionPerformed(null);
316         }
317
318       }
319
320       public void mouseEntered(MouseEvent e)
321       {
322
323       }
324
325       public void mouseExited(MouseEvent e)
326       {
327       }
328
329       public void mousePressed(MouseEvent e)
330       {
331
332       }
333
334       public void mouseReleased(MouseEvent e)
335       {
336
337       }
338
339     });
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);
358
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()
366     {
367
368       public void mouseClicked(MouseEvent e)
369       {
370         if (e.getClickCount() > 1)
371         {
372           editSbrsUrl_actionPerformed(null);
373         }
374
375       }
376
377       public void mouseEntered(MouseEvent e)
378       {
379
380       }
381
382       public void mouseExited(MouseEvent e)
383       {
384       }
385
386       public void mousePressed(MouseEvent e)
387       {
388
389       }
390
391       public void mouseReleased(MouseEvent e)
392       {
393
394       }
395
396     });
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);
406
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);
421     if (true) {
422         JTabbedPane listPanels=new JTabbedPane();
423         listPanels.addTab("JABAWS Servers",wsListPanel);
424         listPanels.addTab("RSB Services", srbsListPanel);
425         add(listPanels,  BorderLayout.NORTH);
426     } else {
427         add(wsListPanel, BorderLayout.NORTH);
428     }
429     add(wsMenuButtons, BorderLayout.CENTER);
430     add(wsMenuRefreshButs, BorderLayout.SOUTH);
431   }
432
433   protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
434   {
435     // TODO Auto-generated method stub
436     
437   }
438
439   protected void editSbrsUrl_actionPerformed(ActionEvent e)
440   {
441     // TODO Auto-generated method stub
442     
443   }
444
445   protected void newSbrsUrl_actionPerformed(ActionEvent e)
446   {
447     // TODO Auto-generated method stub
448     
449   }
450
451   protected void displayWsWarning_actionPerformed(ActionEvent e)
452   {
453     // TODO Auto-generated method stub
454     
455   }
456
457   protected void resetWs_actionPerformed(ActionEvent e)
458   {
459
460   }
461
462   protected void indexByType_actionPerformed(ActionEvent e)
463   {
464
465   }
466
467   protected void indexByHost_actionPerformed(ActionEvent e)
468   {
469
470   }
471
472   protected void newWsUrl_actionPerformed(ActionEvent e)
473   {
474
475   }
476
477   protected void editWsUrl_actionPerformed(ActionEvent e)
478   {
479
480   }
481
482   protected void deleteWsUrl_actionPerformed(ActionEvent e)
483   {
484
485   }
486
487   protected void moveWsUrlUp_actionPerformed(ActionEvent e)
488   {
489
490   }
491
492   protected void moveWsUrlDown_actionPerformed(ActionEvent e)
493   {
494
495   }
496
497   protected void enableEnfinServices_actionPerformed(ActionEvent e)
498   {
499
500   }
501
502   protected void enableJws2Services_actionPerformed(ActionEvent e)
503   {
504
505   }
506
507   protected void enableJws1Services_actionPerformed(ActionEvent e)
508   {
509
510   }
511
512   protected void refreshWs_actionPerformed(ActionEvent e)
513   {
514
515   }
516
517 }