Changeset 17159 in josm for trunk/src


Ignore:
Timestamp:
2020-10-11T10:30:14+02:00 (4 years ago)
Author:
simon04
Message:

see #7548 - Re-organize the preference dialog (display preferences)

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterButton.java

    r15818 r17159  
    7373            @Override
    7474            public void actionPerformed(ActionEvent e) {
    75                 PreferencesAction.forPreferenceSubTab("", "null", DrawingPreference.class).actionPerformed(e);
     75                PreferencesAction.forPreferenceTab("", "null", DrawingPreference.class).actionPerformed(e);
    7676            }
    7777        });
  • trunk/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java

    r16966 r17159  
    9191        a.anchor = GBC.EAST;
    9292
    93         JScrollPane scrollPane = new JScrollPane(panel);
    94         scrollPane.setBorder(null);
    95 
    96         JPanel tab = gui.createPreferenceTab(this);
    97         tab.add(scrollPane, GBC.eol().fill(GBC.BOTH));
     93        JPanel tab = gui.createPreferenceTab(this, true);
     94        tab.add(panel, GBC.eol().fill(GBC.BOTH));
    9895        tab.add(GBC.glue(0, 10), a);
    9996    }
  • trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java

    r16979 r17159  
    162162                    }
    163163                }
    164                 // check if plugin dependences can also be loaded
     164                // check if plugin dependencies can also be loaded
    165165                Collection<PluginInformation> allPlugins = new HashSet<>(toLoad);
    166166                allPlugins.addAll(PluginHandler.getPlugins());
     
    253253        private PreferenceScrollPane(PreferencePanel preferencePanel) {
    254254            this(preferencePanel.getComponent(), preferencePanel.getTabPreferenceSetting());
     255            GuiHelper.setDefaultIncrement(this);
    255256        }
    256257
     
    500501        int position = index;
    501502        for (PreferenceTab tab : tabs) {
    502             if (tab.getTabPreferenceSetting().equals(tps)) {
     503            if (tab.getTabPreferenceSetting().equals(tps) && tps.getIconName() != null) {
    503504                insertTab(null, icon, tab.getComponent(), tps.getTooltip(), position++);
     505            } else if (tab.getTabPreferenceSetting().equals(tps)) {
     506                insertTab(tps.getTitle(), null, tab.getComponent(), tps.getTooltip(), position++);
    504507            }
    505508        }
     
    528531                        // If it has been initialized, add corresponding tab(s)
    529532                        addGUITabsForSetting(icon, tps);
    530                     } else {
     533                    } else if (tps.getIconName() != null) {
    531534                        // If it has not been initialized, create an empty tab with only icon and tooltip
    532535                        addTab(null, icon, new PreferencePanel(tps), tps.getTooltip());
     536                    } else {
     537                        addTab(tps.getTitle(), null, new PreferencePanel(tps), tps.getTooltip());
    533538                    }
    534539                }
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/ColorPreference.java

    r17060 r17159  
    4848import org.openstreetmap.josm.gui.layer.gpx.GpxDrawHelper;
    4949import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
     50import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
    5051import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    5152import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
    5253import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
    53 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
    54 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    5554import org.openstreetmap.josm.gui.preferences.advanced.PreferencesTable;
    5655import org.openstreetmap.josm.gui.util.GuiHelper;
     
    6968 * @see NamedColorProperty
    7069 */
    71 public class ColorPreference implements SubPreferenceSetting, ListSelectionListener, TableModelListener {
     70public class ColorPreference extends DefaultTabPreferenceSetting implements ListSelectionListener, TableModelListener {
    7271
    7372    /**
     
    7978            return new ColorPreference();
    8079        }
     80    }
     81
     82    ColorPreference() {
     83        super(null, tr("Colors"), tr("Change colors used in program dialogs and in map paint styles."));
    8184    }
    8285
     
    377380        buttonPanel.add(defaultAll, GBC.std().insets(0, 5, 0, 0));
    378381        buttonPanel.add(remove, GBC.std().insets(0, 5, 0, 0));
    379         gui.getDisplayPreference().addSubTab(this, tr("Colors"), panel);
     382
     383        createPreferenceTabWithScrollPane(gui, panel);
    380384    }
    381385
     
    423427
    424428    @Override
    425     public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
    426         return gui.getDisplayPreference();
    427     }
    428 
    429     @Override
    430429    public void valueChanged(ListSelectionEvent e) {
    431430        updateEnabledState();
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java

    r16979 r17159  
    1111import javax.swing.JLabel;
    1212import javax.swing.JPanel;
    13 import javax.swing.JScrollPane;
    1413
    1514import org.openstreetmap.josm.actions.ExpertToggleAction;
     
    1817import org.openstreetmap.josm.gui.autofilter.AutoFilterRule;
    1918import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     19import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
    2020import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    2121import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
    2222import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
    23 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
    24 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    25 import org.openstreetmap.josm.gui.util.GuiHelper;
    2623import org.openstreetmap.josm.gui.widgets.JosmComboBox;
    2724import org.openstreetmap.josm.spi.preferences.Config;
     
    3128 * "OSM Data" drawing preferences.
    3229 */
    33 public class DrawingPreference implements SubPreferenceSetting {
     30public class DrawingPreference extends DefaultTabPreferenceSetting {
    3431
    3532    /**
     
    7168    private final JCheckBox hideLabelsWhileDragging = new JCheckBox(tr("Hide labels while dragging the map"));
    7269
     70    DrawingPreference() {
     71        super(null, tr("OSM Data"), tr("Settings that control the drawing of OSM data."));
     72    }
     73
    7374    @Override
    7475    public void addGui(PreferenceTabbedPane gui) {
     
    192193
    193194        panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
    194         JScrollPane scrollpane = new JScrollPane(panel);
    195         scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    196         GuiHelper.setDefaultIncrement(scrollpane);
    197         gui.getDisplayPreference().addSubTab(this, tr("OSM Data"), scrollpane);
     195        createPreferenceTabWithScrollPane(gui, panel);
    198196    }
    199197
     
    233231    }
    234232
    235     @Override
    236     public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
    237         return gui.getDisplayPreference();
    238     }
    239233}
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXPreference.java

    r16979 r17159  
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
    6 import javax.swing.BorderFactory;
    7 import javax.swing.JPanel;
    8 import javax.swing.JScrollPane;
    9 
     6import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
    107import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    118import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
    129import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
    13 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
    14 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    15 import org.openstreetmap.josm.gui.util.GuiHelper;
    1610
    1711/**
    1812 * "GPS Points" drawing preferences.
    1913 */
    20 public class GPXPreference implements SubPreferenceSetting {
     14public class GPXPreference extends DefaultTabPreferenceSetting {
    2115
    2216    /**
     
    3024    }
    3125
     26    GPXPreference() {
     27        super(null, tr("GPS Points"), tr("Settings that control the drawing of GPS tracks."));
     28    }
     29
    3230    private GPXSettingsPanel gpxPanel;
    3331
     
    3634        gpxPanel = new GPXSettingsPanel();
    3735        gui.addValidationListener(gpxPanel);
    38         JPanel panel = gpxPanel;
    39 
    40         JScrollPane scrollpane = new JScrollPane(panel);
    41         scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    42         GuiHelper.setDefaultIncrement(scrollpane);
    43         gui.getDisplayPreference().addSubTab(this, tr("GPS Points"), scrollpane);
     36        createPreferenceTabWithScrollPane(gui, gpxPanel);
    4437    }
    4538
     
    5447    }
    5548
    56     @Override
    57     public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
    58         return gui.getDisplayPreference();
    59     }
    6049}
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java

    r15725 r17159  
    1616import javax.swing.JLabel;
    1717import javax.swing.JList;
    18 import javax.swing.JScrollPane;
    1918import javax.swing.JSpinner;
    2019import javax.swing.ListCellRenderer;
     
    3029import org.openstreetmap.josm.gui.NavigatableComponent;
    3130import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
     31import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
    3232import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    3333import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
    3434import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
    35 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
    36 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    3735import org.openstreetmap.josm.gui.widgets.FileChooserManager;
    3836import org.openstreetmap.josm.gui.widgets.JosmComboBox;
     
    4745 * Look-and-feel preferences.
    4846 */
    49 public class LafPreference implements SubPreferenceSetting {
     47public class LafPreference extends DefaultTabPreferenceSetting {
    5048
    5149    /**
     
    7371            return new LafPreference();
    7472        }
     73    }
     74
     75    LafPreference() {
     76        super(null, tr("Look and Feel"), tr("Change the Look and Feel of the program"));
    7577    }
    7678
     
    212214        panel.add(GBC.glue(5, 0), GBC.std().fill(GBC.HORIZONTAL));
    213215        panel.add(lafCombo, GBC.eol().fill(GBC.HORIZONTAL));
    214 
    215         JScrollPane scrollpane = panel.getVerticalScrollPane();
    216         scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    217         gui.getDisplayPreference().addSubTab(this, tr("Look and Feel"), scrollpane);
     216        panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
     217
     218        createPreferenceTabWithScrollPane(gui, panel);
    218219    }
    219220
     
    243244    }
    244245
    245     @Override
    246     public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
    247         return gui.getDisplayPreference();
    248     }
    249246}
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java

    r16660 r17159  
    55
    66import java.awt.Component;
     7import java.awt.GridBagLayout;
    78import java.util.ArrayList;
    89import java.util.Comparator;
     
    1819import javax.swing.ListCellRenderer;
    1920
     21import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
    2022import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
    2123import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
    2224import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
    23 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
    24 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    2525import org.openstreetmap.josm.gui.widgets.JosmComboBox;
    2626import org.openstreetmap.josm.spi.preferences.Config;
     
    3333 * @since 1065
    3434 */
    35 public class LanguagePreference implements SubPreferenceSetting {
     35public class LanguagePreference extends DefaultTabPreferenceSetting {
    3636
    3737    private static final String LANGUAGE = "language";
     
    4545            return new LanguagePreference();
    4646        }
     47    }
     48
     49    LanguagePreference() {
     50        super(null, tr("Language"), tr("Change the language of JOSM."));
    4751    }
    4852
     
    5963        langCombo.setRenderer(new LanguageCellRenderer());
    6064
    61         LafPreference lafPreference = gui.getSetting(LafPreference.class);
    62         final JPanel panel = lafPreference.panel;
     65        final JPanel panel = new JPanel(new GridBagLayout());
    6366        panel.add(new JLabel(tr("Language")), GBC.std().insets(20, 0, 0, 0));
    6467        panel.add(GBC.glue(5, 0), GBC.std().fill(GBC.HORIZONTAL));
     
    6669        panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
    6770
    68         TabPreferenceSetting tabPref = lafPreference.getTabPreferenceSetting(gui);
    69         tabPref.registerSubTab(this, tabPref.getSubTab(lafPreference));
     71        createPreferenceTabWithScrollPane(gui, panel);
    7072    }
    7173
     
    137139    }
    138140
    139     @Override
    140     public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
    141         return gui.getSetting(LafPreference.class).getTabPreferenceSetting(gui);
    142     }
    143141}
Note: See TracChangeset for help on using the changeset viewer.