/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
+ * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
* \r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
+ * This file is part of Jalview.\r
* \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
* \r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE. See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
*/\r
package jalview.gui;\r
\r
\r
if (registry.indexOf("/registry/das1/sources/") > -1)\r
{\r
- jalview.bin.Cache.setProperty(jalview.bin.Cache.DAS_REGISTRY_URL, DEFAULT_REGISTRY);\r
+ jalview.bin.Cache.setProperty(jalview.bin.Cache.DAS_REGISTRY_URL,\r
+ DEFAULT_REGISTRY);\r
registry = DEFAULT_REGISTRY;\r
}\r
return registry;\r
}\r
\r
- public DasSourceBrowser()\r
+ public DasSourceBrowser(FeatureSettings featureSettings)\r
{\r
+ fs = featureSettings;\r
String registry = getDasRegistryURL();\r
\r
registryURL.setText(registry);\r
}\r
}\r
\r
+ FeatureSettings fs = null;\r
+\r
+ public DasSourceBrowser()\r
+ {\r
+ this(null);\r
+ }\r
+\r
public void paintComponent(java.awt.Graphics g)\r
{\r
if (dasSources == null && !loadingDasSources)\r
text.append("<font color=\"#0000FF\">URL:</font> "\r
+ dasSources[i].getUrl() + "<br>");\r
\r
- text\r
- .append("<font color=\"#0000FF\">Admin Email:</font> <a href=\"mailto:"\r
- + dasSources[i].getAdminemail()\r
- + "\">"\r
- + dasSources[i].getAdminemail() + "</a>" + "<br>");\r
+ text.append("<font color=\"#0000FF\">Admin Email:</font> <a href=\"mailto:"\r
+ + dasSources[i].getAdminemail()\r
+ + "\">"\r
+ + dasSources[i].getAdminemail() + "</a>" + "<br>");\r
\r
text.append("<font color=\"#0000FF\">Registered at:</font> "\r
+ dasSources[i].getRegisterDate() + "<br>");\r
refresh.setVisible(false);\r
progressBar.setVisible(true);\r
progressBar.setIndeterminate(true);\r
+ setParentGuiEnabled(false);\r
// Refresh the source list.\r
dasSources = null;\r
getDASSource();\r
\r
init();\r
\r
+ setParentGuiEnabled(true);\r
loadingDasSources = false;\r
\r
}\r
\r
+ private void setParentGuiEnabled(boolean b)\r
+ {\r
+ if (fs != null)\r
+ {\r
+ fs.fetchDAS.setEnabled(b);\r
+ fs.saveDAS.setEnabled(b);\r
+ }\r
+ }\r
+\r
public Vector getSelectedSources()\r
{\r
// wait around if we're still loading.\r
- while (dasSources ==null) {\r
+ while (dasSources == null)\r
+ {\r
if (!loadingDasSources)\r
{\r
new Thread(this).start();\r
- try { Thread.sleep(5); } catch (Exception e) {};\r
+ try\r
+ {\r
+ Thread.sleep(5);\r
+ } catch (Exception e)\r
+ {\r
+ }\r
+ ;\r
while (loadingDasSources)\r
{\r
- try { Thread.sleep(5); } catch (Exception e) {}; \r
- };\r
+ try\r
+ {\r
+ Thread.sleep(5);\r
+ } catch (Exception e)\r
+ {\r
+ }\r
+ ;\r
+ }\r
+ ;\r
}\r
}\r
- \r
+\r
Vector selected = new Vector();\r
for (int r = 0; r < selectedSources.size(); r++)\r
{\r
public void amendLocal(boolean newSource)\r
{\r
String url = "http://localhost:8080/", nickname = "";\r
-\r
+ boolean seqsrc = false;\r
if (!newSource)\r
{\r
int selectedRow = table.getSelectionModel().getMinSelectionIndex();\r
nickname = table.getValueAt(selectedRow, 0).toString();\r
url = ((DasSource) localSources.get(nickname)).getUrl();\r
+ seqsrc = ((DasSource) localSources.get(nickname))\r
+ .hasCapability("sequence");\r
}\r
\r
JTextField nametf = new JTextField(nickname, 40);\r
JTextField urltf = new JTextField(url, 40);\r
JCheckBox seqs = new JCheckBox("Sequence Source");\r
- seqs.setSelected(((DasSource)localSources.get(nickname)).hasCapability("sequence"));\r
+ seqs.setSelected(seqsrc);\r
JPanel panel = new JPanel(new BorderLayout());\r
JPanel pane12 = new JPanel(new BorderLayout());\r
pane12.add(new JLabel("Nickname: "), BorderLayout.CENTER);\r
pane12.add(seqs, BorderLayout.SOUTH);\r
pane12.add(urltf, BorderLayout.EAST);\r
panel.add(pane12, BorderLayout.SOUTH);\r
- \r
+\r
int reply = JOptionPane.showInternalConfirmDialog(Desktop.desktop,\r
panel, "Enter Nickname & URL of Local DAS Source",\r
JOptionPane.OK_CANCEL_OPTION);\r
local.setNickname(nametf.getText());\r
if (seqs.isSelected())\r
{\r
- local.setCapabilities(new String[] {"features","sequence"});\r
+ local.setCapabilities(new String[]\r
+ { "features", "sequence" });\r
}\r
if (localSources == null)\r
{\r
{\r
tmp[index] = dasSources[i];\r
data[index][0] = dasSources[i].getNickname();\r
- data[index][1] = new Boolean(selectedSources\r
- .contains(dasSources[i].getNickname()));\r
+ data[index][1] = new Boolean(\r
+ selectedSources.contains(dasSources[i].getNickname()));\r
index++;\r
}\r
}\r
{\r
return;\r
}\r
- // note - we add all das sources to list so they can be filtered for the standard fetchDbRefs function\r
+ // note - we add all das sources to list so they can be filtered for the\r
+ // standard fetchDbRefs function\r
int size = dasSources != null ? dasSources.length : 0;\r
int lsize = localSources.size();\r
\r
// HAVE COORDINATE SYSTEMS, INFO WHICH AT PRESENT\r
// IS ADDED FROM THE REGISTRY\r
names.add(ds.getNickname());\r
- selected\r
- .add(new Boolean(selectedSources.contains(ds.getNickname())));\r
+ selected.add(new Boolean(selectedSources.contains(ds.getNickname())));\r
continue;\r
}\r
\r
if (!selectedInList(dummyFeatureList, ds.getCapabilities())\r
- || !selectedInList(filter3.getSelectedValues(), ds\r
- .getLabels()))\r
+ || !selectedInList(filter3.getSelectedValues(),\r
+ ds.getLabels()))\r
{\r
continue;\r
}\r
{\r
selectedSources.addElement(st.nextToken());\r
}\r
- \r
+\r
Vector _localSources = jalview.bin.Cache.getLocalDasSources();\r
- if (_localSources!=null)\r
+ if (_localSources != null)\r
{\r
- if (localSources==null)\r
+ if (localSources == null)\r
{\r
localSources = new Hashtable();\r
}\r
\r
/**\r
* set the DAS source settings in the given jalview properties.\r
+ * \r
* @param properties\r
*/\r
public void saveProperties(Properties properties)\r
}\r
else\r
{\r
- properties.setProperty(jalview.bin.Cache.DAS_REGISTRY_URL, registryURL.getText());\r
+ properties.setProperty(jalview.bin.Cache.DAS_REGISTRY_URL,\r
+ registryURL.getText());\r
}\r
\r
StringBuffer sb = new StringBuffer();\r
}\r
}\r
\r
- properties.setProperty(jalview.bin.Cache.DAS_ACTIVE_SOURCE, sb.toString());\r
+ properties.setProperty(jalview.bin.Cache.DAS_ACTIVE_SOURCE,\r
+ sb.toString());\r
\r
if (localSources != null)\r
{\r
while (en.hasMoreElements())\r
{\r
String token = en.nextElement().toString();\r
- sb.append(token + "|"\r
- +(((DasSource) localSources.get(token)).hasCapability("sequence") ? "sequence:" : "")\r
+ sb.append(token\r
+ + "|"\r
+ + (((DasSource) localSources.get(token))\r
+ .hasCapability("sequence") ? "sequence:" : "")\r
+ ((DasSource) localSources.get(token)).getUrl() + "\t");\r
}\r
\r
- properties.setProperty(jalview.bin.Cache.DAS_LOCAL_SOURCE, sb.toString());\r
+ properties.setProperty(jalview.bin.Cache.DAS_LOCAL_SOURCE,\r
+ sb.toString());\r
}\r
\r
}\r
}\r
});\r
thr.start();\r
- while (loadingDasSources\r
- || dasSources == null)\r
+ while (loadingDasSources || dasSources == null)\r
{\r
try\r
{\r
}\r
return resolved;\r
}\r
+\r
+ /**\r
+ * disable or enable the buttons on the source browser\r
+ * \r
+ * @param b\r
+ */\r
+ public void setGuiEnabled(boolean b)\r
+ {\r
+ refresh.setEnabled(b);\r
+ addLocal.setEnabled(b);\r
+ }\r
}\r