Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapToolbar.java @ 1317:45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
flys-client/trunk@2956 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 13 Oct 2011 10:22:39 +0000 |
parents | cf0f906921de |
children | 9981ba2ee13a |
comparison
equal
deleted
inserted
replaced
1316:956605001cfb | 1317:45b9b1fc26e2 |
---|---|
309 // OpenLayers native mechanism to select features, but for some reason | 309 // OpenLayers native mechanism to select features, but for some reason |
310 // this doesn't work here. After a feature has been selected, the layer | 310 // this doesn't work here. After a feature has been selected, the layer |
311 // still has no selected features. | 311 // still has no selected features. |
312 opts.onSelect(new SelectFeature.SelectFeatureListener() { | 312 opts.onSelect(new SelectFeature.SelectFeatureListener() { |
313 public void onFeatureSelected(VectorFeature feature) { | 313 public void onFeatureSelected(VectorFeature feature) { |
314 Attributes attr = feature.getAttributes(); | 314 floodMap.selectFeature(feature); |
315 attr.setAttribute(FloodMap.MARK_SELECTED, 1); | |
316 } | 315 } |
317 }); | 316 }); |
318 | 317 |
319 opts.onUnSelect(new SelectFeature.UnselectFeatureListener() { | 318 opts.onUnSelect(new SelectFeature.UnselectFeatureListener() { |
320 public void onFeatureUnselected(VectorFeature feature) { | 319 public void onFeatureUnselected(VectorFeature feature) { |
321 Attributes attr = feature.getAttributes(); | 320 floodMap.disableFeature(feature); |
322 attr.setAttribute(FloodMap.MARK_SELECTED, 0); | |
323 } | 321 } |
324 }); | 322 }); |
325 | 323 |
326 selectFeature = new SelectFeature(floodMap.getBarrierLayer(), opts); | 324 selectFeature = new SelectFeature(floodMap.getBarrierLayer(), opts); |
327 getMap().addControl(selectFeature); | 325 getMap().addControl(selectFeature); |
335 activateMeasureControl(false); | 333 activateMeasureControl(false); |
336 } | 334 } |
337 | 335 |
338 public void disable() { | 336 public void disable() { |
339 activateSelectFeature(false); | 337 activateSelectFeature(false); |
338 floodMap.disableFeatures(); | |
340 } | 339 } |
341 }; | 340 }; |
342 | 341 |
343 ImgButton button = createToggleButton(MSG.selectFeature(), cmd); | 342 ImgButton button = createToggleButton(MSG.selectFeature(), cmd); |
344 button.setTooltip(MSG.selectObject()); | 343 button.setTooltip(MSG.selectObject()); |
384 VectorFeature[] features = barriers.getFeatures(); | 383 VectorFeature[] features = barriers.getFeatures(); |
385 | 384 |
386 VectorFeature feature = null; | 385 VectorFeature feature = null; |
387 | 386 |
388 if (features == null || features.length == 0) { | 387 if (features == null || features.length == 0) { |
389 SC.warn("No Feature selected!"); | 388 SC.warn(MSG.error_no_feature_selected()); |
390 return; | 389 return; |
391 } | 390 } |
391 | |
392 boolean multipleFeatures = false; | |
392 | 393 |
393 for (VectorFeature f: features) { | 394 for (VectorFeature f: features) { |
394 Attributes attr = f.getAttributes(); | 395 Attributes attr = f.getAttributes(); |
395 if (attr.getAttributeAsInt(FloodMap.MARK_SELECTED) == 1) { | 396 if (attr.getAttributeAsInt(FloodMap.MARK_SELECTED) == 1) { |
396 if (feature == null) { | 397 if (feature == null) { |
397 feature = f; | 398 feature = f; |
398 } | 399 } |
399 else { | 400 else { |
400 SC.warn("More than 1 Feature selected!"); | 401 multipleFeatures = true; |
401 } | 402 } |
402 } | 403 } |
403 } | 404 } |
404 | 405 |
406 if (feature == null) { | |
407 SC.warn(MSG.error_no_feature_selected()); | |
408 return; | |
409 } | |
410 | |
405 new ElevationWindow(floodMap, feature).show(); | 411 new ElevationWindow(floodMap, feature).show(); |
412 | |
413 if (multipleFeatures) { | |
414 SC.warn(MSG.warning_use_first_feature()); | |
415 } | |
406 } | 416 } |
407 }); | 417 }); |
408 | 418 |
409 btn.setTooltip(MSG.adjustElevationTooltip()); | 419 btn.setTooltip(MSG.adjustElevationTooltip()); |
410 | 420 |