summaryrefslogtreecommitdiff
path: root/tikzit/src/common/Graph.m
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2012-05-22 20:57:23 +0100
committerAleks Kissinger <aleks0@gmail.com>2012-05-22 20:57:23 +0100
commit84c819cffec08ba13f788a1dc12c239ac857246e (patch)
treead9dbf0f788b8700ee64315b0a91226b9cbf953e /tikzit/src/common/Graph.m
parent0973261fd48dc4b85387120fbef6fa9aac756a77 (diff)
parent37e7f18392109225ca5c257d14eda2f89a938370 (diff)
Merge branch 'master' into resize_preview
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;