diff options
author | Alex Merry <dev@randomguy3.me.uk> | 2012-04-19 13:22:42 +0100 |
---|---|---|
committer | Alex Merry <dev@randomguy3.me.uk> | 2012-05-04 10:14:38 +0100 |
commit | f819c5ba44023769d5c8512cdf489d001c1da09d (patch) | |
tree | 7fc1d801672e04b40ee6f82f2409adea4c2a780f /tikzit/src/common/Graph.m | |
parent | ec48fc2bcce2483d89eb51a185c5826a8fcc7c6c (diff) |
Edges can now be reversed easily
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; |