// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.tracer2.preferences;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.openstreetmap.josm.plugins.tracer2.TracerPlugin;
public class ServerParamSelectDialog extends JPanel {
private JComboBox<String> m_oComboBox;
List<ServerParam> m_listServerParam;
private boolean m_bShow = true;
public boolean getShow() {
return m_bShow;
}
public ServerParamSelectDialog(List<ServerParam> listParam) {
Init(m_listServerParam, null);
}
public ServerParamSelectDialog(List<ServerParam> listServerParam, ServerParam activParam) {
Init(listServerParam, activParam);
}
private void Init(List<ServerParam> listParam, ServerParam activParam) {
GridBagConstraints c = new GridBagConstraints();
String[] astr = new String[listParam.size()];
m_listServerParam = listParam;
if (activParam == null) {
activParam = m_listServerParam.get(0);
}
int i = 0;
int pos = 0;
for (ServerParam param: m_listServerParam) {
astr[i] = param.getName();
if (param.equals(activParam)) {
pos = i;
}
i++;
}
m_oComboBox = new JComboBox<>(astr);
m_oComboBox.setSelectedIndex(pos);
setLayout(new GridBagLayout());
c.insets = new Insets(4, 4, 4, 4);
c.gridwidth = 1;
c.weightx = 0.8;
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
add(new JLabel(tr("Parameter:")), c);
c.gridwidth = 1;
c.gridx = 1;
c.gridy = 0;
c.weightx = 1.5;
add(m_oComboBox, c);
}
public ServerParam getSelectedParam() {
int nSel = m_oComboBox.getSelectedIndex();
return m_listServerParam.get(nSel);
}
public void checkComboBox() {
int nSel = m_oComboBox.getSelectedIndex();
TracerPlugin.s_oPlugin.m_oParamList.setActivParam(m_listServerParam.get(nSel));
}
}