Changeset 1742 in josm for trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
- Timestamp:
- 2009-07-07T09:04:00+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
r1415 r1742 7 7 import java.awt.GridBagLayout; 8 8 import java.awt.ScrollPane; 9 import java.util.ArrayList; 9 10 import java.util.Collection; 10 11 import java.util.Iterator; 11 12 import java.util.LinkedList; 13 import java.util.List; 12 14 13 15 import javax.swing.BorderFactory; … … 33 35 public class PreferenceDialog extends JTabbedPane { 34 36 35 public final static Collection<PreferenceSetting> settings = new LinkedList<PreferenceSetting>(); 37 private final static Collection<PreferenceSettingFactory> settingsFactory = new LinkedList<PreferenceSettingFactory>(); 38 private final List<PreferenceSetting> settings = new ArrayList<PreferenceSetting>(); 36 39 37 40 // some common tabs … … 41 44 public final JPanel audio = createPreferenceTab("audio", I18n.tr("Audio Settings"), I18n.tr("Settings for the audio player and audio markers.")); 42 45 43 public final javax.swing.JTabbedPane displaycontent = new javax.swing.JTabbedPane();46 public final javax.swing.JTabbedPane displaycontent = new javax.swing.JTabbedPane(); 44 47 45 48 /** … … 105 108 public PreferenceDialog() { 106 109 super(JTabbedPane.LEFT, JTabbedPane.SCROLL_TAB_LAYOUT); 110 111 for (PreferenceSettingFactory factory:settingsFactory) { 112 113 PreferenceSetting setting = factory.createPreferenceSetting(); 114 if (setting != null) { 115 settings.add(factory.createPreferenceSetting()); 116 } 117 } 118 107 119 display.add(displaycontent, GBC.eol().fill(GBC.BOTH)); 108 120 for (Iterator<PreferenceSetting> it = settings.iterator(); it.hasNext();) { … … 118 130 } 119 131 132 public List<PreferenceSetting> getSettings() { 133 return settings; 134 } 135 136 @SuppressWarnings("unchecked") 137 public <T> T getSetting(Class<? extends T> clazz) { 138 for (PreferenceSetting setting:settings) { 139 if (clazz.isAssignableFrom(setting.getClass())) { 140 return (T)setting; 141 } 142 } 143 return null; 144 } 145 120 146 static { 121 147 // order is important! 122 settings .add(new DrawingPreference());123 settings .add(new ColorPreference());124 settings .add(new LafPreference());125 settings .add(new LanguagePreference());126 settings .add(new MapPaintPreference());127 settings .add(new ServerAccessPreference());128 settings .add(new FilePreferences());129 settings .add(new ProxyPreferences());130 settings .add(new ProjectionPreference());131 settings .add(new TaggingPresetPreference());132 settings .add(new PluginPreference());133 settings .add(Main.toolbar);134 settings .add(new AudioPreference());135 settings .add(new ShortcutPreference());148 settingsFactory.add(new DrawingPreference.Factory()); 149 settingsFactory.add(new ColorPreference.Factory()); 150 settingsFactory.add(new LafPreference.Factory()); 151 settingsFactory.add(new LanguagePreference.Factory()); 152 settingsFactory.add(new MapPaintPreference.Factory()); 153 settingsFactory.add(new ServerAccessPreference.Factory()); 154 settingsFactory.add(new FilePreferences.Factory()); 155 settingsFactory.add(new ProxyPreferences.Factory()); 156 settingsFactory.add(new ProjectionPreference.Factory()); 157 settingsFactory.add(new TaggingPresetPreference.Factory()); 158 settingsFactory.add(new PluginPreference.Factory()); 159 settingsFactory.add(Main.toolbar); 160 settingsFactory.add(new AudioPreference.Factory()); 161 settingsFactory.add(new ShortcutPreference.Factory()); 136 162 137 PluginHandler.getPreferenceSetting(settings );163 PluginHandler.getPreferenceSetting(settingsFactory); 138 164 139 165 // always the last: advanced tab 140 settings .add(new AdvancedPreference());166 settingsFactory.add(new AdvancedPreference.Factory()); 141 167 } 142 168 }
Note:
See TracChangeset
for help on using the changeset viewer.