From 815535a6159b8832dcc26554e5543cba1a020cbd Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Fri, 7 Dec 2012 15:12:52 +0000 Subject: Improve config panels for create node/edge tools --- tikzit/src/gtk/CreateEdgeTool.h | 1 + tikzit/src/gtk/CreateEdgeTool.m | 30 ++++++++++++++++++++++++++---- tikzit/src/gtk/CreateNodeTool.h | 2 ++ tikzit/src/gtk/CreateNodeTool.m | 30 ++++++++++++++++++++++++++---- 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/tikzit/src/gtk/CreateEdgeTool.h b/tikzit/src/gtk/CreateEdgeTool.h index cd5787b..cb6c73d 100644 --- a/tikzit/src/gtk/CreateEdgeTool.h +++ b/tikzit/src/gtk/CreateEdgeTool.h @@ -27,6 +27,7 @@ GraphRenderer *renderer; StyleManager *styleManager; EdgeStyleSelector *stylePicker; + GtkWidget *configWidget; Node *sourceNode; NSPoint sourceNodeScreenPoint; NSPoint halfEdgeEnd; diff --git a/tikzit/src/gtk/CreateEdgeTool.m b/tikzit/src/gtk/CreateEdgeTool.m index 7120d5b..5748494 100644 --- a/tikzit/src/gtk/CreateEdgeTool.m +++ b/tikzit/src/gtk/CreateEdgeTool.m @@ -30,6 +30,7 @@ - (NSString*) shortcut { return @"e"; } @synthesize activeRenderer=renderer; @synthesize styleManager; +@synthesize configurationWidget=configWidget; + (id) tool { return [[[self alloc] init] autorelease]; @@ -49,6 +50,29 @@ if (self) { styleManager = [sm retain]; stylePicker = [[EdgeStyleSelector alloc] initWithStyleManager:sm]; + + configWidget = gtk_vbox_new (FALSE, 0); + g_object_ref_sink (configWidget); + + GtkWidget *label = gtk_label_new ("Edge style:"); + gtk_widget_show (label); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_box_pack_start (GTK_BOX (configWidget), + label, + FALSE, + FALSE, + 0); + + GtkWidget *selectorFrame = gtk_frame_new (NULL); + gtk_widget_show (selectorFrame); + gtk_box_pack_start (GTK_BOX (configWidget), + selectorFrame, + TRUE, + TRUE, + 0); + gtk_container_add (GTK_CONTAINER (selectorFrame), + [stylePicker widget]); + gtk_widget_show ([stylePicker widget]); } return self; @@ -62,11 +86,9 @@ [stylePicker release]; [sourceNode release]; - [super dealloc]; -} + g_object_unref (G_OBJECT (configWidget)); -- (GtkWidget*) configurationWidget { - return [stylePicker widget]; + [super dealloc]; } - (EdgeStyle*) activeStyle { diff --git a/tikzit/src/gtk/CreateNodeTool.h b/tikzit/src/gtk/CreateNodeTool.h index b2205e3..b340a70 100644 --- a/tikzit/src/gtk/CreateNodeTool.h +++ b/tikzit/src/gtk/CreateNodeTool.h @@ -16,6 +16,7 @@ */ #import "TZFoundation.h" +#import #import "Tool.h" @class NodeStyle; @@ -26,6 +27,7 @@ GraphRenderer *renderer; StyleManager *styleManager; NodeStyleSelector *stylePicker; + GtkWidget *configWidget; } @property (retain) StyleManager *styleManager; diff --git a/tikzit/src/gtk/CreateNodeTool.m b/tikzit/src/gtk/CreateNodeTool.m index e6603b7..a78776a 100644 --- a/tikzit/src/gtk/CreateNodeTool.m +++ b/tikzit/src/gtk/CreateNodeTool.m @@ -30,6 +30,7 @@ - (NSString*) shortcut { return @"n"; } @synthesize activeRenderer=renderer; @synthesize styleManager; +@synthesize configurationWidget=configWidget; + (id) tool { return [[[self alloc] init] autorelease]; @@ -49,6 +50,29 @@ if (self) { styleManager = [sm retain]; stylePicker = [[NodeStyleSelector alloc] initWithStyleManager:sm]; + + configWidget = gtk_vbox_new (FALSE, 0); + g_object_ref_sink (configWidget); + + GtkWidget *label = gtk_label_new ("Node style:"); + gtk_widget_show (label); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_box_pack_start (GTK_BOX (configWidget), + label, + FALSE, + FALSE, + 0); + + GtkWidget *selectorFrame = gtk_frame_new (NULL); + gtk_widget_show (selectorFrame); + gtk_box_pack_start (GTK_BOX (configWidget), + selectorFrame, + TRUE, + TRUE, + 0); + gtk_container_add (GTK_CONTAINER (selectorFrame), + [stylePicker widget]); + gtk_widget_show ([stylePicker widget]); } return self; @@ -61,11 +85,9 @@ [styleManager release]; [stylePicker release]; - [super dealloc]; -} + g_object_unref (G_OBJECT (configWidget)); -- (GtkWidget*) configurationWidget { - return [stylePicker widget]; + [super dealloc]; } - (NodeStyle*) activeStyle { -- cgit v1.2.3