Changeset 11235 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java
- Timestamp:
- 2016-11-11T15:22:10+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java
r11132 r11235 30 30 import org.openstreetmap.josm.data.osm.DataSet; 31 31 import org.openstreetmap.josm.data.osm.OsmPrimitive; 32 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent; 33 import org.openstreetmap.josm.data.osm.event.DataChangedEvent; 34 import org.openstreetmap.josm.data.osm.event.DataSetListener; 35 import org.openstreetmap.josm.data.osm.event.NodeMovedEvent; 36 import org.openstreetmap.josm.data.osm.event.PrimitivesAddedEvent; 37 import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent; 38 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent; 39 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent; 40 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent; 32 41 import org.openstreetmap.josm.data.validation.Severity; 33 42 import org.openstreetmap.josm.data.validation.TestError; … … 46 55 * @author frsantos 47 56 */ 48 public class ValidatorTreePanel extends JTree implements Destroyable {57 public class ValidatorTreePanel extends JTree implements Destroyable, DataSetListener { 49 58 50 59 private static final class GroupTreeNode extends DefaultMutableTreeNode { … … 95 104 removeKeyListener(keyListener); 96 105 } 106 } 107 DataSet ds = Main.getLayerManager().getEditDataSet(); 108 if (ds != null) { 109 ds.addDataSetListener(this); 97 110 } 98 111 } … … 303 316 return; 304 317 clearErrors(); 305 DataSet ds = Main.getLayerManager().getEditDataSet();306 318 for (TestError error : newerrors) { 307 319 if (!error.isIgnored()) { 308 320 errors.add(error); 309 if (ds != null) {310 ds.addDataSetListener(error);311 }312 321 } 313 322 } … … 414 423 private void clearErrors() { 415 424 if (errors != null) { 416 DataSet ds = Main.getLayerManager().getEditDataSet();417 if (ds != null) {418 for (TestError e : errors) {419 ds.removeDataSetListener(e);420 }421 }422 425 errors.clear(); 423 426 } … … 426 429 @Override 427 430 public void destroy() { 431 DataSet ds = Main.getLayerManager().getEditDataSet(); 432 if (ds != null) { 433 ds.removeDataSetListener(this); 434 } 428 435 clearErrors(); 429 436 } 437 438 @Override public void primitivesRemoved(PrimitivesRemovedEvent event) { 439 // Remove purged primitives (fix #8639) 440 for (TestError err : errors) { 441 try { 442 err.getPrimitives().removeAll(event.getPrimitives()); 443 } catch (UnsupportedOperationException e) { 444 if (event.getPrimitives().containsAll(err.getPrimitives())) { 445 err.getPrimitives().clear(); 446 } else { 447 Main.warn(e, "Unable to remove primitives from "+err+'.'); 448 } 449 } 450 } 451 } 452 453 @Override public void primitivesAdded(PrimitivesAddedEvent event) { 454 // Do nothing 455 } 456 457 @Override public void tagsChanged(TagsChangedEvent event) { 458 // Do nothing 459 } 460 461 @Override public void nodeMoved(NodeMovedEvent event) { 462 // Do nothing 463 } 464 465 @Override public void wayNodesChanged(WayNodesChangedEvent event) { 466 // Do nothing 467 } 468 469 @Override public void relationMembersChanged(RelationMembersChangedEvent event) { 470 // Do nothing 471 } 472 473 @Override public void otherDatasetChange(AbstractDatasetChangedEvent event) { 474 // Do nothing 475 } 476 477 @Override public void dataChanged(DataChangedEvent event) { 478 // Do nothing 479 } 430 480 }
Note:
See TracChangeset
for help on using the changeset viewer.