diff options
Diffstat (limited to 'tikzit/src/osx')
-rw-r--r-- | tikzit/src/osx/GraphicsView.h | 1 | ||||
-rw-r--r-- | tikzit/src/osx/GraphicsView.m | 40 |
2 files changed, 39 insertions, 2 deletions
diff --git a/tikzit/src/osx/GraphicsView.h b/tikzit/src/osx/GraphicsView.h index ddd005f..e963ac7 100644 --- a/tikzit/src/osx/GraphicsView.h +++ b/tikzit/src/osx/GraphicsView.h @@ -121,6 +121,7 @@ typedef enum { - (void)copy:(id)sender; - (void)paste:(id)sender; - (void)delete:(id)sender; +- (void)bringForward:(id)sender; - (void)flipHorizonal:(id)sender; - (void)flipVertical:(id)sender; - (void)reverseEdgeDirection:(id)sender; diff --git a/tikzit/src/osx/GraphicsView.m b/tikzit/src/osx/GraphicsView.m index 38ed1f0..f03f95c 100644 --- a/tikzit/src/osx/GraphicsView.m +++ b/tikzit/src/osx/GraphicsView.m @@ -999,7 +999,7 @@ static CGColorRef cgGrayColor, cgWhiteColor, cgClearColor = nil; } - (void)selectAll:(id)sender { - [pickSupport selectAllNodes:graph.nodes]; + [pickSupport selectAllNodes:[NSSet setWithArray:[graph nodes]]]; for (Node *n in [graph nodes]) { [[[nodeLayers objectForKey:n] selection] select]; @@ -1031,7 +1031,7 @@ static CGColorRef cgGrayColor, cgWhiteColor, cgClearColor = nil; } - (void)copy:(id)sender { - if ([pickSupport selectedNodes].count != 0) { + if ([[pickSupport selectedNodes] count] != 0) { Graph *clip = [graph copyOfSubgraphWithNodes:[pickSupport selectedNodes]]; NSString *tikz = [clip tikz]; NSData *data = [tikz dataUsingEncoding:NSUTF8StringEncoding]; @@ -1101,6 +1101,42 @@ static CGColorRef cgGrayColor, cgWhiteColor, cgClearColor = nil; } } +- (void)bringForward:(id)sender { + NSString *oldTikz = [graph tikz]; + [graph bringNodesForward:[pickSupport selectedNodes]]; + [graph bringEdgesForward:[pickSupport selectedEdges]]; + [self registerUndo:oldTikz withActionName:@"Bring Forward"]; + [self postGraphChange]; + [self refreshLayers]; +} + +- (void)sendBackward:(id)sender { + NSString *oldTikz = [graph tikz]; + [graph sendNodesBackward:[pickSupport selectedNodes]]; + [graph sendEdgesBackward:[pickSupport selectedEdges]]; + [self registerUndo:oldTikz withActionName:@"Send Backward"]; + [self postGraphChange]; + [self refreshLayers]; +} + +- (void)bringToFront:(id)sender { + NSString *oldTikz = [graph tikz]; + [graph bringNodesToFront:[pickSupport selectedNodes]]; + [graph bringEdgesToFront:[pickSupport selectedEdges]]; + [self registerUndo:oldTikz withActionName:@"Bring to Front"]; + [self postGraphChange]; + [self refreshLayers]; +} + +- (void)sendToBack:(id)sender { + NSString *oldTikz = [graph tikz]; + [graph sendNodesToBack:[pickSupport selectedNodes]]; + [graph sendEdgesToBack:[pickSupport selectedEdges]]; + [self registerUndo:oldTikz withActionName:@"Send to Back"]; + [self postGraphChange]; + [self refreshLayers]; +} + - (void)flipHorizonal:(id)sender { NSString *oldTikz = [graph tikz]; [graph flipHorizontalNodes:[pickSupport selectedNodes]]; |