Changeset 12758 in josm for trunk/src/org
- Timestamp:
- 2017-09-06T15:29:05+02:00 (7 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
r12726 r12758 334 334 335 335 /** 336 * Maintains a list of used tags for autocompletion.337 */338 private AutoCompletionManager autocomplete;339 340 /**341 336 * Returns the autocompletion manager, which maintains a list of used tags for autocompletion. 342 337 * @return the autocompletion manager 343 */ 338 * @deprecated to be removed end of 2017. Use {@link AutoCompletionManager#of(DataSet)} instead. 339 */ 340 @Deprecated 344 341 public AutoCompletionManager getAutoCompletionManager() { 345 if (autocomplete == null) { 346 autocomplete = new AutoCompletionManager(this); 347 addDataSetListener(autocomplete); 348 } 349 return autocomplete; 342 return AutoCompletionManager.of(this); 350 343 } 351 344 -
trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java
r12660 r12758 36 36 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField; 37 37 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 38 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager; 38 39 import org.openstreetmap.josm.gui.widgets.JMultilineLabel; 39 40 import org.openstreetmap.josm.tools.ImageProvider; … … 203 204 OsmDataLayer editLayer = MainApplication.getLayerManager().getEditLayer(); 204 205 if (editLayer != null) { 205 editLayer.data.getAutoCompletionManager().populateWithMemberRoles(acList);206 AutoCompletionManager.of(editLayer.data).populateWithMemberRoles(acList); 206 207 } 207 208 tfRole.setAutoCompletionList(acList); … … 212 213 AutoCompletionList acList2 = new AutoCompletionList(); 213 214 if (editLayer != null) { 214 editLayer.data.getAutoCompletionManager().populateWithKeys(acList2);215 AutoCompletionManager.of(editLayer.data).populateWithKeys(acList2); 215 216 } 216 217 tfKey.setAutoCompletionList(acList2); -
trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
r12748 r12758 446 446 mainPanel.add(p, BorderLayout.CENTER); 447 447 448 AutoCompletionManager autocomplete = MainApplication.getLayerManager().getEditLayer().data.getAutoCompletionManager();448 AutoCompletionManager autocomplete = AutoCompletionManager.of(MainApplication.getLayerManager().getEditLayer().data); 449 449 List<AutoCompletionListItem> keyList = autocomplete.getKeys(); 450 450 keyList.sort(DEFAULT_AC_ITEM_COMPARATOR); … … 692 692 693 693 cacheRecentTags(); 694 AutoCompletionManager autocomplete = MainApplication.getLayerManager().getEditLayer().data.getAutoCompletionManager();694 AutoCompletionManager autocomplete = AutoCompletionManager.of(MainApplication.getLayerManager().getEditLayer().data); 695 695 List<AutoCompletionListItem> keyList = autocomplete.getKeys(); 696 696 -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
r12678 r12758 94 94 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField; 95 95 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 96 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager; 96 97 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset; 97 98 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler; … … 423 424 if (list != null) { 424 425 list.clear(); 425 re.getLayer().data.getAutoCompletionManager().populateWithMemberRoles(list, re.getRelation());426 AutoCompletionManager.of(re.getLayer().data).populateWithMemberRoles(list, re.getRelation()); 426 427 } 427 428 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberRoleCellEditor.java
r12657 r12758 14 14 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField; 15 15 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 16 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager; 16 17 17 18 /** … … 47 48 editor.setText(role); 48 49 autoCompletionList.clear(); 49 ds.getAutoCompletionManager().populateWithMemberRoles(autoCompletionList, relation);50 AutoCompletionManager.of(ds).populateWithMemberRoles(autoCompletionList, relation); 50 51 return editor; 51 52 } -
trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorPanel.java
r10611 r12758 181 181 CheckParameterUtil.ensureParameterNotNull(layer, "layer"); 182 182 183 AutoCompletionManager autocomplete = layer.data.getAutoCompletionManager();183 AutoCompletionManager autocomplete = AutoCompletionManager.of(layer.data); 184 184 AutoCompletionList acList = new AutoCompletionList(); 185 185 -
trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionManager.java
r12042 r12758 6 6 import java.util.Collection; 7 7 import java.util.Collections; 8 import java.util.HashMap; 8 9 import java.util.HashSet; 9 10 import java.util.LinkedHashSet; … … 28 29 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent; 29 30 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent; 31 import org.openstreetmap.josm.gui.MainApplication; 32 import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent; 33 import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener; 34 import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent; 35 import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent; 36 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 30 37 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset; 31 38 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets; … … 129 136 static final Set<String> PRESET_ROLE_CACHE = new HashSet<>(); 130 137 138 private static final Map<DataSet, AutoCompletionManager> INSTANCES = new HashMap<>(); 139 131 140 /** 132 141 * Constructs a new {@code AutoCompletionManager}. … … 422 431 dirty = true; 423 432 } 433 434 private static void registerListeners(AutoCompletionManager autoCompletionManager) { 435 autoCompletionManager.ds.addDataSetListener(autoCompletionManager); 436 MainApplication.getLayerManager().addLayerChangeListener(new LayerChangeListener() { 437 @Override 438 public void layerRemoving(LayerRemoveEvent e) { 439 if (e.getRemovedLayer() instanceof OsmDataLayer 440 && ((OsmDataLayer) e.getRemovedLayer()).data == autoCompletionManager.ds) { 441 INSTANCES.remove(autoCompletionManager.ds); 442 autoCompletionManager.ds.removeDataSetListener(autoCompletionManager); 443 MainApplication.getLayerManager().removeLayerChangeListener(this); 444 } 445 } 446 447 @Override 448 public void layerOrderChanged(LayerOrderChangeEvent e) { 449 // Do nothing 450 } 451 452 @Override 453 public void layerAdded(LayerAddEvent e) { 454 // Do nothing 455 } 456 }); 457 } 458 459 /** 460 * Returns the {@code AutoCompletionManager} for the given data set. 461 * @param dataSet the data set 462 * @return the {@code AutoCompletionManager} for the given data set 463 * @since 12758 464 */ 465 public static AutoCompletionManager of(DataSet dataSet) { 466 AutoCompletionManager result = INSTANCES.get(dataSet); 467 if (result == null) { 468 result = new AutoCompletionManager(dataSet); 469 INSTANCES.put(dataSet, result); 470 registerListeners(result); 471 } 472 return result; 473 } 424 474 } -
trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java
r12636 r12758 24 24 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField; 25 25 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 26 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager; 26 27 import org.openstreetmap.josm.tools.ImageProvider; 27 28 import org.openstreetmap.josm.tools.Logging; … … 48 49 } 49 50 AutoCompletionList list = new AutoCompletionList(); 50 layer.data.getAutoCompletionManager().populateWithTagValues(list, keys);51 AutoCompletionManager.of(layer.data).populateWithTagValues(list, keys); 51 52 field.setAutoCompletionList(list); 52 53 }
Note:
See TracChangeset
for help on using the changeset viewer.