Changeset 10611 in josm for trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
- Timestamp:
- 2016-07-23T18:46:45+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
r10600 r10611 51 51 import org.openstreetmap.josm.data.preferences.IntegerProperty; 52 52 import org.openstreetmap.josm.data.projection.Projection; 53 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;54 53 import org.openstreetmap.josm.data.projection.Projections; 55 54 import org.openstreetmap.josm.gui.help.Helpful; … … 84 83 } 85 84 86 public transient Predicate<OsmPrimitive> isSelectablePredicate = new Predicate<OsmPrimitive>() { 87 @Override 88 public boolean evaluate(OsmPrimitive prim) { 89 if (!prim.isSelectable()) return false; 90 // if it isn't displayed on screen, you cannot click on it 91 MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().lock(); 92 try { 93 return !MapPaintStyles.getStyles().get(prim, getDist100Pixel(), NavigatableComponent.this).isEmpty(); 94 } finally { 95 MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().unlock(); 96 } 85 public transient Predicate<OsmPrimitive> isSelectablePredicate = prim -> { 86 if (!prim.isSelectable()) return false; 87 // if it isn't displayed on screen, you cannot click on it 88 MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().lock(); 89 try { 90 return !MapPaintStyles.getStyles().get(prim, getDist100Pixel(), NavigatableComponent.this).isEmpty(); 91 } finally { 92 MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().unlock(); 97 93 } 98 94 }; … … 143 139 // The only events that may move/resize this map view are window movements or changes to the map view size. 144 140 // We can clean this up more by only recalculating the state on repaint. 145 private final transient HierarchyListener hierarchyListener = new HierarchyListener() { 146 @Override 147 public void hierarchyChanged(HierarchyEvent e) { 148 long interestingFlags = HierarchyEvent.ANCESTOR_MOVED | HierarchyEvent.SHOWING_CHANGED; 149 if ((e.getChangeFlags() & interestingFlags) != 0) { 150 updateLocationState(); 151 } 141 private final transient HierarchyListener hierarchyListener = e -> { 142 long interestingFlags = HierarchyEvent.ANCESTOR_MOVED | HierarchyEvent.SHOWING_CHANGED; 143 if ((e.getChangeFlags() & interestingFlags) != 0) { 144 updateLocationState(); 152 145 } 153 146 }; … … 181 174 state = MapViewState.createDefaultState(getWidth(), getHeight()); 182 175 // uses weak link. 183 Main.addProjectionChangeListener(new ProjectionChangeListener() { 184 @Override 185 public void projectionChanged(Projection oldValue, Projection newValue) { 186 fixProjection(); 187 } 188 }); 176 Main.addProjectionChangeListener((oldValue, newValue) -> fixProjection()); 189 177 } 190 178
Note:
See TracChangeset
for help on using the changeset viewer.