new web services preference tab (JAL-589)
[jalview.git] / src / jalview / jbgui / GWsPreferences.java
1 /**
2  * 
3  */
4 package jalview.jbgui;
5
6 import java.awt.BorderLayout;
7 import java.awt.Dimension;
8 import java.awt.FlowLayout;
9 import java.awt.Font;
10 import java.awt.GridBagLayout;
11 import java.awt.GridLayout;
12 import java.awt.event.ActionEvent;
13 import java.awt.event.ActionListener;
14 import java.awt.event.MouseEvent;
15 import java.awt.event.MouseListener;
16
17 import javax.swing.BorderFactory;
18 import javax.swing.JButton;
19 import javax.swing.JCheckBox;
20 import javax.swing.JList;
21 import javax.swing.JPanel;
22 import javax.swing.JProgressBar;
23 import javax.swing.JScrollPane;
24 import javax.swing.ListSelectionModel;
25 import javax.swing.SwingConstants;
26 import javax.swing.border.TitledBorder;
27
28 /**
29  * Preference dialog for jalview web services
30  * 
31  * @author JimP
32  */
33 public class GWsPreferences extends JPanel
34 {
35   protected JList wsList = new JList();
36
37   protected TitledBorder wsListTitleBorder = new TitledBorder(
38           "Web Service Discovery URLS");
39
40   protected JButton newWsUrl = new JButton();
41
42   protected JButton editWsUrl = new JButton();
43
44   protected JButton deleteWsUrl = new JButton();
45
46   protected JButton moveWsUrlUp = new JButton();
47
48   protected JButton moveWsUrlDown = new JButton();
49
50   protected JCheckBox indexByHost = new JCheckBox();
51
52   protected JCheckBox indexByType = new JCheckBox();
53
54   protected JCheckBox enableJws1Services = new JCheckBox();
55
56   protected JCheckBox enableJws2Services = new JCheckBox();
57
58   protected JCheckBox enableEnfinServices = new JCheckBox();
59
60   protected JButton refreshWs = new JButton();
61   protected JButton resetWs = new JButton();
62   
63   protected JProgressBar progressBar = new JProgressBar();
64
65   JScrollPane wsListPane = new JScrollPane();
66   
67   JPanel wsListUrlPanel = new JPanel();
68   
69   JPanel wsListPanel = new JPanel();
70
71   JPanel wsListButtons = new JPanel();
72   
73   JPanel wsListNavButs = new JPanel();
74
75   BorderLayout myBorderlayout = new BorderLayout();
76
77   BorderLayout wsListBorderlayout = new BorderLayout();
78
79   GridBagLayout wsPrefLayout = new GridBagLayout();
80
81   GridBagLayout wsListLayout = new GridBagLayout();
82
83   GridBagLayout wsMenuLayout = new GridBagLayout();
84
85   JPanel wsMenuButtons = new JPanel();
86   JPanel wsMenuRefreshButs = new JPanel();
87   public GWsPreferences()
88   {
89     jbInit();
90   }
91
92   private void jbInit()
93   {
94
95     refreshWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
96     refreshWs.setText("Refresh Services");
97     refreshWs.addActionListener(new ActionListener()
98     {
99       public void actionPerformed(ActionEvent e)
100       {
101         refreshWs_actionPerformed(e);
102       }
103     });
104     resetWs.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
105     resetWs.setText("Reset Services");
106     
107     resetWs.addActionListener(new ActionListener()
108     {
109       public void actionPerformed(ActionEvent e)
110       {
111         resetWs_actionPerformed(e);
112       }
113     });
114     indexByHost.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
115     indexByHost.setText("Index by host");
116     indexByHost
117             .setToolTipText("Index web services in menu by the host site.");
118     indexByHost.addActionListener(new ActionListener()
119     {
120       public void actionPerformed(ActionEvent e)
121       {
122         indexByHost_actionPerformed(e);
123       }
124     });
125     indexByType.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
126     indexByType.setText("Index by type");
127     indexByType.addActionListener(new ActionListener()
128     {
129       public void actionPerformed(ActionEvent e)
130       {
131         indexByType_actionPerformed(e);
132       }
133     });
134     enableEnfinServices
135             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
136     enableEnfinServices.setText("Enable Enfin Services");
137     enableEnfinServices.addActionListener(new ActionListener()
138     {
139       public void actionPerformed(ActionEvent e)
140       {
141         enableEnfinServices_actionPerformed(e);
142       }
143     });
144     enableJws2Services
145             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
146     enableJws2Services.setText("Enable JWS2 Services");
147     enableJws2Services.addActionListener(new ActionListener()
148     {
149       public void actionPerformed(ActionEvent e)
150       {
151         enableJws2Services_actionPerformed(e);
152       }
153     });
154     enableJws1Services
155             .setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
156     enableJws1Services.setText("Enable JWS1 Services");
157     enableJws1Services.addActionListener(new ActionListener()
158     {
159       public void actionPerformed(ActionEvent e)
160       {
161         enableJws1Services_actionPerformed(e);
162       }
163     });
164     newWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
165     newWsUrl.setText("New Service URL");
166     newWsUrl.addActionListener(new ActionListener()
167     {
168       public void actionPerformed(ActionEvent e)
169       {
170         newWsUrl_actionPerformed(e);
171       }
172     });
173     editWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
174     editWsUrl.setText("Edit Service URL");
175     editWsUrl.addActionListener(new ActionListener()
176     {
177       public void actionPerformed(ActionEvent e)
178       {
179         editWsUrl_actionPerformed(e);
180       }
181     });
182
183     deleteWsUrl.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
184     deleteWsUrl.setText("Delete Service URL");
185     deleteWsUrl.addActionListener(new ActionListener()
186     {
187       public void actionPerformed(ActionEvent e)
188       {
189         deleteWsUrl_actionPerformed(e);
190       }
191     });
192     moveWsUrlUp.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
193     moveWsUrlUp.setText("Up");
194     moveWsUrlUp.setToolTipText("Move URL up");
195     moveWsUrlUp.addActionListener(new ActionListener()
196     {
197       public void actionPerformed(ActionEvent e)
198       {
199         moveWsUrlUp_actionPerformed(e);
200       }
201     });
202     moveWsUrlDown.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
203     moveWsUrlDown.setText("Down");
204     moveWsUrlDown.setToolTipText("Move URL Down");
205     moveWsUrlDown.addActionListener(new ActionListener()
206     {
207       public void actionPerformed(ActionEvent e)
208       {
209         moveWsUrlDown_actionPerformed(e);
210       }
211     });
212
213     setLayout(myBorderlayout);
214     setPreferredSize(new Dimension(500,400));
215     progressBar.setPreferredSize(new Dimension(450, 20));
216     progressBar.setString("");
217     wsListUrlPanel.setBorder(BorderFactory.createEtchedBorder());
218     wsListUrlPanel.setLayout(new BorderLayout());
219 //    wsListUrlPanel.setPreferredSize(new Dimension(482,202));
220     wsListPane.setBorder(BorderFactory.createEtchedBorder());
221     wsListPane.getViewport().add(wsList);
222     wsListPane.setPreferredSize(new Dimension(380, 200));
223     wsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
224     wsList.addMouseListener(new MouseListener() {
225
226       @Override
227       public void mouseClicked(MouseEvent e)
228       {
229         if (e.getClickCount()>1)
230         {
231           editWsUrl_actionPerformed(null);
232         }
233         // TODO Auto-generated method stub
234         
235       }
236
237       @Override
238       public void mouseEntered(MouseEvent e)
239       {
240         // TODO Auto-generated method stub
241         
242       }
243
244       @Override
245       public void mouseExited(MouseEvent e)
246       {
247         // TODO Auto-generated method stub
248         
249       }
250
251       @Override
252       public void mousePressed(MouseEvent e)
253       {
254         // TODO Auto-generated method stub
255         
256       }
257
258       @Override
259       public void mouseReleased(MouseEvent e)
260       {
261         // TODO Auto-generated method stub
262         
263       }
264       
265     });
266 //    wsListButtons.setPreferredSize(new Dimension(480, 60));
267     wsListButtons.setLayout(new FlowLayout());
268     //wsListButtons.add(moveWsUrlUp);
269     //wsListButtons.add(moveWsUrlDown);
270     wsListButtons.add(newWsUrl);
271     wsListButtons.add(editWsUrl);
272     wsListButtons.add(deleteWsUrl);
273     wsListNavButs.setSize(new Dimension(80,80));
274     wsListNavButs.setPreferredSize(new Dimension(80,80));
275     wsListNavButs.setLayout(new FlowLayout());
276     wsListNavButs.add(moveWsUrlUp);
277     wsListNavButs.add(moveWsUrlDown);
278     wsListUrlPanel.add(wsListPane,BorderLayout.EAST);
279     wsListUrlPanel.add(wsListNavButs,BorderLayout.WEST);
280     wsListPanel.setBorder(wsListTitleBorder);
281     wsListPanel.setLayout(new BorderLayout());
282     wsListPanel.add(wsListUrlPanel, BorderLayout.NORTH);
283     wsListPanel.add(wsListButtons, BorderLayout.SOUTH);
284     wsMenuButtons.setLayout(new GridLayout(2,3));
285     wsMenuButtons.add(indexByHost);
286     wsMenuButtons.add(indexByType);
287     wsMenuButtons.add(enableJws1Services);
288     wsMenuButtons.add(enableJws2Services);
289     wsMenuButtons.add(enableEnfinServices);
290     wsMenuRefreshButs.setLayout(new FlowLayout());
291     wsMenuRefreshButs.setPreferredSize(new Dimension(480,30));
292     wsMenuRefreshButs.setSize(new Dimension(480,30));
293     wsMenuRefreshButs.add(refreshWs,null);
294     wsMenuRefreshButs.add(resetWs,null);
295     wsMenuRefreshButs.add(progressBar,null);
296     myBorderlayout.setHgap(3);
297     add(wsListPanel,BorderLayout.NORTH);
298     add(wsMenuButtons,BorderLayout.CENTER);
299     add(wsMenuRefreshButs, BorderLayout.SOUTH);
300   }
301
302   protected void resetWs_actionPerformed(ActionEvent e)
303   {
304     // TODO Auto-generated method stub
305     
306   }
307
308   protected void indexByType_actionPerformed(ActionEvent e)
309   {
310     // TODO Auto-generated method stub
311
312   }
313
314   protected void indexByHost_actionPerformed(ActionEvent e)
315   {
316     // TODO Auto-generated method stub
317
318   }
319
320   protected void newWsUrl_actionPerformed(ActionEvent e)
321   {
322     // TODO Auto-generated method stub
323
324   }
325
326   protected void editWsUrl_actionPerformed(ActionEvent e)
327   {
328     // TODO Auto-generated method stub
329
330   }
331
332   protected void deleteWsUrl_actionPerformed(ActionEvent e)
333   {
334     // TODO Auto-generated method stub
335
336   }
337
338   protected void moveWsUrlUp_actionPerformed(ActionEvent e)
339   {
340     // TODO Auto-generated method stub
341
342   }
343
344   protected void moveWsUrlDown_actionPerformed(ActionEvent e)
345   {
346     // TODO Auto-generated method stub
347
348   }
349
350   protected void enableEnfinServices_actionPerformed(ActionEvent e)
351   {
352     // TODO Auto-generated method stub
353
354   }
355
356   protected void enableJws2Services_actionPerformed(ActionEvent e)
357   {
358     // TODO Auto-generated method stub
359
360   }
361
362   protected void enableJws1Services_actionPerformed(ActionEvent e)
363   {
364     // TODO Auto-generated method stub
365
366   }
367
368   protected void refreshWs_actionPerformed(ActionEvent e)
369   {
370     // TODO Auto-generated method stub
371
372   }
373
374 }