diff options
author | Alex Merry <dev@randomguy3.me.uk> | 2013-03-24 15:52:33 +0000 |
---|---|---|
committer | Alex Merry <dev@randomguy3.me.uk> | 2013-03-24 16:47:10 +0000 |
commit | 1a111979e01a6081cbea69e40accebe16e6155e5 (patch) | |
tree | 41b63d722c48a2ff5f6b8d69135f151c561de5bb /tikzit/src/common/Graph.m | |
parent | 2724cb0739c4b2b2187f31634f5a6c97b6f91c87 (diff) |
Add methods to Graph to create from tikz
These are just convenience wrappers for TikzGraphAssembler. As a
result, non of the GTK code uses TikzGraphAssembler directly.
Diffstat (limited to 'tikzit/src/common/Graph.m')
-rw-r--r-- | tikzit/src/common/Graph.m | 20 |
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()]; } |