From 367c329fe009056cb30ef81b06c4e20b886432a4 Mon Sep 17 00:00:00 2001 From: glenlow <devnull@localhost> Date: Mon, 11 Feb 2008 12:34:07 +0000 Subject: [PATCH] Mac tweak panel for graph, default node and default edge attributes; objects are graph-centric instead of context-centric --- macosx/GVGraphArguments.h | 39 +++++++++++++++++++++++ macosx/GVGraphArguments.m | 65 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 macosx/GVGraphArguments.h create mode 100644 macosx/GVGraphArguments.m 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 <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 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 -- 2.40.0