summaryrefslogtreecommitdiff
path: root/tikzit/src/gtk/CreateNodeTool.m
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/gtk/CreateNodeTool.m')
-rw-r--r--tikzit/src/gtk/CreateNodeTool.m20
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 {