package org.phenoscape.view;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JLabel;
import javax.swing.JTextField;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.bbop.framework.AbstractGUIComponent;
import org.jdesktop.xswingx.PromptSupport;
import org.obo.app.swing.TabActionTextField;
import org.phenoscape.util.ProvisionalTermUtil;
public class ORBPreferencesComponent extends AbstractGUIComponent {
private JTextField apikeyField;
private JTextField useridField;
public ORBPreferencesComponent(String id) {
super(id);
}
@Override
public void init() {
super.init();
this.initializeInterface();
}
private void initializeInterface() {
this.setLayout(new GridBagLayout());
this.apikeyField = new TabActionTextField();
PromptSupport.setPrompt("None", this.apikeyField);
this.apikeyField.setBackground(new JTextField().getBackground());
this.apikeyField.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
ProvisionalTermUtil.setAPIKey(StringUtils.stripToNull(apikeyField.getText()));
}
});
this.useridField = new TabActionTextField();
PromptSupport.setPrompt("None", this.useridField);
this.useridField.setAction(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
ProvisionalTermUtil.setUserID(StringUtils.stripToNull(useridField.getText()));
}
});
final GridBagConstraints apikeyLabelConstraints = new GridBagConstraints();
apikeyLabelConstraints.anchor = GridBagConstraints.EAST;
this.add(new JLabel("Bioportal API key:"), apikeyLabelConstraints);
final GridBagConstraints apikeyFieldConstraints = new GridBagConstraints();
apikeyFieldConstraints.gridx = 1;
apikeyFieldConstraints.fill = GridBagConstraints.HORIZONTAL;
apikeyFieldConstraints.weightx = 1.0;
this.add(this.apikeyField, apikeyFieldConstraints);
final GridBagConstraints useridLabelConstraints = new GridBagConstraints();
useridLabelConstraints.anchor = GridBagConstraints.EAST;
useridLabelConstraints.gridy = 1;
this.add(new JLabel("Bioportal user ID:"), useridLabelConstraints);
final GridBagConstraints useridFieldConstraints = new GridBagConstraints();
useridFieldConstraints.gridx = 1;
useridFieldConstraints.gridy = 1;
useridFieldConstraints.fill = GridBagConstraints.HORIZONTAL;
useridFieldConstraints.weightx = 1.0;
this.add(this.useridField, useridFieldConstraints);
this.setPreferredSize(new Dimension(400, 100));
this.updateInterface();
}
private void updateInterface() {
this.apikeyField.setText(ProvisionalTermUtil.getAPIKey());
this.useridField.setText(ProvisionalTermUtil.getUserID());
}
@SuppressWarnings("unused")
private Logger log() {
return Logger.getLogger(this.getClass());
}
}