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