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