]> granicus.if.org Git - graphviz/commitdiff
Mac tweak panel for graph, default node and default edge attributes; objects are...
authorglenlow <devnull@localhost>
Mon, 11 Feb 2008 12:34:07 +0000 (12:34 +0000)
committerglenlow <devnull@localhost>
Mon, 11 Feb 2008 12:34:07 +0000 (12:34 +0000)
macosx/GVGraphArguments.h [new file with mode: 0644]
macosx/GVGraphArguments.m [new file with mode: 0644]

diff --git a/macosx/GVGraphArguments.h b/macosx/GVGraphArguments.h
new file mode 100644 (file)
index 0000000..269c32d
--- /dev/null
@@ -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 <Foundation/Foundation.h>
+
+@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 (file)
index 0000000..68ef4d3
--- /dev/null
@@ -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