Changeset 1772 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java
- Timestamp:
- 2009-07-12T13:11:06+02:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java
r1762 r1772 10 10 11 11 import org.openstreetmap.josm.Main; 12 import org.openstreetmap.josm.data.osm.OsmPrimitive; 13 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 12 14 import org.openstreetmap.josm.data.osm.Relation; 13 15 import org.openstreetmap.josm.data.osm.RelationMember; 14 16 import org.openstreetmap.josm.gui.ExtendedDialog; 17 import org.openstreetmap.josm.gui.layer.Layer; 18 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 15 19 16 20 public abstract class RelationEditor extends ExtendedDialog { … … 27 31 if (relationDialogManager == null) { 28 32 relationDialogManager = new RelationDialogManager(); 33 Layer.listeners.add(relationDialogManager); 29 34 } 30 35 return relationDialogManager; … … 39 44 private Relation relation; 40 45 private Relation clone; 46 47 /** the data layer the relation belongs to */ 48 private OsmDataLayer layer; 41 49 42 50 /** … … 58 66 * @return an instance of RelationEditor suitable for editing that kind of relation 59 67 */ 60 public static RelationEditor getEditor(Relation r, Collection<RelationMember> selectedMembers) { 68 public static RelationEditor getEditor(OsmDataLayer layer, Relation r, Collection<RelationMember> selectedMembers) { 61 69 for (Class<RelationEditor> e : editors) { 62 70 try { … … 65 73 if (canEdit) { 66 74 Constructor<RelationEditor> con = e.getConstructor(Relation.class, Collection.class); 67 RelationEditor editor = con.newInstance(r, selectedMembers); 75 RelationEditor editor = con.newInstance(layer, r, selectedMembers); 68 76 return editor; 69 77 } … … 72 80 } 73 81 } 74 if (getRelationDialogManager().isOpenInEditor(r)) 75 return getRelationDialogManager().getEditorForRelation(r); 82 if (getRelationDialogManager().isOpenInEditor(layer, r)) 83 return getRelationDialogManager().getEditorForRelation(layer, r); 76 84 else { 77 RelationEditor editor = new GenericRelationEditor(r, selectedMembers); 78 getRelationDialogManager().register(r, editor); 85 RelationEditor editor = new GenericRelationEditor(layer, r, selectedMembers); 86 getRelationDialogManager().register(layer, r, editor); 79 87 return editor; 80 88 } 81 89 } 82 90 83 protected RelationEditor(Relation relation, Collection<RelationMember> selectedMembers) 91 protected RelationEditor(OsmDataLayer layer, Relation relation, Collection<RelationMember> selectedMembers) 84 92 { 85 93 // Initalizes ExtendedDialog 86 94 super(Main.parent, 87 95 relation == null 88 ? tr("Create new relation ")96 ? tr("Create new relation in layer ''{0}''", layer.getName()) 89 97 : (relation.id == 0 90 ? tr ("Edit new relation ")91 : tr("Edit relation #{0}", relation.id) 98 ? tr ("Edit new relation in layer ''{0}''", layer.getName()) 99 : tr("Edit relation #{0} in layer ''{1}''", relation.id, layer.getName()) 92 100 ), 93 101 new String[] { tr("Apply Changes"), tr("Cancel")}, 94 102 false 95 103 ); 104 System.out.println("-- in super constructor"); 105 for (OsmPrimitive primitive : layer.data.allNonDeletedPrimitives()) { 106 System.out.println(OsmPrimitiveType.from(primitive) + " " + primitive.id + " incomplete=" + primitive.incomplete); 107 } 108 System.out.println("-------------"); 109 96 110 97 111 this.relation = relation; 112 this.layer = layer; 98 113 99 114 if (relation == null) { … … 113 128 return clone; 114 129 } 130 131 protected OsmDataLayer getLayer() { 132 return layer; 133 } 115 134 }
Note:
See TracChangeset
for help on using the changeset viewer.
