diff options
Diffstat (limited to 'tikzit/src/common/Graph.m')
-rw-r--r-- | tikzit/src/common/Graph.m | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/tikzit/src/common/Graph.m b/tikzit/src/common/Graph.m index d04751a..27c2ebb 100644 --- a/tikzit/src/common/Graph.m +++ b/tikzit/src/common/Graph.m @@ -247,9 +247,7 @@ - (GraphChange*)removeEdges:(NSSet *)es { [graphLock lock]; - NSEnumerator *en = [es objectEnumerator]; - Edge *e; - while ((e = [en nextObject])) { + for (Edge *e in es) { [edges removeObject:e]; } dirty = YES; @@ -272,6 +270,16 @@ return [GraphChange shiftNodes:nodeSet byPoint:p]; } +- (GraphChange*)reverseEdges:(NSSet *)es { + [graphLock lock]; + for (Edge *e in es) { + [e reverse]; + } + dirty = YES; + [graphLock unlock]; + return [GraphChange reverseEdges:es]; +} + - (int)indexOfNode:(Node *)node { return [nodes indexOfObject:node]; } @@ -633,6 +641,11 @@ case NodesFlip: [self flipNodes:[ch affectedNodes] horizontal:[ch horizontal]]; break; + case EdgesReverse: + for (Edge *e in [[ch affectedEdges] objectEnumerator]) { + [e reverse]; + } + break; case BoundingBoxChange: [self setBoundingBox:[ch nwBoundingBox]]; break; |