From c27208f7a1051dcd5fa9c042d3eb87ae9a42f28f Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Fri, 22 Mar 2013 12:22:52 +0000 Subject: Select the name field of newly created styles Generally, the first thing you want to do after creating a node or edge style is to change its name from "newstyle". --- tikzit/src/gtk/EdgeStyleEditor.h | 2 ++ tikzit/src/gtk/EdgeStyleEditor.m | 5 +++++ tikzit/src/gtk/EdgeStylesPalette.m | 13 +++++++++---- tikzit/src/gtk/NodeStyleEditor.h | 2 ++ tikzit/src/gtk/NodeStyleEditor.m | 5 +++++ tikzit/src/gtk/NodeStylesPalette.m | 13 +++++++++---- 6 files changed, 32 insertions(+), 8 deletions(-) diff --git a/tikzit/src/gtk/EdgeStyleEditor.h b/tikzit/src/gtk/EdgeStyleEditor.h index 3d7d839..2224bbb 100644 --- a/tikzit/src/gtk/EdgeStyleEditor.h +++ b/tikzit/src/gtk/EdgeStyleEditor.h @@ -38,6 +38,8 @@ - (id) init; +- (void) selectNameField; + @end // vim:ft=objc:ts=4:et:sts=4:sw=4:foldmethod=marker diff --git a/tikzit/src/gtk/EdgeStyleEditor.m b/tikzit/src/gtk/EdgeStyleEditor.m index 32fa51e..c7ca8bd 100644 --- a/tikzit/src/gtk/EdgeStyleEditor.m +++ b/tikzit/src/gtk/EdgeStyleEditor.m @@ -318,6 +318,11 @@ static void make_color_safe_button_clicked_cb (GtkButton *widget, EdgeStyleEdito return GTK_WIDGET (table); } +- (void) selectNameField { + gtk_widget_grab_focus (GTK_WIDGET (nameEdit)); + gtk_editable_select_region (GTK_EDITABLE (nameEdit), 0, -1); +} + @end // }}} diff --git a/tikzit/src/gtk/EdgeStylesPalette.m b/tikzit/src/gtk/EdgeStylesPalette.m index 1867f6e..066b38c 100644 --- a/tikzit/src/gtk/EdgeStylesPalette.m +++ b/tikzit/src/gtk/EdgeStylesPalette.m @@ -39,6 +39,7 @@ static void remove_style_button_cb (GtkButton *widget, EdgeStylesPalette *palett @interface EdgeStylesPalette (Private) - (void) updateButtonState; - (void) removeSelectedStyle; +- (void) addStyle; @end // }}} @@ -169,6 +170,13 @@ static void remove_style_button_cb (GtkButton *widget, EdgeStylesPalette *palett [[[selector model] styleManager] removeEdgeStyle:style]; } +- (void) addStyle { + EdgeStyle *newStyle = [EdgeStyle defaultEdgeStyleWithName:@"newstyle"]; + [[self styleManager] addEdgeStyle:newStyle]; + [selector setSelectedStyle:newStyle]; + [editor selectNameField]; +} + @end // }}} @@ -176,10 +184,7 @@ static void remove_style_button_cb (GtkButton *widget, EdgeStylesPalette *palett static void add_style_button_cb (GtkButton *widget, EdgeStylesPalette *palette) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - - EdgeStyle *newStyle = [EdgeStyle defaultEdgeStyleWithName:@"newstyle"]; - [[palette styleManager] addEdgeStyle:newStyle]; - + [palette addStyle]; [pool drain]; } diff --git a/tikzit/src/gtk/NodeStyleEditor.h b/tikzit/src/gtk/NodeStyleEditor.h index 9bde203..b45c992 100644 --- a/tikzit/src/gtk/NodeStyleEditor.h +++ b/tikzit/src/gtk/NodeStyleEditor.h @@ -38,6 +38,8 @@ - (id) init; +- (void) selectNameField; + @end // vim:ft=objc:ts=4:et:sts=4:sw=4:foldmethod=marker diff --git a/tikzit/src/gtk/NodeStyleEditor.m b/tikzit/src/gtk/NodeStyleEditor.m index febbf3c..fcf4147 100644 --- a/tikzit/src/gtk/NodeStyleEditor.m +++ b/tikzit/src/gtk/NodeStyleEditor.m @@ -279,6 +279,11 @@ static void scale_adjustment_changed_cb (GtkAdjustment *widget, NodeStyleEditor return GTK_WIDGET (table); } +- (void) selectNameField { + gtk_widget_grab_focus (GTK_WIDGET (nameEdit)); + gtk_editable_select_region (GTK_EDITABLE (nameEdit), 0, -1); +} + @end // }}} diff --git a/tikzit/src/gtk/NodeStylesPalette.m b/tikzit/src/gtk/NodeStylesPalette.m index cfdd93b..a3c69f7 100644 --- a/tikzit/src/gtk/NodeStylesPalette.m +++ b/tikzit/src/gtk/NodeStylesPalette.m @@ -39,6 +39,7 @@ static void remove_style_button_cb (GtkButton *widget, NodeStylesPalette *palett @interface NodeStylesPalette (Private) - (void) updateButtonState; - (void) removeSelectedStyle; +- (void) addStyle; @end // }}} @@ -168,6 +169,13 @@ static void remove_style_button_cb (GtkButton *widget, NodeStylesPalette *palett [[[selector model] styleManager] removeNodeStyle:style]; } +- (void) addStyle { + NodeStyle *newStyle = [NodeStyle defaultNodeStyleWithName:@"newstyle"]; + [[self styleManager] addNodeStyle:newStyle]; + [selector setSelectedStyle:newStyle]; + [editor selectNameField]; +} + @end // }}} @@ -175,10 +183,7 @@ static void remove_style_button_cb (GtkButton *widget, NodeStylesPalette *palett static void add_style_button_cb (GtkButton *widget, NodeStylesPalette *palette) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - - NodeStyle *newStyle = [NodeStyle defaultNodeStyleWithName:@"newstyle"]; - [[palette styleManager] addNodeStyle:newStyle]; - + [palette addStyle]; [pool drain]; } -- cgit v1.2.3