diff options
author | Alex Merry <alex.merry@cs.ox.ac.uk> | 2012-12-17 16:15:08 +0000 |
---|---|---|
committer | Alex Merry <alex.merry@cs.ox.ac.uk> | 2012-12-17 16:15:08 +0000 |
commit | f75835e188c1bf8010fb7cc18c7526934ff19eba (patch) | |
tree | 4dd93765b1f2834bc9b5a5257e435281fa490830 /tikzit/src/gtk/CreateEdgeTool.m | |
parent | bde0c0da1c8d11433d37e905dc9bb4b17e7f6523 (diff) |
Use central models for node and edge styles
Diffstat (limited to 'tikzit/src/gtk/CreateEdgeTool.m')
-rw-r--r-- | tikzit/src/gtk/CreateEdgeTool.m | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/tikzit/src/gtk/CreateEdgeTool.m b/tikzit/src/gtk/CreateEdgeTool.m index d8ca4b1..e34e627 100644 --- a/tikzit/src/gtk/CreateEdgeTool.m +++ b/tikzit/src/gtk/CreateEdgeTool.m @@ -19,6 +19,7 @@ #import "Configuration.h" #import "EdgeStyleSelector.h" +#import "EdgeStylesModel.h" #import "GraphRenderer.h" #import "TikzDocument.h" #import "tzstockitems.h" @@ -29,24 +30,30 @@ - (NSString*) helpText { return @"Create new edges"; } - (NSString*) shortcut { return @"e"; } @synthesize activeRenderer=renderer; -@synthesize styleManager; @synthesize configurationWidget=configWidget; + (id) toolWithStyleManager:(StyleManager*)sm { return [[[self alloc] initWithStyleManager:sm] autorelease]; } ++ (id) toolWithEdgeStylesModel:(EdgeStylesModel*)esm { + return [[[self alloc] initWithEdgeStylesModel:esm] autorelease]; +} + - (id) init { [self release]; return nil; } - (id) initWithStyleManager:(StyleManager*)sm { + return [self initWithEdgeStylesModel:[EdgeStylesModel modelWithStyleManager:sm]]; +} + +- (id) initWithEdgeStylesModel:(EdgeStylesModel*)esm { self = [super init]; if (self) { - styleManager = [sm retain]; - stylePicker = [[EdgeStyleSelector alloc] initWithStyleManager:sm]; + stylePicker = [[EdgeStyleSelector alloc] initWithModel:esm]; 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]; [sourceNode release]; @@ -176,11 +182,15 @@ [context restoreState]; } +- (StyleManager*) styleManager { + return [[stylePicker model] styleManager]; +} + - (void) loadConfiguration:(Configuration*)config { NSString *styleName = [config stringEntry:@"ActiveStyle" inGroup:@"CreateEdgeTool" withDefault:nil]; - [self setActiveStyle:[styleManager edgeStyleForName:styleName]]; + [self setActiveStyle:[[self styleManager] edgeStyleForName:styleName]]; } - (void) saveConfiguration:(Configuration*)config { |