diff options
Diffstat (limited to 'tikzit/src/gtk/CreateNodeTool.m')
-rw-r--r-- | tikzit/src/gtk/CreateNodeTool.m | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/tikzit/src/gtk/CreateNodeTool.m b/tikzit/src/gtk/CreateNodeTool.m index a8402f0..b6b8d1b 100644 --- a/tikzit/src/gtk/CreateNodeTool.m +++ b/tikzit/src/gtk/CreateNodeTool.m @@ -20,6 +20,7 @@ #import "Configuration.h" #import "GraphRenderer.h" #import "NodeStyleSelector.h" +#import "NodeStylesModel.h" #import "TikzDocument.h" #import "tzstockitems.h" @@ -29,24 +30,30 @@ - (NSString*) helpText { return @"Create new nodes"; } - (NSString*) shortcut { return @"n"; } @synthesize activeRenderer=renderer; -@synthesize styleManager; @synthesize configurationWidget=configWidget; + (id) toolWithStyleManager:(StyleManager*)sm { return [[[self alloc] initWithStyleManager:sm] autorelease]; } ++ (id) toolWithNodeStylesModel:(NodeStylesModel*)nsm { + return [[[self alloc] initWithNodeStylesModel:nsm] autorelease]; +} + - (id) init { [self release]; return nil; } - (id) initWithStyleManager:(StyleManager*)sm { + return [self initWithNodeStylesModel:[NodeStylesModel modelWithStyleManager:sm]]; +} + +- (id) initWithNodeStylesModel:(NodeStylesModel*)nsm { self = [super init]; if (self) { - styleManager = [sm retain]; - stylePicker = [[NodeStyleSelector alloc] initWithStyleManager:sm]; + stylePicker = [[NodeStyleSelector alloc] initWithModel:nsm]; configWidget = gtk_vbox_new (FALSE, 0); g_object_ref_sink (configWidget); @@ -87,7 +94,6 @@ [[NSNotificationCenter defaultCenter] removeObserver:self]; [renderer release]; - [styleManager release]; [stylePicker release]; g_object_unref (G_OBJECT (configWidget)); @@ -119,11 +125,15 @@ - (void) renderWithContext:(id<RenderContext>)context onSurface:(id<Surface>)surface {} +- (StyleManager*) styleManager { + return [[stylePicker model] styleManager]; +} + - (void) loadConfiguration:(Configuration*)config { NSString *styleName = [config stringEntry:@"ActiveStyle" inGroup:@"CreateNodeTool" withDefault:nil]; - [self setActiveStyle:[styleManager nodeStyleForName:styleName]]; + [self setActiveStyle:[[self styleManager] nodeStyleForName:styleName]]; } - (void) saveConfiguration:(Configuration*)config { |