update author list in license for (JAL-826)
[jalview.git] / src / jalview / jbgui / GDasSourceBrowser.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
3  * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle\r
4  * \r
5  * This file is part of Jalview.\r
6  * \r
7  * Jalview is free software: you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License \r
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
10  * \r
11  * Jalview is distributed in the hope that it will be useful, but \r
12  * WITHOUT ANY WARRANTY; without even the implied warranty \r
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
14  * PURPOSE.  See the GNU General Public License for more details.\r
15  * \r
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
17  */\r
18 package jalview.jbgui;\r
19 \r
20 import java.awt.*;\r
21 import java.awt.event.*;\r
22 import javax.swing.*;\r
23 import javax.swing.border.*;\r
24 import javax.swing.event.*;\r
25 \r
26 public class GDasSourceBrowser extends JPanel\r
27 {\r
28   public GDasSourceBrowser()\r
29   {\r
30     try\r
31     {\r
32       jbInit();\r
33     } catch (Exception ex)\r
34     {\r
35       ex.printStackTrace();\r
36     }\r
37   }\r
38 \r
39   private void jbInit() throws Exception\r
40   {\r
41     this.setLayout(gridBagLayout1);\r
42     refresh.setText("Refresh Available Sources");\r
43     refresh.addActionListener(new ActionListener()\r
44     {\r
45       public void actionPerformed(ActionEvent e)\r
46       {\r
47         refresh_actionPerformed(e);\r
48       }\r
49     });\r
50     progressBar.setPreferredSize(new Dimension(450, 20));\r
51     progressBar.setString("");\r
52     scrollPane.setBorder(titledBorder1);\r
53     scrollPane.setBorder(BorderFactory.createEtchedBorder());\r
54     fullDetailsScrollpane.setBorder(BorderFactory.createEtchedBorder());\r
55     fullDetails.addHyperlinkListener(new HyperlinkListener()\r
56     {\r
57       public void hyperlinkUpdate(HyperlinkEvent e)\r
58       {\r
59         fullDetails_hyperlinkUpdate(e);\r
60       }\r
61     });\r
62     fullDetails.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
63     fullDetails.setEditable(false);\r
64     registryLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
65     registryLabel.setHorizontalAlignment(SwingConstants.TRAILING);\r
66     registryLabel.setText("Use Registry");\r
67     addLocal.setText("Add Local Source");\r
68     addLocal.addActionListener(new ActionListener()\r
69     {\r
70       public void actionPerformed(ActionEvent e)\r
71       {\r
72         amendLocal(true);\r
73       }\r
74     });\r
75     jPanel1.setLayout(flowLayout1);\r
76     jPanel1.setMinimumSize(new Dimension(596, 30));\r
77     jPanel1.setPreferredSize(new Dimension(596, 30));\r
78     jScrollPane2.setBorder(titledBorder3);\r
79     jScrollPane3.setBorder(titledBorder4);\r
80     jScrollPane4.setBorder(titledBorder5);\r
81     titledBorder2\r
82             .setTitleFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
83     titledBorder3\r
84             .setTitleFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
85     titledBorder4\r
86             .setTitleFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
87     filter1.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
88     filter2.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
89     filter3.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
90     table.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
91     reset.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
92     reset.setMargin(new Insets(2, 2, 2, 2));\r
93     reset.setText("Reset");\r
94     reset.addActionListener(new ActionListener()\r
95     {\r
96       public void actionPerformed(ActionEvent e)\r
97       {\r
98         reset_actionPerformed(e);\r
99       }\r
100     });\r
101     jPanel2.setLayout(borderLayout1);\r
102     borderLayout1.setHgap(5);\r
103     registryURL.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
104     scrollPane.getViewport().add(table);\r
105     fullDetailsScrollpane.getViewport().add(fullDetails);\r
106     jScrollPane3.getViewport().add(filter2);\r
107     jScrollPane4.getViewport().add(filter3);\r
108     jPanel1.add(refresh, null);\r
109     jPanel1.add(addLocal, null);\r
110     jPanel1.add(progressBar, null);\r
111     jScrollPane2.getViewport().add(filter1);\r
112     this.add(jPanel1, new GridBagConstraints(0, 3, 3, 1, 1.0, 1.0,\r
113             GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,\r
114             new Insets(0, 0, 0, 0), 0, 0));\r
115     this.add(fullDetailsScrollpane, new GridBagConstraints(1, 0, 2, 1, 1.0,\r
116             1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,\r
117             new Insets(3, 0, 0, 3), 240, 130));\r
118     this.add(scrollPane, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0,\r
119             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(\r
120                     3, 2, 0, 0), 150, 130));\r
121     jPanel2.add(registryLabel, java.awt.BorderLayout.WEST);\r
122     jPanel2.add(registryURL, java.awt.BorderLayout.CENTER);\r
123     jPanel2.add(reset, java.awt.BorderLayout.EAST);\r
124     this.add(jPanel2, new GridBagConstraints(0, 2, 3, 1, 0.0, 0.0,\r
125             GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,\r
126             new Insets(5, 10, 0, 10), 339, 0));\r
127     this.add(jScrollPane2, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0,\r
128             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(\r
129                     0, 0, 0, 60), 80, 60));\r
130     this.add(jScrollPane4, new GridBagConstraints(2, 1, 1, 1, 1.0, 1.0,\r
131             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(\r
132                     0, -80, 0, 0), 80, 60));\r
133     this.add(jScrollPane3, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,\r
134             GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(\r
135                     0, -60, 0, 80), 80, 60));\r
136   }\r
137 \r
138   protected JTable table = new JTable();\r
139 \r
140   protected JEditorPane fullDetails = new JEditorPane("text/html", "");\r
141 \r
142   TitledBorder titledBorder1 = new TitledBorder("Available DAS Sources");\r
143 \r
144   protected JButton refresh = new JButton();\r
145 \r
146   protected JProgressBar progressBar = new JProgressBar();\r
147 \r
148   protected JScrollPane scrollPane = new JScrollPane();\r
149 \r
150   TitledBorder titledBorder2 = new TitledBorder("Full Details");\r
151 \r
152   protected JScrollPane fullDetailsScrollpane = new JScrollPane();\r
153 \r
154   protected JList filter1 = new JList();\r
155 \r
156   protected JList filter2 = new JList();\r
157 \r
158   protected JList filter3 = new JList();\r
159 \r
160   JScrollPane jScrollPane2 = new JScrollPane();\r
161 \r
162   JScrollPane jScrollPane3 = new JScrollPane();\r
163 \r
164   JScrollPane jScrollPane4 = new JScrollPane();\r
165 \r
166   protected JTextField registryURL = new JTextField();\r
167 \r
168   protected JLabel registryLabel = new JLabel();\r
169 \r
170   protected JButton addLocal = new JButton();\r
171 \r
172   JPanel jPanel1 = new JPanel();\r
173 \r
174   FlowLayout flowLayout1 = new FlowLayout();\r
175 \r
176   GridBagLayout gridBagLayout1 = new GridBagLayout();\r
177 \r
178   TitledBorder titledBorder3 = new TitledBorder("Authority:");\r
179 \r
180   TitledBorder titledBorder4 = new TitledBorder("Type:");\r
181 \r
182   TitledBorder titledBorder5 = new TitledBorder("Label:");\r
183 \r
184   JButton reset = new JButton();\r
185 \r
186   JPanel jPanel2 = new JPanel();\r
187 \r
188   BorderLayout borderLayout1 = new BorderLayout();\r
189 \r
190   public void refresh_actionPerformed(ActionEvent e)\r
191   {\r
192 \r
193   }\r
194 \r
195   public void fullDetails_hyperlinkUpdate(HyperlinkEvent e)\r
196   {\r
197     try\r
198     {\r
199 \r
200       if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)\r
201       {\r
202         jalview.util.BrowserLauncher.openURL(e.getURL().toString());\r
203       }\r
204     } catch (Exception ex)\r
205     {\r
206       System.out.println(e.getURL());\r
207       ex.printStackTrace();\r
208     }\r
209   }\r
210 \r
211   public void amendLocal(boolean newSource)\r
212   {\r
213 \r
214   }\r
215 \r
216   public void reset_actionPerformed(ActionEvent e)\r
217   {\r
218 \r
219   }\r
220 \r
221 }\r