package ext_tools.preferences;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.gui.ExtendedDialog;
import org.openstreetmap.josm.tools.GBC;
import ext_tools.ExtTool;
public class EditToolDialog extends ExtendedDialog {
private ExtTool tool;
private JPanel panel = new JPanel(new GridBagLayout());
private JTextField name = new JTextField();
private JTextField cmdline = new JTextField();
private void addLabelled(String str, Component c) {
JLabel label = new JLabel(str);
panel.add(label, GBC.std());
label.setLabelFor(c);
panel.add(c, GBC.eol().fill(GridBagConstraints.HORIZONTAL));
}
private void load() {
name.setText(tool.name);
cmdline.setText(tool.cmdline);
}
private void save() {
tool.name = name.getText();
tool.cmdline = cmdline.getText();
}
public EditToolDialog(ExtTool tool) {
super(Main.parent, tr("Edit tool"),
new String[] { tr("OK"), tr("Cancel") },
true);
contentInsets = new Insets(15, 15, 5, 15);
setButtonIcons(new String[] { "ok.png", "cancel.png" });
this.tool = tool;
addLabelled(tr("Name:"), name);
addLabelled(tr("CmdLine:"), cmdline);
load();
setContent(panel);
setupDialog();
}
@Override
protected void buttonAction(int buttonIndex, ActionEvent evt) {
if (evt.getActionCommand().equals(tr("OK"))) {
save();
}
super.buttonAction(buttonIndex, evt);
}
}