summaryrefslogtreecommitdiff
path: root/tikzit/src/common/Graph.m
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/common/Graph.m')
-rw-r--r--tikzit/src/common/Graph.m20
1 files changed, 19 insertions, 1 deletions
diff --git a/tikzit/src/common/Graph.m b/tikzit/src/common/Graph.m
index d18e4db..2a01bae 100644
--- a/tikzit/src/common/Graph.m
+++ b/tikzit/src/common/Graph.m
@@ -22,10 +22,11 @@
//
#import "Graph.h"
+#import "TikzGraphAssembler.h"
@implementation Graph
-- (Graph*)init {
+- (id)init {
self = [super init];
if (self != nil) {
data = [[GraphElementData alloc] init];
@@ -39,6 +40,15 @@
return self;
}
+- (id)initFromTikz:(NSString*)tikz error:(NSError**)e {
+ [self release];
+ return [[TikzGraphAssembler parseTikz:tikz error:e] retain];
+}
+
+- (id)initFromTikz:(NSString*)tikz {
+ return [self initFromTikz:tikz error:NULL];
+}
+
- (id) copyWithZone:(NSZone*)zone {
Graph *newGraph = [self copyOfSubgraphWithNodes:[NSSet setWithArray:nodes] zone:zone];
[newGraph setData:[self data]];
@@ -765,6 +775,14 @@
return [[[self alloc] init] autorelease];
}
++ (Graph*)graphFromTikz:(NSString*)tikz error:(NSError**)e {
+ return [TikzGraphAssembler parseTikz:tikz error:e];
+}
+
++ (Graph*)graphFromTikz:(NSString*)tikz {
+ return [self graphFromTikz:tikz error:NULL];
+}
+
+ (NSMapTable*)nodeTableForNodes:(NSSet*)nds {
return [self nodeTableForNodes:nds withZone:NSDefaultMallocZone()];
}