summaryrefslogtreecommitdiff
path: root/tikzit/src/linux/TikzDocument.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/linux/TikzDocument.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/linux/TikzDocument.m')
-rw-r--r--tikzit/src/linux/TikzDocument.m34
1 files changed, 34 insertions, 0 deletions
diff --git a/tikzit/src/linux/TikzDocument.m b/tikzit/src/linux/TikzDocument.m
index 43001cc..5556654 100644
--- a/tikzit/src/linux/TikzDocument.m
+++ b/tikzit/src/linux/TikzDocument.m
@@ -523,6 +523,40 @@
- (void) endModifyEdge { [self _finishModifyEdgeCancelled:NO]; }
- (void) cancelModifyEdge { [self _finishModifyEdgeCancelled:YES]; }
+- (void) startModifyEdges:(NSSet*)edges {
+ if (edgesetBeingModified != nil) {
+ [NSException raise:@"NSInternalInconsistencyException" format:@"Already modifying an edge set"];
+ }
+
+ edgesetBeingModified = [edges copy];
+ edgesetBeingModifiedOldCopy = [[Graph edgeTableForEdges:edges] retain];
+}
+
+- (void) modifyEdgesCheckPoint {
+ [self regenerateTikz];
+ GraphChange *change = [GraphChange propertyChangeOfEdgesFromOldCopies:edgesetBeingModifiedOldCopy
+ toNewCopies:[Graph edgeTableForEdges:edgesetBeingModified]];
+ [self postIncompleteGraphChange:change];
+}
+
+- (void) _finishModifyEdgesCancelled:(BOOL)cancelled {
+ if (edgesetBeingModified == nil) {
+ [NSException raise:@"NSInternalInconsistencyException" format:@"Not modifying an edge"];
+ }
+
+ GraphChange *change = [GraphChange propertyChangeOfEdgesFromOldCopies:edgesetBeingModifiedOldCopy
+ toNewCopies:[Graph edgeTableForEdges:edgesetBeingModified]];
+ [self _finishModifySequence:change withName:@"Modify edges" cancelled:cancelled];
+
+ [edgesetBeingModified release];
+ edgesetBeingModified = nil;
+ [edgesetBeingModifiedOldCopy release];
+ edgesetBeingModifiedOldCopy = nil;
+}
+
+- (void) endModifyEdges { [self _finishModifyEdgesCancelled:NO]; }
+- (void) cancelModifyEdges { [self _finishModifyEdgesCancelled:YES]; }
+
- (void) startChangeBoundingBox {
oldGraphBounds = [graph boundingBox];
}