summaryrefslogtreecommitdiff
path: root/tikzit/src/common/Graph.m
diff options
context:
space:
mode:
authorAlex Merry <dev@randomguy3.me.uk>2012-04-19 13:22:42 +0100
committerAlex Merry <dev@randomguy3.me.uk>2012-05-04 10:14:38 +0100
commitf819c5ba44023769d5c8512cdf489d001c1da09d (patch)
tree7fc1d801672e04b40ee6f82f2409adea4c2a780f /tikzit/src/common/Graph.m
parentec48fc2bcce2483d89eb51a185c5826a8fcc7c6c (diff)
Edges can now be reversed easily
Diffstat (limited to 'tikzit/src/common/Graph.m')
-rw-r--r--tikzit/src/common/Graph.m19
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;