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    }