001 // License: GPL. See LICENSE file for details.
002 package org.openstreetmap.josm.gui.preferences.advanced;
003
004 import static org.openstreetmap.josm.tools.I18n.tr;
005
006 import java.awt.GridBagLayout;
007
008 import javax.swing.JLabel;
009 import javax.swing.JPanel;
010 import javax.swing.JTextField;
011
012 import org.openstreetmap.josm.data.Preferences.StringSetting;
013 import org.openstreetmap.josm.gui.ExtendedDialog;
014 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
015 import org.openstreetmap.josm.gui.preferences.advanced.AdvancedPreference.PrefEntry;
016 import org.openstreetmap.josm.tools.GBC;
017
018 public class StringEditor extends ExtendedDialog {
019
020 PrefEntry entry;
021 JTextField tvalue;
022
023 public StringEditor(final PreferenceTabbedPane gui, PrefEntry entry, StringSetting setting) {
024 super(gui, tr("Change string setting"), new String[] {tr("OK"), tr("Cancel")});
025 this.entry = entry;
026 setButtonIcons(new String[] {"ok.png", "cancel.png"});
027 setContent(build(setting.getValue() == null ? "" : setting.getValue()));
028 }
029
030 public String getData() {
031 return tvalue.getText();
032 }
033
034 protected JPanel build(String orig) {
035 JPanel p = new JPanel(new GridBagLayout());
036 p.add(new JLabel(tr("Key: {0}", entry.getKey())), GBC.eol().insets(0,0,5,0));
037
038 p.add(new JLabel(tr("Value: ")), GBC.std());
039 tvalue = new JTextField(orig, 50);
040 p.add(tvalue, GBC.eop().insets(5,0,0,0).fill(GBC.HORIZONTAL));
041
042 return p;
043 }
044 }