Ignore:
Timestamp:
2016-01-17T18:25:47+01:00 (8 years ago)
Author:
Don-vip
Message:

advanced preferences - refactoring to reduce code duplication

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/advanced/ListEditor.java

    r9239 r9507  
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
    6 import java.awt.Dimension;
    76import java.awt.GridBagLayout;
    87import java.util.ArrayList;
     
    1817
    1918import org.openstreetmap.josm.data.Preferences.ListSetting;
    20 import org.openstreetmap.josm.gui.ExtendedDialog;
    2119import org.openstreetmap.josm.gui.widgets.JosmTextField;
    2220import org.openstreetmap.josm.tools.GBC;
    2321import org.openstreetmap.josm.tools.Predicate;
    2422import org.openstreetmap.josm.tools.Utils;
    25 import org.openstreetmap.josm.tools.WindowGeometry;
    2623
    2724/**
    2825 * Editor for List preference entries.
     26 * @since 4634
    2927 */
    30 public class ListEditor extends ExtendedDialog {
     28public class ListEditor extends AbstractListEditor<String> {
    3129
    32     private List<String> data;
    33     private final transient PrefEntry entry;
     30    private final List<String> data;
    3431
    3532    /**
     
    4037     */
    4138    public ListEditor(final JComponent gui, PrefEntry entry, ListSetting setting) {
    42         super(gui, tr("Change list setting"), new String[] {tr("OK"), tr("Cancel")});
    43         this.entry = entry;
     39        super(gui, tr("Change list setting"), entry);
    4440        List<String> orig = setting.getValue();
    4541        if (orig != null) {
     
    4844            data = new ArrayList<>();
    4945        }
    50         setButtonIcons(new String[] {"ok.png", "cancel.png"});
    51         setRememberWindowGeometry(getClass().getName() + ".geometry", WindowGeometry.centerInWindow(gui, new Dimension(300, 350)));
    5246        setContent(build(), false);
    5347    }
    5448
    55     /**
    56      * Returns the list of values.
    57      * @return The list of values.
    58      */
     49    @Override
    5950    public List<String> getData() {
    6051        return new ArrayList<>(Utils.filter(data, new Predicate<String>() {
     
    6657    }
    6758
     59    @Override
    6860    protected final JPanel build() {
    6961        JPanel p = new JPanel(new GridBagLayout());
Note: See TracChangeset for help on using the changeset viewer.