Changeset 90
- Timestamp:
- 03/08/05 03:14:26 (3 years ago)
- Files:
-
- trunk/Graph.java (modified) (2 diffs)
- trunk/JGraphViewer.java (modified) (1 diff)
- trunk/MapEditor.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Graph.java
r88 r90 11 11 12 12 public class Graph implements Serializable { 13 static final long serialVersionUID = -4885663328284713368L; 14 13 15 public Graph() { 14 16 nodes = new Vector(); … … 337 339 } 338 340 341 public void removeEdge(Edge e) { 342 edges.remove(e); 343 Iterator i = idsToListsOfEdges.values().iterator(); 344 while(i.hasNext()) { 345 Collection edgeList = (Collection)i.next(); 346 if(edgeList != null) edgeList.remove(e); 347 } 348 } 349 350 public void removeNode(Node n) { 351 nodes.remove(n); 352 idsToNodes.remove(n.id); 353 idsToListsOfEdges.remove(n.id); 354 } 355 339 356 public void addBackgroundMap(BackgroundMap m) { backgroundMaps.add(m); } 340 357 public void setBackgroundMaps(Vector v) { backgroundMaps = v; } trunk/JGraphViewer.java
r89 r90 229 229 } 230 230 231 public Object closestMatch(Point2D.Double realPoint, double maxDistance) { 231 232 233 234 public Object closestMatch(Point2D.Double realPoint, double maxDistance) { 232 235 updateRealToScreen(); 233 236 updateObjectsToPainters(); trunk/MapEditor.java
r89 r90 178 178 179 179 public void pointReceived(MouseEvent event, Point2D.Double point) { 180 if(event.getID() == MouseEvent.MOUSE_PRESSED || event.getID() == MouseEvent.MOUSE_DRAGGED) {180 if(event.getID() == MouseEvent.MOUSE_PRESSED) { 181 181 if(addNodesMode.isSelected()) { 182 graphViewer.setSelectedObject(null); 182 183 System.out.println("adding node " + graph.getUnusedNodeID()); 183 184 graph.addNode(new PhysicalNode(graph.getUnusedNodeID(), point.getX(), point.getY())); 184 185 graphViewer.graphChanged(); 186 } else 187 if(addEdgesMode.isSelected()) { 188 Object source = graphViewer.getSelectedObject(); 189 Object destination = graphViewer.closestMatch(point, 0); 190 if(source instanceof PhysicalNode && destination instanceof PhysicalNode) { 191 graph.addEdge(new PhysicalEdge(((PhysicalNode)source).id, ((PhysicalNode)destination).id)); 192 graphViewer.graphChanged(); 193 if(!event.isShiftDown()) 194 graphViewer.setSelectedObject(null); 195 } else 196 if(destination instanceof PhysicalNode) { 197 graphViewer.setSelectedObject(destination); 198 } 199 } else 200 if(deleteMode.isSelected()) { 201 graphViewer.setSelectedObject(null); 202 Object toBeDeleted = graphViewer.closestMatch(point, 0); 203 if(toBeDeleted instanceof PhysicalNode) { 204 Iterator i = ((PhysicalNode)toBeDeleted).edges.iterator(); 205 while(i.hasNext()) 206 graph.removeEdge((PhysicalEdge)i.next()); 207 graph.removeNode((PhysicalNode)toBeDeleted); 208 graphViewer.graphChanged(); 209 } else 210 if(toBeDeleted instanceof PhysicalEdge) { 211 graph.removeEdge((PhysicalEdge)toBeDeleted); 212 graphViewer.graphChanged(); 213 } 185 214 } 186 215 }
