package jalview.urls;
import jalview.util.MessageManager;
+import jalview.util.UrlLink;
import java.util.ArrayList;
import java.util.List;
private String id; // id is not supplied to display, but used to identify
// entries when saved
- private String name;
-
- private String url;
-
private boolean isDefault;
private boolean isSelected;
+ private UrlLink link;
+
// Headers for columns in table
private final static List<String> colNames = new ArrayList<String>()
{
public final static int ID = 4;
- public UrlLinkDisplay(String rowId, String rowName, String rowUrl,
+ public UrlLinkDisplay(String rowId, UrlLink rowLink,
boolean rowSelected, boolean rowDefault)
{
id = rowId;
- name = rowName;
- url = rowUrl;
isDefault = rowDefault;
isSelected = rowSelected;
+
+ link = rowLink;
}
// getters/setters
public String getName()
{
- return name;
+ return link.getLabel();
}
public String getUrl()
{
- return url;
+ return link.getUrlWithToken();
}
public boolean getIsDefault()
return isSelected;
}
+ public void setName(String name)
+ {
+ link.setLabel(name);
+ }
+
public void setUrl(String rowUrl)
{
- url = rowUrl;
+ link = new UrlLink(rowUrl);
}
public void setIsDefault(boolean rowDefault)
case ID:
return id;
case URL:
- return url;
+ return getUrl();
case DEFAULT:
return isDefault;
case SELECTED:
return isSelected;
case NAME:
- return name;
+ return getName();
default:
return null;
}
id = (String) value;
break;
case URL:
- url = (String) value;
+ setUrl((String) value);
break;
case DEFAULT:
isDefault = (boolean) value;
isSelected = (boolean) value;
break;
case NAME:
- name = (String) value;
+ setName((String) value);
break;
default:
// do nothing
*/
public boolean isEditable(int index)
{
- return ((index == DEFAULT) || (index == SELECTED));
+ if (index == DEFAULT)
+ {
+ // default link must be a $SEQUENCE_ID$ link
+ // so only allow editing if it is
+ return (!link.usesDBAccession());
+ }
+ else if (index == SELECTED)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
/**