From 98f5364d24e332cb8c4b8bdd250a219e433a95e8 Mon Sep 17 00:00:00 2001 From: Evan Battaglia Date: Sun, 7 Oct 2007 23:21:17 +0000 Subject: [PATCH] Experimental "begin track" tool --- ChangeLog | 1 + src/icons/Makefile.am | 2 ++ src/icons/begintr_18.png | Bin 0 -> 345 bytes src/icons/cursor_begintr.png | Bin 0 -> 852 bytes src/viktrwlayer.c | 22 +++++++++++++++++++++- src/vikwindow.c | 1 + 6 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/icons/begintr_18.png create mode 100644 src/icons/cursor_begintr.png diff --git a/ChangeLog b/ChangeLog index 8d8a8cc8..75ea7a8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ Evan Battaglia : * Cursors for tools. * Undo magic scissors by right-clicking. * Extend a track by right-clicking on it. + * Experiment: "Begin track" tool Quy Tonthat : * Correctly calculate position (based on time instead of distance) diff --git a/src/icons/Makefile.am b/src/icons/Makefile.am index d93f409f..c6372e97 100644 --- a/src/icons/Makefile.am +++ b/src/icons/Makefile.am @@ -83,6 +83,7 @@ WAYPOINT_ICONS = \ ICONS = \ viking_icon.png \ addtr_18.png \ + begintr_18.png \ addwp_18.png \ edtr_18.png \ edwp_18.png \ @@ -97,6 +98,7 @@ ICONS = \ CURSORS = \ cursor_addtr.png \ + cursor_begintr.png \ cursor_edtr.png \ cursor_geozoom.png \ cursor_ruler.png \ diff --git a/src/icons/begintr_18.png b/src/icons/begintr_18.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e0987770d9b4262892e1ce80ff9a7213168982 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|wj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwei(Q<{;Ntbue}F==C9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3LzP(3hti10q;{(^MDHXdb&7N`~*55iO_L;##cA4IFoP zpOxFW=73V>3uDH9w&E_Qp2A0$CVjP=#Pg=a=b`m0DL=Q{r%tiN$ej;eF!9L2H7&PK zO{(?%W?Fhtzei){%^>fZ7irgah-~Uvno?(Db-%B>VbAV)@9Z^i-MzJbsjJ$o)=ArP z_WRtp^l$&tpBDrVB(=@)^O1b*d^|J5=cSeagYx7{hbJyEGOy26{$*lvlRHo4R`r{} jH_m#0bKIo=sqbNU=@WRi$ni}#&?5|<>&kwei(Q;YTHA1{6;S9&a8X_A7vS7vT*VzRnIa7k)rUTP5+S4c)?u|j5UVtT4Vd1A3ba#3nxNotBhX>n#= zx`KOVZh;<{Q~;_SP8X^9>QED)Yo zSg0}M;n`3wy-Ck?Slj&`W*$BH@MX-bm!>;X4651N#Z<08Rco1WN4(ba7oUtr(a!IG zp8r2@XOtLy$X{J^(^@5TY;2b>>7Eg0T0%CAw_!@JbV*YlQjx96Ar#(n%|(`5GZlL-bnDK zvF1T}&5M#BqTj`zcy633m{u9vI+J^WmcY)~3F)uD&Z^r#f9rNDHkspsotlzAKN~SU z6I=Ma^33yM2CKPzZ_BJtS$&%9C2`|z*~V*aiAQvJ+MO9?rdQnWICJ!B*3_6krnApZ zGSd0vH+M_P#1c`4_>LNem8_Rd&dy*>Sj?m_$60aCVQxm1$4jyg_=J8pzr8I|Z~BjY z`~{19&Sm#4D-<^k>VA31iv7*OgoIPy7x$dzIO;0e`})qbToH#qPF2hHZsL8q{ra=- z|FaM8dJ}Y6N7r#mrPb>xEGKQF9vd-CVqbo6MalQp2h)~a)psm55p|H+lOZT(7JAUs zJ$R#~Y<8)d4F4RB&$s?>2vy!bMK9px9!pvAuEkRwibW(OBX$>=gljgg2s#(_MxRm5 WPvID|#$#Y&XYh3Ob6Mw<&;$U+pj4m$ literal 0 HcmV?d00001 diff --git a/src/viktrwlayer.c b/src/viktrwlayer.c index da71aefb..8f531341 100644 --- a/src/viktrwlayer.c +++ b/src/viktrwlayer.c @@ -245,6 +245,8 @@ static gpointer tool_edit_waypoint_create ( VikWindow *vw, VikViewport *vvp); static gboolean tool_edit_waypoint_click ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data ); static gboolean tool_edit_waypoint_move ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data ); static gboolean tool_edit_waypoint_release ( VikTrwLayer *vtl, GdkEventButton *event, gpointer data ); +static gpointer tool_begin_track_create ( VikWindow *vw, VikViewport *vvp); +static gboolean tool_begin_track_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp ); static gpointer tool_new_track_create ( VikWindow *vw, VikViewport *vvp); static gboolean tool_new_track_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp ); static gpointer tool_new_waypoint_create ( VikWindow *vw, VikViewport *vvp); @@ -275,6 +277,9 @@ static VikToolInterface trw_layer_tools[] = { { "Create Track", (VikToolConstructorFunc) tool_new_track_create, NULL, NULL, NULL, (VikToolMouseFunc) tool_new_track_click, NULL, NULL, &cursor_addtr }, + { "Begin Track", (VikToolConstructorFunc) tool_begin_track_create, NULL, NULL, NULL, + (VikToolMouseFunc) tool_begin_track_click, NULL, NULL, &cursor_begintr }, + { "Edit Waypoint", (VikToolConstructorFunc) tool_edit_waypoint_create, NULL, NULL, NULL, (VikToolMouseFunc) tool_edit_waypoint_click, (VikToolMouseFunc) tool_edit_waypoint_move, @@ -291,7 +296,7 @@ static VikToolInterface trw_layer_tools[] = { { "Magic Scissors", (VikToolConstructorFunc) tool_magic_scissors_create, NULL, NULL, NULL, (VikToolMouseFunc) tool_magic_scissors_click, NULL, NULL, &cursor_iscissors }, }; -static enum { TOOL_CREATE_WAYPOINT=0, TOOL_CREATE_TRACK, TOOL_EDIT_WAYPOINT, TOOL_EDIT_TRACKPOINT, TOOL_SHOW_PICTURE, NUM_TOOLS }; +static enum { TOOL_CREATE_WAYPOINT=0, TOOL_CREATE_TRACK, TOOL_BEGIN_TRACK, TOOL_EDIT_WAYPOINT, TOOL_EDIT_TRACKPOINT, TOOL_SHOW_PICTURE, NUM_TOOLS }; /****** PARAMETERS ******/ @@ -2995,6 +3000,18 @@ static gboolean tool_edit_waypoint_release ( VikTrwLayer *vtl, GdkEventButton *e return FALSE; } +/**** Begin track ***/ +static gpointer tool_begin_track_create ( VikWindow *vw, VikViewport *vvp) +{ + return vvp; +} + +static gboolean tool_begin_track_click ( VikTrwLayer *vtl, GdkEventButton *event, VikViewport *vvp ) +{ + vtl->current_track = NULL; + return tool_new_track_click ( vtl, event, vvp ); +} + /*** New track ****/ static gpointer tool_new_track_create ( VikWindow *vw, VikViewport *vvp) @@ -3044,6 +3061,9 @@ static gboolean tool_new_track_click ( VikTrwLayer *vtl, GdkEventButton *event, vtl->current_track = vik_track_new(); vtl->current_track->visible = TRUE; vik_trw_layer_add_track ( vtl, name, vtl->current_track ); + + /* incase it was created by begin track */ + vik_window_enable_layer_tool ( VIK_WINDOW(VIK_GTK_WINDOW_FROM_LAYER(vtl)), VIK_LAYER_TRW, TOOL_CREATE_TRACK ); } else return TRUE; diff --git a/src/vikwindow.c b/src/vikwindow.c index bba74263..a247b006 100644 --- a/src/vikwindow.c +++ b/src/vikwindow.c @@ -1917,6 +1917,7 @@ static struct { gchar *stock_id; } stock_icons[] = { { &addtr_18, "Create Track" }, + { &begintr_18, "Begin Track" }, { &edtr_18, "Edit Trackpoint" }, { &addwp_18, "Create Waypoint" }, { &edwp_18, "Edit Waypoint" }, -- 2.39.5