summaryrefslogtreecommitdiff
path: root/tikzit/src/common/GraphChange.m
diff options
context:
space:
mode:
authorrandomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64>2012-01-10 15:40:11 +0000
committerrandomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64>2012-01-10 15:40:11 +0000
commit87294b7ebc03156f223052ca2a6c70463df568f0 (patch)
tree7200a2cb348b18c8d255931058ffab260f4225c3 /tikzit/src/common/GraphChange.m
parentc372b719b84a320f6fb7cab6dc0d1ab94beacd78 (diff)
GTK: Edge style support
git-svn-id: https://tikzit.svn.sourceforge.net/svnroot/tikzit/trunk@375 7c02a99a-9b00-45e3-bf44-6f3dd7fddb64
Diffstat (limited to 'tikzit/src/common/GraphChange.m')
-rw-r--r--tikzit/src/common/GraphChange.m34
1 files changed, 34 insertions, 0 deletions
diff --git a/tikzit/src/common/GraphChange.m b/tikzit/src/common/GraphChange.m
index d09e732..3635383 100644
--- a/tikzit/src/common/GraphChange.m
+++ b/tikzit/src/common/GraphChange.m
@@ -142,6 +142,24 @@
}
}
+- (BasicMapTable*)oldEdgeTable { return oldEdgeTable; }
+
+- (void)setOldEdgeTable:(BasicMapTable*)tab {
+ if (oldEdgeTable != tab) {
+ [oldEdgeTable release];
+ oldEdgeTable = [tab retain];
+ }
+}
+
+- (BasicMapTable*)nwEdgeTable { return nwEdgeTable; }
+
+- (void)setNwEdgeTable:(BasicMapTable*)tab {
+ if (nwEdgeTable != tab) {
+ [nwEdgeTable release];
+ nwEdgeTable = [tab retain];
+ }
+}
+
- (NSRect)oldBoundingBox { return oldBoundingBox; }
- (void)setOldBoundingBox:(NSRect)bbox {
@@ -204,6 +222,11 @@
[inverse setOldEdge:[self nwEdge]];
[inverse setNwEdge:[self oldEdge]];
break;
+ case EdgesPropertyChange:
+ [inverse setChangeType:EdgesPropertyChange];
+ [inverse setOldEdgeTable:[self nwEdgeTable]];
+ [inverse setNwEdgeTable:[self oldEdgeTable]];
+ break;
case NodesShift:
[inverse setChangeType:NodesShift];
[inverse setAffectedNodes:[self affectedNodes]];
@@ -240,6 +263,8 @@
[oldEdge release];
[oldNodeTable release];
[nwNodeTable release];
+ [oldEdgeTable release];
+ [nwEdgeTable release];
[super dealloc];
}
@@ -287,6 +312,15 @@
return [gc autorelease];
}
++ (GraphChange*)propertyChangeOfEdgesFromOldCopies:(BasicMapTable*)oldC
+ toNewCopies:(BasicMapTable*)newC {
+ GraphChange *gc = [[GraphChange alloc] init];
+ [gc setChangeType:EdgesPropertyChange];
+ [gc setOldEdgeTable:oldC];
+ [gc setNwEdgeTable:newC];
+ return [gc autorelease];
+}
+
+ (GraphChange*)shiftNodes:(NSSet*)ns byPoint:(NSPoint)p {
GraphChange *gc = [[GraphChange alloc] init];
[gc setChangeType:NodesShift];