Changeset 3262 in josm for trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
- Timestamp:
- 2010-05-18T23:43:52+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
r3152 r3262 148 148 public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted, 149 149 Collection<OsmPrimitive> added) { 150 deleted.addAll(toDelete); 151 } 152 153 @Override 154 public MutableTreeNode description() { 150 } 151 152 @Override public JLabel getDescription() { 155 153 if (toDelete.size() == 1) { 156 154 OsmPrimitive primitive = toDelete.iterator().next(); … … 162 160 } 163 161 164 return new DefaultMutableTreeNode(new JLabel(tr(msg, primitive.getDisplayName(DefaultNameFormatter.getInstance())), 165 ImageProvider.get(OsmPrimitiveType.from(primitive)), JLabel.HORIZONTAL)); 166 } 167 168 Set<OsmPrimitiveType> typesToDelete = new HashSet<OsmPrimitiveType>(); 169 for (OsmPrimitive osm : toDelete) { 170 typesToDelete.add(OsmPrimitiveType.from(osm)); 171 } 172 String msg = ""; 173 String apiname = "object"; 174 if (typesToDelete.size() > 1) { 175 msg = trn("Delete {0} object", "Delete {0} objects", toDelete.size(), toDelete.size()); 162 return new JLabel(tr(msg, primitive.getDisplayName(DefaultNameFormatter.getInstance())), 163 ImageProvider.get(OsmPrimitiveType.from(primitive)), JLabel.HORIZONTAL); 176 164 } else { 177 OsmPrimitiveType t = typesToDelete.iterator().next(); 178 apiname = t.getAPIName(); 179 switch(t) { 180 case NODE: msg = trn("Delete {0} node", "Delete {0} nodes", toDelete.size(), toDelete.size()); break; 181 case WAY: msg = trn("Delete {0} way", "Delete {0} ways", toDelete.size(), toDelete.size()); break; 182 case RELATION: msg = trn("Delete {0} relation", "Delete {0} relations", toDelete.size(), toDelete.size()); break; 183 } 184 } 185 DefaultMutableTreeNode root = new DefaultMutableTreeNode( 186 new JLabel(msg, ImageProvider.get("data", apiname), JLabel.HORIZONTAL) 187 ); 188 for (OsmPrimitive osm : toDelete) { 189 root.add(new DefaultMutableTreeNode(new JLabel( 190 osm.getDisplayName(DefaultNameFormatter.getInstance()), 191 ImageProvider.get(OsmPrimitiveType.from(osm)), JLabel.HORIZONTAL))); 192 } 193 return root; 165 Set<OsmPrimitiveType> typesToDelete = new HashSet<OsmPrimitiveType>(); 166 for (OsmPrimitive osm : toDelete) { 167 typesToDelete.add(OsmPrimitiveType.from(osm)); 168 } 169 String msg = ""; 170 String apiname = "object"; 171 if (typesToDelete.size() > 1) { 172 msg = trn("Delete {0} object", "Delete {0} objects", toDelete.size(), toDelete.size()); 173 } else { 174 OsmPrimitiveType t = typesToDelete.iterator().next(); 175 apiname = t.getAPIName(); 176 switch(t) { 177 case NODE: msg = trn("Delete {0} node", "Delete {0} nodes", toDelete.size(), toDelete.size()); break; 178 case WAY: msg = trn("Delete {0} way", "Delete {0} ways", toDelete.size(), toDelete.size()); break; 179 case RELATION: msg = trn("Delete {0} relation", "Delete {0} relations", toDelete.size(), toDelete.size()); break; 180 } 181 } 182 return new JLabel(msg, ImageProvider.get("data", apiname), JLabel.HORIZONTAL); 183 } 184 } 185 186 @Override public Collection<PseudoCommand> getChildren() { 187 if (toDelete.size() == 1) { 188 return null; 189 } else { 190 List<PseudoCommand> children = new ArrayList<PseudoCommand>(); 191 for (final OsmPrimitive osm : toDelete) { 192 children.add(new PseudoCommand() { 193 @Override public JLabel getDescription() { 194 return new JLabel( 195 tr("Deleted ''{0}''", 196 osm.getDisplayName(DefaultNameFormatter.getInstance())), 197 ImageProvider.get(OsmPrimitiveType.from(osm)), JLabel.HORIZONTAL); 198 } 199 @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() { 200 return Collections.singleton(osm); 201 } 202 203 }); 204 } 205 return children; 206 207 } 208 } 209 210 @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() { 211 return toDelete; 194 212 } 195 213
Note:
See TracChangeset
for help on using the changeset viewer.