JAL-1807 explicit imports (jalview.jbgui)
[jalview.git] / src / jalview / jbgui / GWsPreferences.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10  * of the License, or (at your option) any later version.
11  *  
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.
16  * 
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.
20  */
21 package jalview.jbgui;
22
23 import jalview.bin.Cache;
24 import jalview.util.MessageManager;
25
26 import java.awt.BorderLayout;
27 import java.awt.Dimension;
28 import java.awt.FlowLayout;
29 import java.awt.Font;
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;
36
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;
48
49 /**
50  * Preference dialog for jalview web services
51  * 
52  * @author JimP
53  */
54 public class GWsPreferences extends JPanel
55 {
56   protected JList sbrsList = new JList();
57
58   protected TitledBorder sbrsListTitleBorder = new TitledBorder(
59           MessageManager
60                   .getString("label.simple_bioinformatics_rest_services"));
61
62   protected JButton newSbrsUrl = new JButton();
63
64   protected JButton editSbrsUrl = new JButton();
65
66   protected JButton deleteSbrsUrl = new JButton();
67
68   // Web service status and url table
69   protected JTable wsList = new JTable();
70
71   protected TitledBorder wsListTitleBorder = new TitledBorder(
72           MessageManager.getString("label.web_service_discovery_urls"));
73
74   protected JButton newWsUrl = new JButton();
75
76   protected JButton editWsUrl = new JButton();
77
78   protected JButton deleteWsUrl = new JButton();
79
80   protected JButton moveWsUrlUp = new JButton();
81
82   protected JButton moveWsUrlDown = new JButton();
83
84   protected JCheckBox indexByHost = new JCheckBox();
85
86   protected JCheckBox indexByType = new JCheckBox();
87
88   protected JCheckBox enableJws2Services = new JCheckBox();
89
90   protected JCheckBox enableEnfinServices = new JCheckBox();
91
92   protected JCheckBox displayWsWarning = new JCheckBox();
93
94   protected JButton refreshWs = new JButton();
95
96   protected JButton resetWs = new JButton();
97
98   protected JProgressBar progressBar = new JProgressBar();
99
100   JScrollPane wsListPane = new JScrollPane();
101
102   JPanel wsListUrlPanel = new JPanel();
103
104   JPanel wsListPanel = new JPanel();
105
106   JPanel wsListButtons = new JPanel();
107
108   JPanel wsListNavButs = new JPanel();
109
110   JScrollPane srbsListPane = new JScrollPane();
111
112   JPanel srbsListUrlPanel = new JPanel();
113
114   JPanel srbsListPanel = new JPanel();
115
116   JPanel srbsListButtons = new JPanel();
117
118   JPanel srbsListNavButs = new JPanel();
119
120   BorderLayout myBorderlayout = new BorderLayout();
121
122   BorderLayout wsListBorderlayout = new BorderLayout();
123
124   BorderLayout srbsListBorderlayout = new BorderLayout();
125
126   GridBagLayout wsPrefLayout = new GridBagLayout();
127
128   GridBagLayout wsListLayout = new GridBagLayout();
129
130   GridBagLayout srbsListLayout = new GridBagLayout();
131
132   GridBagLayout wsMenuLayout = new GridBagLayout();
133
134   JPanel wsMenuButtons = new JPanel();
135
136   JPanel wsMenuRefreshButs = new JPanel();
137
138   public GWsPreferences()
139   {
140     jbInit();
141   }
142
143   private void jbInit()
144   {
145
146     refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
147     refreshWs.setText(MessageManager.getString("action.refresh_services"));
148     refreshWs.addActionListener(new ActionListener()
149     {
150       public void actionPerformed(ActionEvent e)
151       {
152         refreshWs_actionPerformed(e);
153       }
154     });
155     resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
156     resetWs.setText(MessageManager.getString("action.reset_services"));
157
158     resetWs.addActionListener(new ActionListener()
159     {
160       public void actionPerformed(ActionEvent e)
161       {
162         resetWs_actionPerformed(e);
163       }
164     });
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()
170     {
171       public void actionPerformed(ActionEvent e)
172       {
173         indexByHost_actionPerformed(e);
174       }
175     });
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()
179     {
180       public void actionPerformed(ActionEvent e)
181       {
182         indexByType_actionPerformed(e);
183       }
184     });
185     enableJws2Services
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()
190     {
191       public void actionPerformed(ActionEvent e)
192       {
193         enableJws2Services_actionPerformed(e);
194       }
195     });
196     displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
197     displayWsWarning.setText(MessageManager
198             .getString("label.display_warnings"));
199     displayWsWarning
200             .setToolTipText("<html>"
201                     + MessageManager
202                             .getString("label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up"));
203     displayWsWarning.addActionListener(new ActionListener()
204     {
205       public void actionPerformed(ActionEvent e)
206       {
207         displayWsWarning_actionPerformed(e);
208       }
209     });
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()
213     {
214       public void actionPerformed(ActionEvent e)
215       {
216         newWsUrl_actionPerformed(e);
217       }
218     });
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()
222     {
223       public void actionPerformed(ActionEvent e)
224       {
225         editWsUrl_actionPerformed(e);
226       }
227     });
228
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()
233     {
234       public void actionPerformed(ActionEvent e)
235       {
236         deleteWsUrl_actionPerformed(e);
237       }
238     });
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()
244     {
245       public void actionPerformed(ActionEvent e)
246       {
247         moveWsUrlUp_actionPerformed(e);
248       }
249     });
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()
255     {
256       public void actionPerformed(ActionEvent e)
257       {
258         moveWsUrlDown_actionPerformed(e);
259       }
260     });
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()
265     {
266       public void actionPerformed(ActionEvent e)
267       {
268         newSbrsUrl_actionPerformed(e);
269       }
270     });
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()
275     {
276       public void actionPerformed(ActionEvent e)
277       {
278         editSbrsUrl_actionPerformed(e);
279       }
280     });
281
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()
286     {
287       public void actionPerformed(ActionEvent e)
288       {
289         deleteSbrsUrl_actionPerformed(e);
290       }
291     });
292
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()
306     {
307
308       public void mouseClicked(MouseEvent e)
309       {
310         if (e.getClickCount() > 1)
311         {
312           editWsUrl_actionPerformed(null);
313         }
314
315       }
316
317       public void mouseEntered(MouseEvent e)
318       {
319
320       }
321
322       public void mouseExited(MouseEvent e)
323       {
324       }
325
326       public void mousePressed(MouseEvent e)
327       {
328
329       }
330
331       public void mouseReleased(MouseEvent e)
332       {
333
334       }
335
336     });
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);
353
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()
360     {
361
362       public void mouseClicked(MouseEvent e)
363       {
364         if (e.getClickCount() > 1)
365         {
366           editSbrsUrl_actionPerformed(null);
367         }
368
369       }
370
371       public void mouseEntered(MouseEvent e)
372       {
373
374       }
375
376       public void mouseExited(MouseEvent e)
377       {
378       }
379
380       public void mousePressed(MouseEvent e)
381       {
382
383       }
384
385       public void mouseReleased(MouseEvent e)
386       {
387
388       }
389
390     });
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);
400
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))
414     {
415       JTabbedPane listPanels = new JTabbedPane();
416       listPanels.addTab("JABAWS Servers", wsListPanel);
417       listPanels.addTab("RSB Services", srbsListPanel);
418       add(listPanels, BorderLayout.NORTH);
419     }
420     else
421     {
422       add(wsListPanel, BorderLayout.NORTH);
423     }
424     add(wsMenuButtons, BorderLayout.CENTER);
425     add(wsMenuRefreshButs, BorderLayout.SOUTH);
426   }
427
428   protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
429   {
430     // TODO Auto-generated method stub
431
432   }
433
434   protected void editSbrsUrl_actionPerformed(ActionEvent e)
435   {
436     // TODO Auto-generated method stub
437
438   }
439
440   protected void newSbrsUrl_actionPerformed(ActionEvent e)
441   {
442     // TODO Auto-generated method stub
443
444   }
445
446   protected void displayWsWarning_actionPerformed(ActionEvent e)
447   {
448     // TODO Auto-generated method stub
449
450   }
451
452   protected void resetWs_actionPerformed(ActionEvent e)
453   {
454
455   }
456
457   protected void indexByType_actionPerformed(ActionEvent e)
458   {
459
460   }
461
462   protected void indexByHost_actionPerformed(ActionEvent e)
463   {
464
465   }
466
467   protected void newWsUrl_actionPerformed(ActionEvent e)
468   {
469
470   }
471
472   protected void editWsUrl_actionPerformed(ActionEvent e)
473   {
474
475   }
476
477   protected void deleteWsUrl_actionPerformed(ActionEvent e)
478   {
479
480   }
481
482   protected void moveWsUrlUp_actionPerformed(ActionEvent e)
483   {
484
485   }
486
487   protected void moveWsUrlDown_actionPerformed(ActionEvent e)
488   {
489
490   }
491
492   protected void enableEnfinServices_actionPerformed(ActionEvent e)
493   {
494
495   }
496
497   protected void enableJws2Services_actionPerformed(ActionEvent e)
498   {
499
500   }
501
502   protected void refreshWs_actionPerformed(ActionEvent e)
503   {
504
505   }
506
507 }