From: glenlow Date: Mon, 11 Feb 2008 12:34:07 +0000 (+0000) Subject: Mac tweak panel for graph, default node and default edge attributes; objects are... X-Git-Tag: LAST_LIBGRAPH~32^2~4739 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=367c329fe009056cb30ef81b06c4e20b886432a4;p=graphviz Mac tweak panel for graph, default node and default edge attributes; objects are graph-centric instead of context-centric --- diff --git a/macosx/GVGraphArguments.h b/macosx/GVGraphArguments.h new file mode 100644 index 000000000..269c32dc2 --- /dev/null +++ b/macosx/GVGraphArguments.h @@ -0,0 +1,39 @@ +/* $Id$ $Revision$ */ +/* vim:set shiftwidth=4 ts=8: */ + +/********************************************************** +* This software is part of the graphviz package * +* http://www.graphviz.org/ * +* * +* Copyright (c) 1994-2008 AT&T Corp. * +* and is licensed under the * +* Common Public License, Version 1.0 * +* by AT&T Corp. * +* * +* Information and Software Systems Research * +* AT&T Research, Florham Park NJ * +**********************************************************/ + +#import + +@class GVGraph; + +@interface GVGraphArguments : NSMutableDictionary { + GVGraph *_graph; + NSMutableDictionary *_arguments; +} + +- (id)initWithGraph:(GVGraph *)graph; + +/* dictionary primitive methods */ +- (NSUInteger)count; +- (NSEnumerator *)keyEnumerator; +- (id)objectForKey:(id)aKey; + +/* mutable dictionary primitive methods */ +- (void)setObject:(id)anObject forKey:(id)aKey; +- (void)removeObjectForKey:(id)aKey; + +- (void)dealloc; + +@end diff --git a/macosx/GVGraphArguments.m b/macosx/GVGraphArguments.m new file mode 100644 index 000000000..68ef4d3f1 --- /dev/null +++ b/macosx/GVGraphArguments.m @@ -0,0 +1,65 @@ +/* $Id$ $Revision$ */ +/* vim:set shiftwidth=4 ts=8: */ + +/********************************************************** +* This software is part of the graphviz package * +* http://www.graphviz.org/ * +* * +* Copyright (c) 1994-2008 AT&T Corp. * +* and is licensed under the * +* Common Public License, Version 1.0 * +* by AT&T Corp. * +* * +* Information and Software Systems Research * +* AT&T Research, Florham Park NJ * +**********************************************************/ + +#import "GVGraphArguments.h" +#import "GVGraph.h" + +@implementation GVGraphArguments + +- (id)initWithGraph:(GVGraph *)graph +{ + if (self = [super init]) { + _graph = graph; /* no retain to avoid a retain cycle */ + _arguments = [[NSMutableDictionary alloc] init]; + } + return self; +} + +- (NSUInteger)count +{ + return [_arguments count]; +} + +- (NSEnumerator *)keyEnumerator +{ + return [_arguments keyEnumerator]; +} + +- (id)objectForKey:(id)aKey +{ + return [_arguments objectForKey:aKey]; +} + +/* mutable dictionary primitive methods */ +- (void)setObject:(id)anObject forKey:(id)aKey +{ + [_arguments setObject:anObject forKey:aKey]; + [_graph noteChanged:YES]; +} + +- (void)removeObjectForKey:(id)aKey +{ + [_arguments removeObjectForKey:aKey]; + [_graph noteChanged:YES]; +} + +- (void)dealloc +{ + [_arguments release]; + [super dealloc]; +} + +@end