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 }