JAL-1355 (basic i18n support)
[jalview.git] / src / jalview / jbgui / GWsPreferences.java
1 /*
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
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 jalview.util.MessageManager;
21
22 import java.awt.BorderLayout;
23 import java.awt.Dimension;
24 import java.awt.FlowLayout;
25 import java.awt.Font;
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;
32
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;
44
45 /**
46  * Preference dialog for jalview web services
47  * 
48  * @author JimP
49  */
50 public class GWsPreferences extends JPanel
51 {
52   protected JList sbrsList = new JList();
53
54   protected TitledBorder sbrsListTitleBorder = new TitledBorder(
55           MessageManager.getString("label.simple_bioinformatics_rest_services"));
56
57   protected JButton newSbrsUrl = new JButton();
58
59   protected JButton editSbrsUrl = new JButton();
60
61   protected JButton deleteSbrsUrl = new JButton();
62
63   // Web service status and url table
64   protected JTable wsList = new JTable();
65
66   protected TitledBorder wsListTitleBorder = new TitledBorder(
67           MessageManager.getString("label.web_service_discovery_urls"));
68
69   protected JButton newWsUrl = new JButton();
70
71   protected JButton editWsUrl = new JButton();
72
73   protected JButton deleteWsUrl = new JButton();
74
75   protected JButton moveWsUrlUp = new JButton();
76
77   protected JButton moveWsUrlDown = new JButton();
78
79   protected JCheckBox indexByHost = new JCheckBox();
80
81   protected JCheckBox indexByType = new JCheckBox();
82
83   protected JCheckBox enableJws2Services = new JCheckBox();
84
85   protected JCheckBox enableEnfinServices = new JCheckBox();
86
87   protected JCheckBox displayWsWarning = new JCheckBox();
88
89   protected JButton refreshWs = new JButton();
90
91   protected JButton resetWs = new JButton();
92
93   protected JProgressBar progressBar = new JProgressBar();
94
95   JScrollPane wsListPane = new JScrollPane();
96
97   JPanel wsListUrlPanel = new JPanel();
98
99   JPanel wsListPanel = new JPanel();
100
101   JPanel wsListButtons = new JPanel();
102
103   JPanel wsListNavButs = new JPanel();
104
105   JScrollPane srbsListPane = new JScrollPane();
106
107   JPanel srbsListUrlPanel = new JPanel();
108
109   JPanel srbsListPanel = new JPanel();
110
111   JPanel srbsListButtons = new JPanel();
112
113   JPanel srbsListNavButs = new JPanel();
114
115   BorderLayout myBorderlayout = new BorderLayout();
116
117   BorderLayout wsListBorderlayout = new BorderLayout();
118
119   BorderLayout srbsListBorderlayout = new BorderLayout();
120
121   GridBagLayout wsPrefLayout = new GridBagLayout();
122
123   GridBagLayout wsListLayout = new GridBagLayout();
124
125   GridBagLayout srbsListLayout = new GridBagLayout();
126
127   GridBagLayout wsMenuLayout = new GridBagLayout();
128
129   JPanel wsMenuButtons = new JPanel();
130
131   JPanel wsMenuRefreshButs = new JPanel();
132
133   public GWsPreferences()
134   {
135     jbInit();
136   }
137
138   private void jbInit()
139   {
140
141     refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
142     refreshWs.setText(MessageManager.getString("action.refresh_services"));
143     refreshWs.addActionListener(new ActionListener()
144     {
145       public void actionPerformed(ActionEvent e)
146       {
147         refreshWs_actionPerformed(e);
148       }
149     });
150     resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
151     resetWs.setText(MessageManager.getString("action.reset_services"));
152
153     resetWs.addActionListener(new ActionListener()
154     {
155       public void actionPerformed(ActionEvent e)
156       {
157         resetWs_actionPerformed(e);
158       }
159     });
160     indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
161     indexByHost.setText(MessageManager.getString("label.index_by_host"));
162     indexByHost
163             .setToolTipText(MessageManager.getString("label.index_web_services_menu_by_host_site"));
164     indexByHost.addActionListener(new ActionListener()
165     {
166       public void actionPerformed(ActionEvent e)
167       {
168         indexByHost_actionPerformed(e);
169       }
170     });
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()
174     {
175       public void actionPerformed(ActionEvent e)
176       {
177         indexByType_actionPerformed(e);
178       }
179     });
180     enableEnfinServices
181             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
182     enableEnfinServices.setText(MessageManager.getString("label.enable_enfin_services"));
183     enableEnfinServices.addActionListener(new ActionListener()
184     {
185       public void actionPerformed(ActionEvent e)
186       {
187         enableEnfinServices_actionPerformed(e);
188       }
189     });
190     enableJws2Services
191             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
192     enableJws2Services.setText(MessageManager.getString("label.enable_jabaws_services"));
193     enableJws2Services.addActionListener(new ActionListener()
194     {
195       public void actionPerformed(ActionEvent e)
196       {
197         enableJws2Services_actionPerformed(e);
198       }
199     });
200     displayWsWarning.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
201     displayWsWarning.setText(MessageManager.getString("label.display_warnings"));
202     displayWsWarning
203             .setToolTipText("<html>" + MessageManager.getString("label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up"));
204     displayWsWarning.addActionListener(new ActionListener()
205     {
206       public void actionPerformed(ActionEvent e)
207       {
208         displayWsWarning_actionPerformed(e);
209       }
210     });
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()
214     {
215       public void actionPerformed(ActionEvent e)
216       {
217         newWsUrl_actionPerformed(e);
218       }
219     });
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()
223     {
224       public void actionPerformed(ActionEvent e)
225       {
226         editWsUrl_actionPerformed(e);
227       }
228     });
229
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()
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.getString("label.move_url_up"));
242     moveWsUrlUp.addActionListener(new ActionListener()
243     {
244       public void actionPerformed(ActionEvent e)
245       {
246         moveWsUrlUp_actionPerformed(e);
247       }
248     });
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()
253     {
254       public void actionPerformed(ActionEvent e)
255       {
256         moveWsUrlDown_actionPerformed(e);
257       }
258     });
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()
262     {
263       public void actionPerformed(ActionEvent e)
264       {
265         newSbrsUrl_actionPerformed(e);
266       }
267     });
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()
271     {
272       public void actionPerformed(ActionEvent e)
273       {
274         editSbrsUrl_actionPerformed(e);
275       }
276     });
277
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()
281     {
282       public void actionPerformed(ActionEvent e)
283       {
284         deleteSbrsUrl_actionPerformed(e);
285       }
286     });
287
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()
301     {
302
303       public void mouseClicked(MouseEvent e)
304       {
305         if (e.getClickCount() > 1)
306         {
307           editWsUrl_actionPerformed(null);
308         }
309
310       }
311
312       public void mouseEntered(MouseEvent e)
313       {
314
315       }
316
317       public void mouseExited(MouseEvent e)
318       {
319       }
320
321       public void mousePressed(MouseEvent e)
322       {
323
324       }
325
326       public void mouseReleased(MouseEvent e)
327       {
328
329       }
330
331     });
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);
348
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()
355     {
356
357       public void mouseClicked(MouseEvent e)
358       {
359         if (e.getClickCount() > 1)
360         {
361           editSbrsUrl_actionPerformed(null);
362         }
363
364       }
365
366       public void mouseEntered(MouseEvent e)
367       {
368
369       }
370
371       public void mouseExited(MouseEvent e)
372       {
373       }
374
375       public void mousePressed(MouseEvent e)
376       {
377
378       }
379
380       public void mouseReleased(MouseEvent e)
381       {
382
383       }
384
385     });
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);
395
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))
410     {
411       JTabbedPane listPanels = new JTabbedPane();
412       listPanels.addTab("JABAWS Servers", wsListPanel);
413       listPanels.addTab("RSB Services", srbsListPanel);
414       add(listPanels, BorderLayout.NORTH);
415     }
416     else
417     {
418       add(wsListPanel, BorderLayout.NORTH);
419     }
420     add(wsMenuButtons, BorderLayout.CENTER);
421     add(wsMenuRefreshButs, BorderLayout.SOUTH);
422   }
423
424   protected void deleteSbrsUrl_actionPerformed(ActionEvent e)
425   {
426     // TODO Auto-generated method stub
427
428   }
429
430   protected void editSbrsUrl_actionPerformed(ActionEvent e)
431   {
432     // TODO Auto-generated method stub
433
434   }
435
436   protected void newSbrsUrl_actionPerformed(ActionEvent e)
437   {
438     // TODO Auto-generated method stub
439
440   }
441
442   protected void displayWsWarning_actionPerformed(ActionEvent e)
443   {
444     // TODO Auto-generated method stub
445
446   }
447
448   protected void resetWs_actionPerformed(ActionEvent e)
449   {
450
451   }
452
453   protected void indexByType_actionPerformed(ActionEvent e)
454   {
455
456   }
457
458   protected void indexByHost_actionPerformed(ActionEvent e)
459   {
460
461   }
462
463   protected void newWsUrl_actionPerformed(ActionEvent e)
464   {
465
466   }
467
468   protected void editWsUrl_actionPerformed(ActionEvent e)
469   {
470
471   }
472
473   protected void deleteWsUrl_actionPerformed(ActionEvent e)
474   {
475
476   }
477
478   protected void moveWsUrlUp_actionPerformed(ActionEvent e)
479   {
480
481   }
482
483   protected void moveWsUrlDown_actionPerformed(ActionEvent e)
484   {
485
486   }
487
488   protected void enableEnfinServices_actionPerformed(ActionEvent e)
489   {
490
491   }
492
493   protected void enableJws2Services_actionPerformed(ActionEvent e)
494   {
495
496   }
497
498   protected void refreshWs_actionPerformed(ActionEvent e)
499   {
500
501   }
502
503 }