You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(59) |
Sep
(43) |
Oct
(95) |
Nov
(135) |
Dec
(108) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(229) |
Feb
(141) |
Mar
(59) |
Apr
(70) |
May
(64) |
Jun
(87) |
Jul
(57) |
Aug
(108) |
Sep
(74) |
Oct
(203) |
Nov
(141) |
Dec
(108) |
2009 |
Jan
(114) |
Feb
(91) |
Mar
(101) |
Apr
(69) |
May
(54) |
Jun
(82) |
Jul
(49) |
Aug
(109) |
Sep
(81) |
Oct
(93) |
Nov
(100) |
Dec
(79) |
2010 |
Jan
(46) |
Feb
(36) |
Mar
(135) |
Apr
(103) |
May
(116) |
Jun
(130) |
Jul
(52) |
Aug
(31) |
Sep
(46) |
Oct
(48) |
Nov
(98) |
Dec
(110) |
2011 |
Jan
(234) |
Feb
(184) |
Mar
(150) |
Apr
(43) |
May
(53) |
Jun
(52) |
Jul
(112) |
Aug
(72) |
Sep
(79) |
Oct
(23) |
Nov
(6) |
Dec
(30) |
2012 |
Jan
(39) |
Feb
(37) |
Mar
(49) |
Apr
(60) |
May
(63) |
Jun
(38) |
Jul
(33) |
Aug
(24) |
Sep
(20) |
Oct
(14) |
Nov
(23) |
Dec
(50) |
2013 |
Jan
(30) |
Feb
(32) |
Mar
(27) |
Apr
(41) |
May
(59) |
Jun
(21) |
Jul
(10) |
Aug
(73) |
Sep
(23) |
Oct
(60) |
Nov
(14) |
Dec
(15) |
2014 |
Jan
(4) |
Feb
(8) |
Mar
(11) |
Apr
(6) |
May
(27) |
Jun
(4) |
Jul
(29) |
Aug
(62) |
Sep
(11) |
Oct
(17) |
Nov
(58) |
Dec
(9) |
2015 |
Jan
(23) |
Feb
(3) |
Mar
(26) |
Apr
(47) |
May
(8) |
Jun
(28) |
Jul
(10) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <mar...@us...> - 2013-04-28 15:18:24
|
Revision: 5455 http://navit.svn.sourceforge.net/navit/?rev=5455&view=rev Author: martin-s Date: 2013-04-28 15:18:17 +0000 (Sun, 28 Apr 2013) Log Message: ----------- Add:Core:Improved osd interface Modified Paths: -------------- trunk/navit/navit/osd/core/osd_core.c trunk/navit/navit/osd.c trunk/navit/navit/osd.h Modified: trunk/navit/navit/osd/core/osd_core.c =================================================================== --- trunk/navit/navit/osd/core/osd_core.c 2013-04-28 15:17:17 UTC (rev 5454) +++ trunk/navit/navit/osd/core/osd_core.c 2013-04-28 15:18:17 UTC (rev 5455) @@ -81,7 +81,7 @@ struct odometer; -int set_std_osd_attr(struct osd_priv_common*opc, struct attr*the_attr); +int set_std_osd_attr(struct osd_priv *priv, struct attr*the_attr); static void osd_odometer_reset(struct osd_priv_common *opc, int flags); static void osd_cmd_odometer_reset(struct navit *this, char *function, struct attr **in, struct attr ***out, int *valid); static void osd_odometer_draw(struct osd_priv_common *opc, struct navit *nav, struct vehicle *v); @@ -219,8 +219,9 @@ return g_strdup_printf("%.0f", num); } -int set_std_osd_attr(struct osd_priv_common*opc, struct attr*the_attr) +int set_std_osd_attr(struct osd_priv *priv, struct attr*the_attr) { + struct osd_priv_common *opc=(struct osd_priv_common *)priv; if(opc && the_attr && ATTR_IS_INT(the_attr->type)) { if(attr_w == the_attr->type) { opc->osd_item.w = the_attr->u.num; @@ -443,7 +444,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_route_guard_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr)) set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 2); attr = attr_search(attrs, NULL, attr_min_dist); @@ -920,7 +921,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_odometer_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; this->bActive = 0; //do not count on init this->sum_dist = 0; @@ -1141,7 +1142,7 @@ opc->osd_item.meth.draw = osd_draw_cast(osd_cmd_interface_draw); opc->spec_set_attr_func = osd_cmd_interface_set_attr; - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 2); @@ -1300,7 +1301,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_stopwatch_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; this->bActive = 0; //do not count on init this->current_base_time = 0; @@ -1414,7 +1415,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_compass_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 2); attr = attr_search(attrs, NULL, attr_width); this->width=attr ? attr->u.num : 2; @@ -1543,7 +1544,7 @@ opc->osd_item.navit = nav; opc->osd_item.meth.draw = osd_draw_cast(osd_button_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; opc->spec_set_attr_func = osd_button_set_attr; attr=attr_search(attrs, NULL, attr_use_overlay); @@ -1624,7 +1625,7 @@ opc->data = (void*)this; opc->osd_item.navit = nav; opc->osd_item.meth.draw = osd_draw_cast(osd_button_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; opc->spec_set_attr_func = osd_button_set_attr; osd_set_std_attr(attrs, &opc->osd_item, 1); @@ -1767,7 +1768,7 @@ opc->osd_item.h = 70; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_nav_next_turn_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 0); this->icon_w = -1; @@ -1899,7 +1900,7 @@ opc->osd_item.navit = nav; opc->osd_item.p.y = 76; opc->osd_item.meth.draw = osd_draw_cast(osd_nav_toggle_announcer_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 0); @@ -2192,7 +2193,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_speed_cam_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 2); attr = attr_search(attrs, NULL, attr_width); @@ -2427,7 +2428,7 @@ opc->osd_item.h=60; this->active=-1; opc->osd_item.meth.draw = osd_draw_cast(osd_speed_warner_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; attr = attr_search(attrs, NULL, attr_speed_exceed_limit_offset); if (attr) { @@ -3092,7 +3093,7 @@ opc->osd_item.navit = nav; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_text_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; opc->spec_set_attr_func = osd_text_set_attr; osd_set_std_attr(attrs, &opc->osd_item, 2); @@ -3203,7 +3204,7 @@ opc->osd_item.h = 40; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_gps_status_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 0); this->icon_w = -1; @@ -3314,7 +3315,7 @@ opc->osd_item.h = 40; opc->osd_item.font_size = 200; opc->osd_item.meth.draw = osd_draw_cast(osd_volume_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 0); this->icon_w = -1; @@ -3480,7 +3481,7 @@ opc->osd_item.navit = nav; opc->osd_item.meth.draw = osd_draw_cast(osd_scale_draw); - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 3); @@ -3584,7 +3585,7 @@ opc->osd_item.w = 60; opc->osd_item.h = 40; opc->osd_item.font_size = 200; - meth->set_attr = (void (*)(struct osd_priv *osd, struct attr* attr))set_std_osd_attr; + meth->set_attr = set_std_osd_attr; osd_set_std_attr(attrs, &opc->osd_item, 0); navit_add_callback(nav, callback_new_attr_1(callback_cast(osd_auxmap_init), attr_navit, opc)); Modified: trunk/navit/navit/osd.c =================================================================== --- trunk/navit/navit/osd.c 2013-04-28 15:17:17 UTC (rev 5454) +++ trunk/navit/navit/osd.c 2013-04-28 15:18:17 UTC (rev 5455) @@ -37,12 +37,18 @@ struct osd_priv *priv; }; +int +osd_set_methods(struct osd_methods *in, int in_size, struct osd_methods *out) +{ + return navit_object_set_methods(in, in_size, out, sizeof(struct osd_methods)); +} + struct osd * osd_new(struct attr *parent, struct attr **attrs) { struct osd *o; struct osd_priv *(*new)(struct navit *nav, struct osd_methods *meth, struct attr **attrs); - struct attr *type=attr_search(attrs, NULL, attr_type); + struct attr *type=attr_search(attrs, NULL, attr_type),cbl; if (! type) return NULL; @@ -50,27 +56,50 @@ if (! new) return NULL; o=g_new0(struct osd, 1); - o->priv=new(parent->u.navit, &o->meth, attrs); + o->attrs=attr_list_dup(attrs); + cbl.type=attr_callback_list; + cbl.u.callback_list=callback_list_new(); + o->attrs=attr_generic_prepend_attr(o->attrs, &cbl); + + o->priv=new(parent->u.navit, &o->meth, o->attrs); if (o->priv) { o->func=&osd_func; navit_object_ref((struct navit_object *)o); - o->attrs=attr_list_dup(attrs); } else { + attr_list_free(o->attrs); g_free(o); o=NULL; } + dbg(0,"new osd %p\n",o); return o; } int +osd_get_attr(struct osd *osd, enum attr_type type, struct attr *attr, struct attr_iter *iter) +{ + int ret=0; + if(osd && osd->meth.get_attr) + /* values for ret: -1: Not possible, 0: Ignored by driver, 1 valid */ + ret=osd->meth.get_attr(osd->priv, type, attr); + if (ret == -1) + return 0; + if (ret > 0) + return 1; + return navit_object_get_attr((struct navit_object *)osd, type, attr, iter); +} + +int osd_set_attr(struct osd *osd, struct attr* attr) { - if(osd && osd->meth.set_attr) { - navit_object_set_attr((struct navit_object *)osd, attr); - osd->meth.set_attr(osd->priv, attr); + int ret=0; + if(osd && osd->meth.set_attr) + /* values for ret: -1: Not possible, 0: Ignored by driver, 1 set and store, 2 set, don't store */ + ret=osd->meth.set_attr(osd->priv, attr); + if (ret == -1) + return 0; + if (ret == 2) return 1; - } - return 0; + return navit_object_set_attr((struct navit_object *)osd, attr); } void @@ -79,6 +108,7 @@ if (osd && osd->meth.destroy) { osd->meth.destroy(osd->priv); } + attr_list_free(osd->attrs); g_free(osd); } @@ -387,12 +417,12 @@ struct object_func osd_func = { attr_osd, (object_func_new)osd_new, - (object_func_get_attr)navit_object_get_attr, + (object_func_get_attr)osd_get_attr, (object_func_iter_new)navit_object_attr_iter_new, (object_func_iter_destroy)navit_object_attr_iter_destroy, (object_func_set_attr)osd_set_attr, - (object_func_add_attr)NULL, - (object_func_remove_attr)NULL, + (object_func_add_attr)navit_object_add_attr, + (object_func_remove_attr)navit_object_remove_attr, (object_func_init)NULL, (object_func_destroy)osd_destroy, (object_func_dup)NULL, Modified: trunk/navit/navit/osd.h =================================================================== --- trunk/navit/navit/osd.h 2013-04-28 15:17:17 UTC (rev 5454) +++ trunk/navit/navit/osd.h 2013-04-28 15:18:17 UTC (rev 5455) @@ -25,8 +25,9 @@ struct osd_methods { void (*osd_destroy)(struct osd_priv *osd); - void (*set_attr)(struct osd_priv *osd, struct attr* attr); + int (*set_attr)(struct osd_priv *osd, struct attr* attr); void (*destroy)(struct osd_priv *osd); + int (*get_attr)(struct osd_priv *osd, enum attr_type type, struct attr* attr); }; #define osd_draw_cast(x) (void (*)(struct osd_priv *osd, struct navit *navit, struct vehicle *v))(x) @@ -61,6 +62,7 @@ struct navit; struct osd; struct osd *osd_new(struct attr *parent, struct attr **attrs); +int osd_set_methods(struct osd_methods *in, int in_size, struct osd_methods *out); void osd_wrap_point(struct point *p, struct navit *nav); void osd_std_click(struct osd_item *this, struct navit *nav, int pressed, int button, struct point *p); void osd_set_std_attr(struct attr **attrs, struct osd_item *item, int flags); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-28 15:17:23
|
Revision: 5454 http://navit.svn.sourceforge.net/navit/?rev=5454&view=rev Author: martin-s Date: 2013-04-28 15:17:17 +0000 (Sun, 28 Apr 2013) Log Message: ----------- Add:gui_internal:Better diagnostics in case of failed refresh_cond Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal_html.c Modified: trunk/navit/navit/gui/internal/gui_internal_html.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_html.c 2013-04-28 15:14:25 UTC (rev 5453) +++ trunk/navit/navit/gui/internal/gui_internal_html.c 2013-04-28 15:17:17 UTC (rev 5454) @@ -382,9 +382,15 @@ struct menu_data *menu_data=gui_internal_menu_data(this); dbg(2,"navit=%p\n",this->nav); type=command_evaluate_to_attr(&this->self, cond, NULL, &menu_data->refresh_callback_obj); - if (type == attr_none) + if (type == attr_none) { + dbg(0,"can't get type of '%s'\n",cond); return; + } func=object_func_lookup(menu_data->refresh_callback_obj.type); + if (!func) + dbg(0,"'%s' has no functions\n",cond); + if (func && !func->add_attr) + dbg(0,"'%s' has no add_attr function\n",cond); if (!func || !func->add_attr) return; menu_data->refresh_callback.type=attr_callback; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-28 15:14:36
|
Revision: 5453 http://navit.svn.sourceforge.net/navit/?rev=5453&view=rev Author: martin-s Date: 2013-04-28 15:14:25 +0000 (Sun, 28 Apr 2013) Log Message: ----------- Add:Core:New function to set driver methods forwards- and backwardscompatible Modified Paths: -------------- trunk/navit/navit/xmlconfig.c trunk/navit/navit/xmlconfig.h Modified: trunk/navit/navit/xmlconfig.c =================================================================== --- trunk/navit/navit/xmlconfig.c 2013-04-27 18:33:15 UTC (rev 5452) +++ trunk/navit/navit/xmlconfig.c 2013-04-28 15:14:25 UTC (rev 5453) @@ -1242,6 +1242,22 @@ return result; } +int +navit_object_set_methods(void *in, int in_size, void *out, int out_size) +{ + int ret,size=out_size; + if (out_size > in_size) { + ret=-1; + size=in_size; + memset((char *)out+in_size, 0, out_size-in_size); + } else if (in_size == out_size) + ret=0; + else + ret=1; + memcpy(out, in, size); + return ret; +} + struct navit_object * navit_object_ref(struct navit_object *obj) { Modified: trunk/navit/navit/xmlconfig.h =================================================================== --- trunk/navit/navit/xmlconfig.h 2013-04-27 18:33:15 UTC (rev 5452) +++ trunk/navit/navit/xmlconfig.h 2013-04-28 15:14:25 UTC (rev 5453) @@ -63,6 +63,7 @@ NAVIT_OBJECT }; +int navit_object_set_methods(void *in, int in_size, void *out, int out_size); struct navit_object *navit_object_ref(struct navit_object *obj); void navit_object_unref(struct navit_object *obj); struct attr_iter * navit_object_attr_iter_new(void); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-27 18:33:22
|
Revision: 5452 http://navit.svn.sourceforge.net/navit/?rev=5452&view=rev Author: martin-s Date: 2013-04-27 18:33:15 +0000 (Sat, 27 Apr 2013) Log Message: ----------- Fix:maptool:Made map input work again Modified Paths: -------------- trunk/navit/navit/maptool/maptool.c Modified: trunk/navit/navit/maptool/maptool.c =================================================================== --- trunk/navit/navit/maptool/maptool.c 2013-04-26 23:04:16 UTC (rev 5451) +++ trunk/navit/navit/maptool/maptool.c 2013-04-27 18:33:15 UTC (rev 5452) @@ -465,7 +465,7 @@ map_collect_data_osm_o5m(p->input_file,&p->osm); else map_collect_data_osm(p->input_file,&p->osm); - if (node_buffer.size==0){ + if (node_buffer.size==0 && !p->map_handles){ fprintf(stderr,"No nodes found - looks like an invalid input file.\n"); exit(1); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-26 23:04:22
|
Revision: 5451 http://navit.svn.sourceforge.net/navit/?rev=5451&view=rev Author: martin-s Date: 2013-04-26 23:04:16 +0000 (Fri, 26 Apr 2013) Log Message: ----------- Add:gui_internal:Allow set to work also as unset Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c trunk/navit/navit/gui/internal/gui_internal_command.c Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-04-26 22:56:54 UTC (rev 5450) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-04-26 23:04:16 UTC (rev 5451) @@ -1724,7 +1724,8 @@ free(line); fclose(fi); } - fprintf(fo,"%s;\n",add); + if (add) + fprintf(fo,"%s;\n",add); fclose(fo); ret=(rename(gui_file_new, gui_file)==0); g_free(gui_file_new); Modified: trunk/navit/navit/gui/internal/gui_internal_command.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_command.c 2013-04-26 22:56:54 UTC (rev 5450) +++ trunk/navit/navit/gui/internal/gui_internal_command.c 2013-04-26 23:04:16 UTC (rev 5451) @@ -906,6 +906,8 @@ gui_internal_set(pattern, command); command_evaluate(&this->self, command); g_free(command); + } else { + gui_internal_set(pattern, NULL); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-26 22:57:00
|
Revision: 5450 http://navit.svn.sourceforge.net/navit/?rev=5450&view=rev Author: martin-s Date: 2013-04-26 22:56:54 +0000 (Fri, 26 Apr 2013) Log Message: ----------- Fix:Core:Remove osd reference on remove attr Modified Paths: -------------- trunk/navit/navit/navit.c Modified: trunk/navit/navit/navit.c =================================================================== --- trunk/navit/navit/navit.c 2013-04-26 22:56:24 UTC (rev 5449) +++ trunk/navit/navit/navit.c 2013-04-26 22:56:54 UTC (rev 5450) @@ -2902,6 +2902,7 @@ navit_remove_callback(this_, attr->u.callback); break; case attr_vehicle: + case attr_osd: this_->attrs=attr_generic_remove_attr(this_->attrs, attr); return 1; default: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-26 22:56:30
|
Revision: 5449 http://navit.svn.sourceforge.net/navit/?rev=5449&view=rev Author: martin-s Date: 2013-04-26 22:56:24 +0000 (Fri, 26 Apr 2013) Log Message: ----------- Fix:Core:Remove result_free with wrong parameter Modified Paths: -------------- trunk/navit/navit/command.c Modified: trunk/navit/navit/command.c =================================================================== --- trunk/navit/navit/command.c 2013-04-26 22:26:56 UTC (rev 5448) +++ trunk/navit/navit/command.c 2013-04-26 22:56:24 UTC (rev 5449) @@ -679,7 +679,6 @@ } } else if (!strcmp(function,"add_attr")) { command_object_add_attr(ctx, &res->attr, list[0]); - result_free(list[0]); } else if (!strcmp(function,"remove_attr")) { command_object_remove_attr(ctx, &res->attr, list[0]); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-26 22:27:03
|
Revision: 5448 http://navit.svn.sourceforge.net/navit/?rev=5448&view=rev Author: martin-s Date: 2013-04-26 22:26:56 +0000 (Fri, 26 Apr 2013) Log Message: ----------- Add:Core:Allow new on primitive types in command interpreter Modified Paths: -------------- trunk/navit/navit/command.c Modified: trunk/navit/navit/command.c =================================================================== --- trunk/navit/navit/command.c 2013-04-24 21:06:17 UTC (rev 5447) +++ trunk/navit/navit/command.c 2013-04-26 22:26:56 UTC (rev 5448) @@ -649,7 +649,23 @@ } else if (!strncmp(function,"new ",4)) { enum attr_type attr_type=attr_from_name(function+4); result_free(res); - if (attr_type != attr_none) { + if (ATTR_IS_INT(attr_type)) { + if (list && list[0] && ATTR_IS_INT(list[0]->type)) { + res->attr.type=attr_type; + res->attr.u.num=list[0]->u.num; + res->allocated=0; + } else { + dbg(0,"don't know how to create int of args\n"); + } + } else if (ATTR_IS_STRING(attr_type)) { + if (list && list[0] && ATTR_IS_STRING(list[0]->type)) { + res->attr.type=attr_type; + res->attr.u.str=g_strdup(list[0]->u.str); + res->allocated=1; + } else { + dbg(0,"don't know how to create string of args\n"); + } + } else if (ATTR_IS_OBJECT(attr_type)) { struct object_func *func=object_func_lookup(attr_type); if (func && func->create) { res->attr.type=attr_type; @@ -658,6 +674,8 @@ So created persistent objects should be stored with set_attr_var command. */ res->allocated=1; } + } else { + dbg(0,"don't know how to create %s (%s)\n",attr_to_name(attr_type),function+4); } } else if (!strcmp(function,"add_attr")) { command_object_add_attr(ctx, &res->attr, list[0]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-24 21:06:24
|
Revision: 5447 http://navit.svn.sourceforge.net/navit/?rev=5447&view=rev Author: mdankov Date: 2013-04-24 21:06:17 +0000 (Wed, 24 Apr 2013) Log Message: ----------- Add:map_binfile:Improve street search speed by analysing only one selected point of each street segment found. Modified Paths: -------------- trunk/navit/navit/map/binfile/binfile.c Modified: trunk/navit/navit/map/binfile/binfile.c =================================================================== --- trunk/navit/navit/map/binfile/binfile.c 2013-04-23 06:34:14 UTC (rev 5446) +++ trunk/navit/navit/map/binfile/binfile.c 2013-04-24 21:06:17 UTC (rev 5447) @@ -2226,15 +2226,32 @@ static int item_inside_poly_list(struct item *it, GList *l) { + while(l) { struct geom_poly_segment *p=l->data; int count=p->last-p->first+1; struct coord c; + int ccount; item_coord_rewind(it); - while(item_coord_get(it,&c,1)>0) { - if(geom_poly_point_inside(p->first,count,&c)) + ccount=binfile_coord_left(it->priv_data); + if(ccount==1) + item_coord_get(it,&c,1); + else if(ccount==2) { + struct coord c2; + item_coord_get(it,&c,1); + item_coord_get(it,&c2,1); + c.x=(c.x+c2.x)/2; + c.y=(c.y+c2.y)/2; + } else { + if(ccount>3) + ccount/=2; + else + ccount=2; + while(--ccount>0) + item_coord_get(it,&c,1); + } + if(geom_poly_point_inside(p->first,count,&c)) return 1; - } l=g_list_next(l); } return 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-04-23 06:34:21
|
Revision: 5446 http://navit.svn.sourceforge.net/navit/?rev=5446&view=rev Author: sleske Date: 2013-04-23 06:34:14 +0000 (Tue, 23 Apr 2013) Log Message: ----------- Fix:core:Capitalize "Map Point". Modified Paths: -------------- trunk/navit/navit/bookmarks.c Modified: trunk/navit/navit/bookmarks.c =================================================================== --- trunk/navit/navit/bookmarks.c 2013-04-23 06:33:44 UTC (rev 5445) +++ trunk/navit/navit/bookmarks.c 2013-04-23 06:34:14 UTC (rev 5446) @@ -803,7 +803,7 @@ older=find_destination_in_list(new_dest, former_destinations,0); if(!description && older) description=((struct former_destination *)older->data)->description; - new_dest->description = g_strdup(description?description:_("Map point")); + new_dest->description = g_strdup(description?description:_("Map Point")); former_destinations = find_destination_in_list(new_dest, former_destinations, 1); former_destinations = g_list_append(former_destinations, new_dest); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-04-23 06:34:05
|
Revision: 5445 http://navit.svn.sourceforge.net/navit/?rev=5445&view=rev Author: sleske Date: 2013-04-23 06:33:44 +0000 (Tue, 23 Apr 2013) Log Message: ----------- Refactor:gui/gtk:Do not reuse variable. Modified Paths: -------------- trunk/navit/navit/popup.c Modified: trunk/navit/navit/popup.c =================================================================== --- trunk/navit/navit/popup.c 2013-04-23 06:31:31 UTC (rev 5444) +++ trunk/navit/navit/popup.c 2013-04-23 06:33:44 UTC (rev 5445) @@ -140,17 +140,17 @@ { struct pcoord *dst; char buffer[1024]; - int i, dstcount; + int i, dstcount_new; sprintf(buffer, _("Waypoint %d"), visitbefore+1); - dstcount=navit_get_destination_count(nav)+1; - dst=g_alloca(dstcount*sizeof(struct pcoord)); - dstcount=navit_get_destinations(nav,dst,dstcount); - for (i=dstcount;i>visitbefore;i--){ + dstcount_new=navit_get_destination_count(nav)+1; + dst=g_alloca(dstcount_new*sizeof(struct pcoord)); + navit_get_destinations(nav,dst,dstcount_new); + for (i=dstcount_new-1;i>visitbefore;i--){ dst[i]=dst[i-1]; } dst[visitbefore]=*pc; navit_add_destination_description(nav,pc,buffer); - navit_set_destinations(nav, dst, dstcount+1, buffer, 1); + navit_set_destinations(nav, dst, dstcount_new, buffer, 1); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-04-23 06:31:49
|
Revision: 5444 http://navit.svn.sourceforge.net/navit/?rev=5444&view=rev Author: sleske Date: 2013-04-23 06:31:31 +0000 (Tue, 23 Apr 2013) Log Message: ----------- Add:gui/gtk:Add context menu item "Visit before a destination".|Fixes #1100. Thanks, me.yahoo.com/a/_ij44v97roulszbeztrzcqzaaiyvlg--#9d14a ! Modified Paths: -------------- trunk/navit/navit/popup.c Modified: trunk/navit/navit/popup.c =================================================================== --- trunk/navit/navit/popup.c 2013-04-21 19:57:23 UTC (rev 5443) +++ trunk/navit/navit/popup.c 2013-04-23 06:31:31 UTC (rev 5444) @@ -134,7 +134,28 @@ navit_set_destination(nav, pc, buffer, 1); } + static void +popup_set_visitbefore(struct navit *nav, struct pcoord *pc,int visitbefore) +{ + struct pcoord *dst; + char buffer[1024]; + int i, dstcount; + sprintf(buffer, _("Waypoint %d"), visitbefore+1); + dstcount=navit_get_destination_count(nav)+1; + dst=g_alloca(dstcount*sizeof(struct pcoord)); + dstcount=navit_get_destinations(nav,dst,dstcount); + for (i=dstcount;i>visitbefore;i--){ + dst[i]=dst[i-1]; + } + dst[visitbefore]=*pc; + navit_add_destination_description(nav,pc,buffer); + navit_set_destinations(nav, dst, dstcount+1, buffer, 1); +} + + + +static void popup_set_bookmark(struct navit *nav, struct pcoord *pc) { struct attr attr; @@ -219,7 +240,25 @@ return ret; } + + static void +popup_show_visitbefore(struct navit *nav,struct pcoord *pc, void *menu) +{ + void *menuvisitbefore; + char buffer[100]; + int i, dstcount; + dstcount=navit_get_destination_count(nav); + if (dstcount>=1){ + menuvisitbefore=popup_printf(menu, menu_type_submenu, _("Visit before...")); + for (i=0;i<dstcount;i++){ + sprintf(buffer,_("Waypoint %d"),i+1); + popup_printf_cb(menuvisitbefore, menu_type_menu, callback_new_3(callback_cast(popup_set_visitbefore), nav, pc,i), buffer); + } + } +} + +static void popup_show_attr_val(struct map *map, void *menu, struct attr *attr) { char *attr_name=attr_to_name(attr->type); @@ -393,6 +432,7 @@ c.y = co.y; popup_printf_cb(men, menu_type_menu, callback_new_2(callback_cast(popup_set_position), nav, &c), _("Set as position")); popup_printf_cb(men, menu_type_menu, callback_new_2(callback_cast(popup_set_destination), nav, &c), _("Set as destination")); + popup_show_visitbefore(nav,&c,men); popup_printf_cb(men, menu_type_menu, callback_new_2(callback_cast(popup_set_bookmark), nav, &c), _("Add as bookmark")); popup_display(nav, popup, p); menu_popup(popup); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-21 19:57:30
|
Revision: 5443 http://navit.svn.sourceforge.net/navit/?rev=5443&view=rev Author: mdankov Date: 2013-04-21 19:57:23 +0000 (Sun, 21 Apr 2013) Log Message: ----------- Fix:map_binfile:Do not include street in duplicate hash if this segment didn't fit town boundary. Improve street search perfomance by storing non-matching street names in duplicate hash. Related to #1106. Modified Paths: -------------- trunk/navit/navit/map/binfile/binfile.c Modified: trunk/navit/navit/map/binfile/binfile.c =================================================================== --- trunk/navit/navit/map/binfile/binfile.c 2013-04-21 16:05:14 UTC (rev 5442) +++ trunk/navit/navit/map/binfile/binfile.c 2013-04-21 19:57:23 UTC (rev 5443) @@ -2156,41 +2156,73 @@ } /** - * @brief + * @brief Test an item if it's duplicate. If it's not a duplicate, return new struct duplicate to be duplicate_insert()'ed. * @param msp pointer to private map search data * @param item item to check * @param attr_type + * returns - pointer to new struct duplicate, if this item is not already exist in hash + * - NULL if this item already exists in duplicate hash or doesnt have an attr_type attr; */ -static int -duplicate(struct map_search_priv *msp, struct item *item, enum attr_type attr_type) +static struct duplicate* +duplicate_test(struct map_search_priv *msp, struct item *item, enum attr_type attr_type) { struct attr attr; + int len; + char *buffer; + struct duplicate *d; + if (!msp->search_results) msp->search_results = g_hash_table_new_full(duplicate_hash, duplicate_equal, g_free, NULL); binfile_attr_rewind(item->priv_data); if (!item_attr_get(item, attr_type, &attr)) - return 1; - { - int len=sizeof(struct coord)+strlen(attr.u.str)+1; - char *buffer=g_alloca(sizeof(char)*len); - struct duplicate *d=(struct duplicate *)buffer; - if (!item_coord_get(item, &d->c, 1)) { - d->c.x=0; - d->c.y=0; - } - binfile_coord_rewind(item->priv_data); - strcpy(d->str, attr.u.str); - if (!g_hash_table_lookup(msp->search_results, d)) { - struct duplicate *dc=g_malloc(len); - memcpy(dc, d, len); - g_hash_table_insert(msp->search_results, dc, GINT_TO_POINTER(1)); - binfile_attr_rewind(item->priv_data); - return 0; - } + return NULL; + len=sizeof(struct coord)+strlen(attr.u.str)+1; + buffer=g_alloca(sizeof(char)*len); + d=(struct duplicate *)buffer; + if (!item_coord_get(item, &d->c, 1)) { + d->c.x=0; + d->c.y=0; } - return 2; + strcpy(d->str, attr.u.str); + binfile_coord_rewind(item->priv_data); + binfile_attr_rewind(item->priv_data); + if (!g_hash_table_lookup(msp->search_results, d)) { + struct duplicate *dr=g_malloc(len); + memcpy(dr, d, len); + return dr; + } + return NULL; } +/** + * @brief Insert struct duplicate item into the duplicate hash. + * @param msp pointer to private map search data + * @param duplicate Duplicate info to insert + */ +static void +duplicate_insert(struct map_search_priv *msp, struct duplicate *d) +{ + g_hash_table_insert(msp->search_results, d, GINT_TO_POINTER(1)); +} + +/** + * @brief Check if item is dupicate and update duplicate hash if needed. + * @param msp pointer to private map search data + * @param item item to check + * @param attr_type + * @returns 0 if item is not a duplicate + * 1 if item is duplicate or doesn't have required attr_type attribute + */ +static int +duplicate(struct map_search_priv *msp, struct item *item, enum attr_type attr_type) +{ + struct duplicate *d=duplicate_test(msp, item, attr_type); + if(!d) + return 1; + duplicate_insert(msp,d); + return 0; +} + static int item_inside_poly_list(struct item *it, GList *l) { @@ -2253,7 +2285,15 @@ char *str; char *word; struct coord c[128]; + struct duplicate *d; + /* Extracting all coords here makes duplicate_new() not consider them (we don't want all + * street segments to be reported as separate streets). */ + while(item_coord_get(it,c,128)>0); + d=duplicate_test(map_search, it, attr_label); + if(!d) + break; + str=g_strdup(at.u.str); word=str; do { @@ -2271,14 +2311,22 @@ } while (word); g_free(str); - /* Extracting all coords here makes duplicate() not consider them. */ - while(item_coord_get(it,c,128)>0); - if (match && !duplicate(map_search, it, attr_label)) { - if(map_search->boundaries && !item_inside_poly_list(it,map_search->boundaries)) - break; - item_coord_rewind(it); - return it; + if(!match) { + /* Remember this non-matching street name in duplicate hash to skip name + * comparison for its following segments */ + duplicate_insert(map_search, d); + break; } + + if(map_search->boundaries && !item_inside_poly_list(it,map_search->boundaries)) { + /* Other segments may fit the town poly. Do not update hash for now. */ + g_free(d); + break; + } + + duplicate_insert(map_search, d); + item_coord_rewind(it); + return it; } } break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-04-21 16:05:38
|
Revision: 5442 http://navit.svn.sourceforge.net/navit/?rev=5442&view=rev Author: sleske Date: 2013-04-21 16:05:14 +0000 (Sun, 21 Apr 2013) Log Message: ----------- Fix:i18n:Update Spanish translations.|Fixes #1110. Thanks, Mariano! Modified Paths: -------------- trunk/navit/po/es.po.in Modified: trunk/navit/po/es.po.in =================================================================== --- trunk/navit/po/es.po.in 2013-04-20 21:56:57 UTC (rev 5441) +++ trunk/navit/po/es.po.in 2013-04-21 16:05:14 UTC (rev 5442) @@ -8,8 +8,8 @@ "Project-Id-Version: navit 0.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-05-23 20:16+0200\n" -"PO-Revision-Date: 2012-02-09 00:00+0000\n" -"Last-Translator: Ricardo Jurado <Unknown>\n" +"PO-Revision-Date: 2013-04-20 00:00+0000\n" +"Last-Translator: Mariano Muñoz <tur...@ya...>\n" "Language-Team: Chris Eubank <cte...@gm...>\n" "Language: \n" "MIME-Version: 1.0\n" @@ -1290,27 +1290,33 @@ "\t-h: print this usage info and exit.\n" "\t-v: Print the version and exit.\n" msgstr "" +"navit uso:\n" +"navit [opciones] [configfile]\n" +"\t-c <fichero>: usar <fichero> como fichero de configuración.\n" +"\t-d <n>: Establecer nivel de depurado a <n> (0-3).\n" +"\t-h: Muestra esta ayuda y sale.\n" +"\t-v: Muestra la versión y sale.\n" #. We have not found an existing config file from all possibilities msgid "No config file navit.xml, navit.xml.local found\n" -msgstr "" +msgstr "No hay fichero de configuración navit.xml, encontrado navit.xml.local\n" #, c-format msgid "Error parsing config file '%s': %s\n" -msgstr "" +msgstr "Error cargando el fichero de configuración '%s': %s\n" #, c-format msgid "Using config file '%s'\n" -msgstr "" +msgstr "Usando el fichero de configuración '%s'\n" msgid "Internal initialization failed, exiting\n" -msgstr "" +msgstr "Falló el arranque interno, saliendo\n" msgid "unknown street" -msgstr "" +msgstr "calle desconocida" msgid "Failed to write bookmarks file" -msgstr "" +msgstr "Error al escribir el fichero de marcadores" #. Strings from navit_shipped.xml msgid "Map Point" @@ -1548,10 +1554,10 @@ msgstr "Ver en el mapa" msgid "Remove search results from the map" -msgstr "" +msgstr "Quitar los resultados de búsqueda del mapa" msgid "Show results on the map" -msgstr "" +msgstr "Mostrar los resultados en el mapa" msgid "Cut Bookmark" msgstr "Cortar marcador" @@ -1572,16 +1578,16 @@ msgstr "Favoritos" msgid "Bookmarks as waypoints" -msgstr "" +msgstr "Marcadores como puntos de ruta" msgid "Save waypoints" -msgstr "" +msgstr "Guardar puntos de ruta" msgid "Replace Waypoints" -msgstr "" +msgstr "Sustituir puntos de ruta" msgid "Delete Folder" -msgstr "" +msgstr "Borrar carpeta" #. Pastes the Bookmark msgid "Paste bookmark" @@ -1676,7 +1682,7 @@ msgstr "El mapa sigue al vehículo" msgid "Plan with Waypoints" -msgstr "" +msgstr "Plan con puntos de ruta" msgid "Message" msgstr "Mensaje" @@ -1715,7 +1721,7 @@ #. warning told msgid "Look out! Camera!" -msgstr "!Atencion! Radar" +msgstr "!Atención! Radar" #. warning told msgid "Please decrease your speed" @@ -1781,12 +1787,14 @@ msgid "" "Drop last \n" "Waypoint" -msgstr "" +msgstr "Quitar último \n" +"Punto de ruta" msgid "" "Drop next \n" "Waypoint" -msgstr "" +msgstr "Quitar el siguiente \n" +"Punto de ruta" msgid "car_shortest" msgstr "automovil_ruta_mas_corta" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-20 21:57:04
|
Revision: 5441 http://navit.svn.sourceforge.net/navit/?rev=5441&view=rev Author: mdankov Date: 2013-04-20 21:56:57 +0000 (Sat, 20 Apr 2013) Log Message: ----------- Fix:gui_internal:Properly guess the need for Cyrillic internal keyboard on Android. Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal_keyboard.c Modified: trunk/navit/navit/gui/internal/gui_internal_keyboard.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_keyboard.c 2013-04-20 19:25:53 UTC (rev 5440) +++ trunk/navit/navit/gui/internal/gui_internal_keyboard.c 2013-04-20 21:56:57 UTC (rev 5441) @@ -333,6 +333,8 @@ gui_internal_keyboard_init_mode(char *lang) { int ret=0; + /* Converting to upper case here is required for Android */ + lang=g_ascii_strup(lang,-1); /* * Set cyrillic keyboard for countries using Cyrillic alphabet */ @@ -356,5 +358,6 @@ ret = 40; if (strstr(lang,"MN")) ret = 40; + g_free(lang); return ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-20 19:26:01
|
Revision: 5440 http://navit.svn.sourceforge.net/navit/?rev=5440&view=rev Author: mdankov Date: 2013-04-20 19:25:53 +0000 (Sat, 20 Apr 2013) Log Message: ----------- Fix:map_binfile:Do town boundary checking for street search after name check is done. Seems to give a slight performance benefit. Modified Paths: -------------- trunk/navit/navit/map/binfile/binfile.c Modified: trunk/navit/navit/map/binfile/binfile.c =================================================================== --- trunk/navit/navit/map/binfile/binfile.c 2013-04-17 16:07:31 UTC (rev 5439) +++ trunk/navit/navit/map/binfile/binfile.c 2013-04-20 19:25:53 UTC (rev 5440) @@ -2247,9 +2247,7 @@ struct attr at; if (!map_selection_contains_item_rect(map_search->mr->sel, it)) break; - if(map_search->boundaries && !item_inside_poly_list(it,map_search->boundaries)) - break; - + if(binfile_attr_get(it->priv_data, attr_label, &at)) { int i,match=0; char *str; @@ -2276,6 +2274,8 @@ /* Extracting all coords here makes duplicate() not consider them. */ while(item_coord_get(it,c,128)>0); if (match && !duplicate(map_search, it, attr_label)) { + if(map_search->boundaries && !item_inside_poly_list(it,map_search->boundaries)) + break; item_coord_rewind(it); return it; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-04-17 16:07:44
|
Revision: 5439 http://navit.svn.sourceforge.net/navit/?rev=5439&view=rev Author: sleske Date: 2013-04-17 16:07:31 +0000 (Wed, 17 Apr 2013) Log Message: ----------- Add:xpm:Add placeholder file for gui_select_house_number.svg.|Fixes #1107. Added Paths: ----------- trunk/navit/navit/xpm/gui_select_house_number.svg Added: trunk/navit/navit/xpm/gui_select_house_number.svg =================================================================== --- trunk/navit/navit/xpm/gui_select_house_number.svg (rev 0) +++ trunk/navit/navit/xpm/gui_select_house_number.svg 2013-04-17 16:07:31 UTC (rev 5439) @@ -0,0 +1,233 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="48px" + height="48px" + id="svg3220" + sodipodi:version="0.32" + inkscape:version="0.45.1" + sodipodi:docbase="/tmp" + sodipodi:docname="gui_inactive.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape"> + <defs + id="defs3222"> + <linearGradient + y2="40.064526" + x2="27.044603" + y1="19.939341" + x1="17.838388" + gradientUnits="userSpaceOnUse" + id="linearGradient7010" + xlink:href="#linearGradient7000" + inkscape:collect="always" /> + <linearGradient + id="linearGradient7000" + inkscape:collect="always"> + <stop + id="stop7002" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop7004" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="61.80806" + x2="39.418972" + y1="19.939341" + x1="17.838388" + id="linearGradient7006" + xlink:href="#linearGradient7000" + inkscape:collect="always" /> + <linearGradient + id="linearGradient2790"> + <stop + id="stop2792" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + style="stop-color:#d3d7cf;stop-opacity:1;" + offset="0.8108108" + id="stop2798" /> + <stop + id="stop2794" + offset="1" + style="stop-color:#959e8b;stop-opacity:1;" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(1.7588235,0,0,1.7588235,6.032353,6.0323539)" + gradientUnits="userSpaceOnUse" + y2="30.038462" + x2="19.255854" + y1="0.068979882" + x1="4.3764215" + id="linearGradient6945" + xlink:href="#linearGradient2790" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.5,0,9.75)" + r="3" + fy="19.5" + fx="-2" + cy="19.5" + cx="-2" + id="radialGradient6972" + xlink:href="#linearGradient6964" + inkscape:collect="always" /> + <linearGradient + id="linearGradient6964" + inkscape:collect="always"> + <stop + id="stop5939" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop6968" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.5,0,9.75)" + r="3" + fy="19.5" + fx="-2" + cy="19.5" + cx="-2" + id="radialGradient6970" + xlink:href="#linearGradient6964" + inkscape:collect="always" /> + <linearGradient + id="linearGradient6958"> + <stop + id="stop6960" + offset="0" + style="stop-color:#729fcf;stop-opacity:1;" /> + <stop + style="stop-color:#729fcf;stop-opacity:1;" + offset="0.60000002" + id="stop6966" /> + <stop + id="stop6962" + offset="1" + style="stop-color:#729fcf;stop-opacity:0;" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient6958" + id="radialGradient5962" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.8087117,0,0,3.5234273,-57.039447,-57.368542)" + cx="70.53125" + cy="22.734375" + fx="70.53125" + fy="22.734375" + r="3.5975378" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="7" + inkscape:cx="24" + inkscape:cy="24" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="800" + inkscape:window-height="649" + inkscape:window-x="472" + inkscape:window-y="296" /> + <metadata + id="metadata3225"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <g + style="display:inline" + inkscape:label="Layer 1" + id="g5953" + transform="translate(-0.6553298,-1.376604)"> + <g + transform="matrix(1.8719362,0,0,1.5205944,5.0000002,10.484903)" + style="opacity:0.7238806" + id="g6978"> + <path + sodipodi:type="arc" + style="opacity:0.14179107;fill:url(#radialGradient5962);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path6974" + sodipodi:cx="-2" + sodipodi:cy="19.5" + sodipodi:rx="3" + sodipodi:ry="1.5" + d="M 1 19.5 A 3 1.5 0 1 1 -5,19.5 A 3 1.5 0 1 1 1 19.5 z" + transform="matrix(2.0312501,0,0,1.2946278,14.455805,-7.7591062)" /> + <path + sodipodi:type="arc" + style="opacity:0.2;fill:url(#radialGradient6970);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path6960" + sodipodi:cx="-2" + sodipodi:cy="19.5" + sodipodi:rx="3" + sodipodi:ry="1.5" + d="M 1 19.5 A 3 1.5 0 1 1 -5,19.5 A 3 1.5 0 1 1 1 19.5 z" + transform="matrix(1.6666667,0,0,1.2946278,8.3333333,-6.6568542)" /> + <path + sodipodi:type="arc" + style="opacity:0.2;fill:url(#radialGradient6972);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path6962" + sodipodi:cx="-2" + sodipodi:cy="19.5" + sodipodi:rx="3" + sodipodi:ry="1.5" + d="M 1 19.5 A 3 1.5 0 1 1 -5,19.5 A 3 1.5 0 1 1 1 19.5 z" + transform="matrix(1.6666667,0,0,1.2946278,19.333333,-6.6568542)" /> + </g> + <path + id="path6930" + d="M 14.82647,9.5500008 L 9.55,14.826471 L 19.22353,24.5 L 9.55,34.17353 L 14.82647,39.45 L 24.500002,29.776471 L 34.17352,39.45 L 39.45,34.17353 L 29.77647,24.5 L 39.45,14.826471 L 34.17352,9.5500008 L 24.500002,19.22353 L 14.82647,9.5500008 z " + style="fill:url(#linearGradient6945);fill-opacity:1;fill-rule:evenodd;stroke:#6f716b;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + transform="translate(0,1)" + d="M 14.8125,10.0625 L 11.0625,13.8125 L 19.96875,22.75 C 20.169915,22.947709 20.283223,23.217943 20.283223,23.5 C 20.283223,23.782057 20.169915,24.052291 19.96875,24.25 L 11.0625,33.1875 L 14.8125,36.9375 L 23.75,28.03125 C 23.947709,27.830085 24.217943,27.716777 24.5,27.716777 C 24.782057,27.716777 25.052291,27.830085 25.25,28.03125 L 34.1875,36.9375 L 37.9375,33.1875 L 29.03125,24.25 C 28.830085,24.052291 28.716777,23.782057 28.716777,23.5 C 28.716777,23.217943 28.830085,22.947709 29.03125,22.75 L 37.9375,13.8125 L 34.1875,10.0625 L 25.25,18.96875 C 25.052291,19.169915 24.782057,19.283223 24.5,19.283223 C 24.217943,19.283223 23.947709,19.169915 23.75,18.96875 L 14.8125,10.0625 z " + id="path6996" + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7006);stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:original="M 14.8125 8.5625 L 9.5625 13.8125 L 19.21875 23.5 L 9.5625 33.1875 L 14.8125 38.4375 L 24.5 28.78125 L 34.1875 38.4375 L 39.4375 33.1875 L 29.78125 23.5 L 39.4375 13.8125 L 34.1875 8.5625 L 24.5 18.21875 L 14.8125 8.5625 z " + inkscape:radius="-1.0514843" + sodipodi:type="inkscape:offset" /> + <path + transform="translate(0,1)" + d="M 14.8125,10.0625 L 11.0625,13.8125 L 19.96875,22.75 C 20.169915,22.947709 20.283223,23.217943 20.283223,23.5 C 20.283223,23.782057 20.169915,24.052291 19.96875,24.25 L 11.0625,33.1875 L 14.8125,36.9375 L 23.75,28.03125 C 23.947709,27.830085 24.217943,27.716777 24.5,27.716777 C 24.782057,27.716777 25.052291,27.830085 25.25,28.03125 L 34.1875,36.9375 L 37.9375,33.1875 L 29.03125,24.25 C 28.830085,24.052291 28.716777,23.782057 28.716777,23.5 C 28.716777,23.217943 28.830085,22.947709 29.03125,22.75 L 37.9375,13.8125 L 34.1875,10.0625 L 25.25,18.96875 C 25.052291,19.169915 24.782057,19.283223 24.5,19.283223 C 24.217943,19.283223 23.947709,19.169915 23.75,18.96875 L 14.8125,10.0625 z " + id="path7008" + style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7010);stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:original="M 14.8125 8.5625 L 9.5625 13.8125 L 19.21875 23.5 L 9.5625 33.1875 L 14.8125 38.4375 L 24.5 28.78125 L 34.1875 38.4375 L 39.4375 33.1875 L 29.78125 23.5 L 39.4375 13.8125 L 34.1875 8.5625 L 24.5 18.21875 L 14.8125 8.5625 z " + inkscape:radius="-1.0514843" + sodipodi:type="inkscape:offset" /> + </g> + </g> +</svg> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-13 17:43:53
|
Revision: 5438 http://navit.svn.sourceforge.net/navit/?rev=5438&view=rev Author: martin-s Date: 2013-04-13 17:43:46 +0000 (Sat, 13 Apr 2013) Log Message: ----------- Add:Core:Intermix waypoints with route segments in route map for easier identification Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c trunk/navit/navit/navit_shipped.xml trunk/navit/navit/route.c Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-04-13 13:11:58 UTC (rev 5437) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-04-13 17:43:46 UTC (rev 5438) @@ -653,7 +653,7 @@ i=0; while((item = map_rect_get_item(mr))!=NULL) { struct attr attr; - if(item->type!=type_waypoint) + if(item->type!=type_waypoint && item->type!=type_route_end) continue; if (item_attr_get(item, attr_label, &attr)) { label=map_convert_string(item->map, attr.u.str); @@ -1052,7 +1052,7 @@ i=0; while((item=map_rect_get_item(mr))!=NULL) { struct coord c; - if(item->type!=type_waypoint) + if(item->type!=type_waypoint && item->type!=type_route_end) continue; if(item_is_equal_id(*item,wm->item)) continue; @@ -1341,7 +1341,7 @@ wbc->text=g_strdup(wm->text); } - if (wm && wm->item.type==type_waypoint) { + if (wm && (wm->item.type==type_waypoint || wm->item.type==type_route_end)) { gui_internal_widget_append(wtable,row=gui_internal_widget_table_row_new(this,gravity_left|orientation_horizontal|flags_fill)); gui_internal_widget_append(row, wbc=gui_internal_button_new_with_callback(this, _("Delete waypoint"), Modified: trunk/navit/navit/navit_shipped.xml =================================================================== --- trunk/navit/navit/navit_shipped.xml 2013-04-13 13:11:58 UTC (rev 5437) +++ trunk/navit/navit/navit_shipped.xml 2013-04-13 17:43:46 UTC (rev 5438) @@ -1907,43 +1907,43 @@ <circle color="#FF089C" radius="10" text_size="7"/> </itemgra> - <itemgra item_types="waypoint" order="2"> + <itemgra item_types="waypoint,route_end" order="2"> <circle color="#008080" radius="4" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="3-5"> + <itemgra item_types="waypoint,route_end" order="3-5"> <circle color="#008080" radius="8" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="6"> + <itemgra item_types="waypoint,route_end" order="6"> <circle color="#008080" radius="10" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="7-8"> + <itemgra item_types="waypoint,route_end" order="7-8"> <circle color="#008080" radius="16" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="9-10"> + <itemgra item_types="waypoint,route_end" order="9-10"> <circle color="#008080" radius="20" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="11"> + <itemgra item_types="waypoint,route_end" order="11"> <circle color="#008080" radius="28" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="12"> + <itemgra item_types="waypoint,route_end" order="12"> <circle color="#008080" radius="32" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="13"> + <itemgra item_types="waypoint,route_end" order="13"> <circle color="#008080" radius="52" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="14"> + <itemgra item_types="waypoint,route_end" order="14"> <circle color="#008080" radius="64" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="15"> + <itemgra item_types="waypoint,route_end" order="15"> <circle color="#008080" radius="68" width="6" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="16"> + <itemgra item_types="waypoint,route_end" order="16"> <circle color="#008080" radius="132" width="8" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="17"> + <itemgra item_types="waypoint,route_end" order="17"> <circle color="#008080" radius="268" width="8" text_size="48"/> </itemgra> - <itemgra item_types="waypoint" order="18"> + <itemgra item_types="waypoint,route_end" order="18"> <circle color="#008080" radius="530" width="8" text_size="48"/> </itemgra> </layer> @@ -3365,43 +3365,43 @@ <circle color="#FF089C" radius="10" background_color="#000000" text_size="7"/> </itemgra> - <itemgra item_types="waypoint" order="2"> + <itemgra item_types="waypoint,route_end" order="2"> <circle color="#00a0a0" radius="4" width="2" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="3-5"> + <itemgra item_types="waypoint,route_end" order="3-5"> <circle color="#00a0a0" radius="8" width="2" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="6"> + <itemgra item_types="waypoint,route_end" order="6"> <circle color="#00a0a0" radius="10" width="2" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="7-8"> + <itemgra item_types="waypoint,route_end" order="7-8"> <circle color="#00a0a0" radius="16" width="2" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="9-10"> + <itemgra item_types="waypoint,route_end" order="9-10"> <circle color="#00a0a0" radius="20" width="4" background_color="#000000" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="11"> + <itemgra item_types="waypoint,route_end" order="11"> <circle color="#00a0a0" radius="28" width="4" background_color="#000000" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="12"> + <itemgra item_types="waypoint,route_end" order="12"> <circle color="#00a0a0" radius="32" width="4" background_color="#000000" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="13"> + <itemgra item_types="waypoint,route_end" order="13"> <circle color="#00a0a0" radius="52" width="4" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="14"> + <itemgra item_types="waypoint,route_end" order="14"> <circle color="#00a0a0" radius="64" width="4" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="15"> + <itemgra item_types="waypoint,route_end" order="15"> <circle color="#00a0a0" radius="68" width="6" background_color="#000000" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="16"> + <itemgra item_types="waypoint,route_end" order="16"> <circle color="#00a0a0" radius="132" width="8" background_color="#000000" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="17"> + <itemgra item_types="waypoint,route_end" order="17"> <circle color="#00a0a0" radius="268" width="8" background_color="#000000" text_size="48"/> </itemgra> - <itemgra item_types="waypoint" order="18"> + <itemgra item_types="waypoint,route_end" order="18"> <circle color="#00a0a0" radius="530" width="8" background_color="#000000" text_size="48"/> </itemgra> </layer> @@ -4681,43 +4681,43 @@ <icon src="nav_destination_bk.png" w="32" h="32" x="4" y="30"/> </itemgra> - <itemgra item_types="waypoint" order="2"> + <itemgra item_types="waypoint,route_end" order="2"> <circle color="#000000" radius="4" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="3-5"> + <itemgra item_types="waypoint,route_end" order="3-5"> <circle color="#000000" radius="8" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="6"> + <itemgra item_types="waypoint,route_end" order="6"> <circle color="#000000" radius="10" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="7-8"> + <itemgra item_types="waypoint,route_end" order="7-8"> <circle color="#000000" radius="16" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="9-10"> + <itemgra item_types="waypoint,route_end" order="9-10"> <circle color="#000000" radius="20" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="11"> + <itemgra item_types="waypoint,route_end" order="11"> <circle color="#000000" radius="28" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="12"> + <itemgra item_types="waypoint,route_end" order="12"> <circle color="#000000" radius="32" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="13"> + <itemgra item_types="waypoint,route_end" order="13"> <circle color="#000000" radius="52" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="14"> + <itemgra item_types="waypoint,route_end" order="14"> <circle color="#000000" radius="64" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="15"> + <itemgra item_types="waypoint,route_end" order="15"> <circle color="#000000" radius="68" width="6" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="16"> + <itemgra item_types="waypoint,route_end" order="16"> <circle color="#000000" radius="132" width="8" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="17"> + <itemgra item_types="waypoint,route_end" order="17"> <circle color="#000000" radius="268" width="8" text_size="48"/> </itemgra> - <itemgra item_types="waypoint" order="18"> + <itemgra item_types="waypoint,route_end" order="18"> <circle color="#000000" radius="530" width="8" text_size="48"/> </itemgra> @@ -5387,7 +5387,7 @@ <polyline width="9" color="#ffffff" /> </itemgra> - <itemgra item_types="waypoint" > + <itemgra item_types="waypoint,route_end" > <circle color="#000000" radius="8" width="2" text_size="24"/> </itemgra> </layer> @@ -6329,43 +6329,43 @@ <icon src="nav_destination_bk.svg" w="32" h="32" x="4" y="30"/> </itemgra> - <itemgra item_types="waypoint" order="2"> + <itemgra item_types="waypoint,route_end" order="2"> <circle color="#000000" radius="4" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="3-5"> + <itemgra item_types="waypoint,route_end" order="3-5"> <circle color="#000000" radius="8" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="6"> + <itemgra item_types="waypoint,route_end" order="6"> <circle color="#000000" radius="10" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="7-8"> + <itemgra item_types="waypoint,route_end" order="7-8"> <circle color="#000000" radius="16" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="9-10"> + <itemgra item_types="waypoint,route_end" order="9-10"> <circle color="#000000" radius="20" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="11"> + <itemgra item_types="waypoint,route_end" order="11"> <circle color="#000000" radius="28" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="12"> + <itemgra item_types="waypoint,route_end" order="12"> <circle color="#000000" radius="32" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="13"> + <itemgra item_types="waypoint,route_end" order="13"> <circle color="#000000" radius="52" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="14"> + <itemgra item_types="waypoint,route_end" order="14"> <circle color="#000000" radius="64" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="15"> + <itemgra item_types="waypoint,route_end" order="15"> <circle color="#000000" radius="68" width="6" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="16"> + <itemgra item_types="waypoint,route_end" order="16"> <circle color="#000000" radius="132" width="8" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="17"> + <itemgra item_types="waypoint,route_end" order="17"> <circle color="#000000" radius="268" width="8" text_size="48"/> </itemgra> - <itemgra item_types="waypoint" order="18"> + <itemgra item_types="waypoint,route_end" order="18"> <circle color="#000000" radius="530" width="8" text_size="48"/> </itemgra> @@ -6926,43 +6926,43 @@ <circle color="#FF089C" radius="10"/> </itemgra> - <itemgra item_types="waypoint" order="2"> + <itemgra item_types="waypoint,route_end" order="2"> <circle color="#008080" radius="4" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="3-5"> + <itemgra item_types="waypoint,route_end" order="3-5"> <circle color="#008080" radius="8" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="6"> + <itemgra item_types="waypoint,route_end" order="6"> <circle color="#008080" radius="10" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="7-8"> + <itemgra item_types="waypoint,route_end" order="7-8"> <circle color="#008080" radius="16" width="2" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="9-10"> + <itemgra item_types="waypoint,route_end" order="9-10"> <circle color="#008080" radius="20" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="11"> + <itemgra item_types="waypoint,route_end" order="11"> <circle color="#008080" radius="28" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="12"> + <itemgra item_types="waypoint,route_end" order="12"> <circle color="#008080" radius="32" width="4" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="13"> + <itemgra item_types="waypoint,route_end" order="13"> <circle color="#008080" radius="52" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="14"> + <itemgra item_types="waypoint,route_end" order="14"> <circle color="#008080" radius="64" width="4" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="15"> + <itemgra item_types="waypoint,route_end" order="15"> <circle color="#008080" radius="68" width="6" text_size="24"/> </itemgra> - <itemgra item_types="waypoint" order="16"> + <itemgra item_types="waypoint,route_end" order="16"> <circle color="#008080" radius="132" width="8" text_size="32"/> </itemgra> - <itemgra item_types="waypoint" order="17"> + <itemgra item_types="waypoint,route_end" order="17"> <circle color="#008080" radius="268" width="8" text_size="48"/> </itemgra> - <itemgra item_types="waypoint" order="18"> + <itemgra item_types="waypoint,route_end" order="18"> <circle color="#008080" radius="530" width="8" text_size="48"/> </itemgra> Modified: trunk/navit/navit/route.c =================================================================== --- trunk/navit/navit/route.c 2013-04-13 13:11:58 UTC (rev 5437) +++ trunk/navit/navit/route.c 2013-04-13 17:43:46 UTC (rev 5438) @@ -3040,7 +3040,7 @@ struct map_rect_priv *mr = priv_data; struct route_path_segment *seg=mr->seg; struct route *route=mr->mpriv->route; - if (mr->item.type != type_street_route && mr->item.type != type_waypoint) + if (mr->item.type != type_street_route && mr->item.type != type_waypoint && mr->item.type != type_route_end) return 0; attr->type=attr_type; switch (attr_type) { @@ -3100,7 +3100,7 @@ return 1; case attr_label: mr->attr_next=attr_none; - if(mr->item.type==type_waypoint) { + if(mr->item.type==type_waypoint || mr->item.type == type_route_end) { if(mr->str) g_free(mr->str); mr->str=g_strdup_printf("%d",route->reached_destinations_count+g_list_position(route->destinations,mr->dest)+1); @@ -3545,20 +3545,11 @@ case type_route_start: case type_route_start_reverse: - case type_waypoint: - mr->item.type=type_waypoint; mr->seg=NULL; - if(!mr->dest) - mr->dest=mr->mpriv->route->destinations; - else - mr->dest=g_list_next(mr->dest); - - if(mr->dest) { - id=mr->dest; - break; - } - + mr->dest=mr->mpriv->route->destinations; default: + if (mr->item.type == type_waypoint) + mr->dest=g_list_next(mr->dest); mr->item.type=type_street_route; mr->seg=mr->seg_next; if (!mr->seg && mr->path && mr->path->next) { @@ -3571,6 +3562,12 @@ mr->seg=mr->path->path; if (p) g_free(p); + if (mr->dest) { + id=mr->dest; + mr->item.type=type_waypoint; + mr->seg_next=mr->seg; + break; + } } if (mr->seg) { mr->seg_next=mr->seg->next; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-13 13:12:06
|
Revision: 5437 http://navit.svn.sourceforge.net/navit/?rev=5437&view=rev Author: mdankov Date: 2013-04-13 13:11:58 +0000 (Sat, 13 Apr 2013) Log Message: ----------- Fix:map_binfile:Fix house number search regression introduced with 5436. Increase default house number search area to make it suitable for small streets. Modified Paths: -------------- trunk/navit/navit/map/binfile/binfile.c Modified: trunk/navit/navit/map/binfile/binfile.c =================================================================== --- trunk/navit/navit/map/binfile/binfile.c 2013-04-12 21:56:06 UTC (rev 5436) +++ trunk/navit/navit/map/binfile/binfile.c 2013-04-13 13:11:58 UTC (rev 5437) @@ -2004,7 +2004,7 @@ static struct map_rect_priv * binmap_search_housenumber_by_estimate(struct map_priv *map, struct coord *c, struct map_selection *sel) { - int size = 20; + int size = 400; sel->u.c_rect.lu.x = c->x-size; sel->u.c_rect.lu.y = c->y+size; sel->u.c_rect.rl.x = c->x+size; @@ -2012,7 +2012,6 @@ sel->range = item_range_all; sel->order = 18; - //sel->next = NULL; return map_rect_new_binfile(map, sel); } @@ -2217,6 +2216,7 @@ for (;;) { while ((it = map_rect_get_item_binfile(map_search->mr))) { + int has_house_number=0; switch (map_search->search.type) { case attr_town_name: case attr_district_name: @@ -2283,19 +2283,15 @@ } break; case attr_house_number: - if ((it->type == type_house_number)||(it->type == type_house_number_interpolation_even) - ||(it->type == type_house_number_interpolation_odd) - ||(it->type == type_house_number_interpolation_all) - ) + has_house_number=binfile_attr_get(it->priv_data, attr_house_number, &at); + if (has_house_number || (it->type == type_house_number) + || (it->type == type_house_number_interpolation_even) || (it->type == type_house_number_interpolation_odd) + || (it->type == type_house_number_interpolation_all) ) { - // is it a housenumber? - if (binfile_attr_get(it->priv_data, attr_house_number, &at)) + if (has_house_number) { - // match housenumber to our string if (!case_cmp(at.u.str, map_search->search.u.str, map_search->partial)) { - //binfile_attr_get(it->priv_data, attr_street_name, &at); - //dbg(0,"hnnn B1 street_name=%s",at.u.str); if (!duplicate(map_search, it, attr_house_number)) { binfile_attr_rewind(it->priv_data); @@ -2305,6 +2301,7 @@ } else return it; } else if(map_search->mode==2 && map_search->parent_name && item_is_street(*it) && binfile_attr_get(it->priv_data, attr_street_name, &at) && !strcmp(at.u.str, map_search->parent_name) ) { + /* If matching street segment found, prepare to expand house number search region +100m around each way point */ struct coord c; while(item_coord_get(it,&c,1)) { c.x-=100; @@ -2321,6 +2318,7 @@ } } if(map_search->search.type==attr_house_number && map_search->mode==2 && map_search->parent_name) { + /* For unindexed house number search, check if street segments extending possible housenumber locations were found */ if(map_search->ms.u.c_rect.lu.x!=map_search->rect_new.lu.x || map_search->ms.u.c_rect.lu.y!=map_search->rect_new.lu.y || map_search->ms.u.c_rect.rl.x!=map_search->rect_new.rl.x || map_search->ms.u.c_rect.rl.y!=map_search->rect_new.rl.y) { map_search->ms.u.c_rect=map_search->rect_new; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-12 21:56:13
|
Revision: 5436 http://navit.svn.sourceforge.net/navit/?rev=5436&view=rev Author: mdankov Date: 2013-04-12 21:56:06 +0000 (Fri, 12 Apr 2013) Log Message: ----------- Add:map_binfile:Do house number search around whole street. Fixes #1106 and, probably, a few of its duplicates. Modified Paths: -------------- trunk/navit/navit/map/binfile/binfile.c Modified: trunk/navit/navit/map/binfile/binfile.c =================================================================== --- trunk/navit/navit/map/binfile/binfile.c 2013-04-12 21:36:34 UTC (rev 5435) +++ trunk/navit/navit/map/binfile/binfile.c 2013-04-12 21:56:06 UTC (rev 5436) @@ -170,6 +170,8 @@ GList *boundaries; int partial; int mode; + struct coord_rect rect_new; + char *parent_name; GHashTable *search_results; }; @@ -2088,8 +2090,13 @@ struct coord c; if (item_coord_get(msp->item, &c, 1)) { + struct attr attr; msp->mr=binmap_search_housenumber_by_estimate(map, &c, &msp->ms); msp->mode = 2; + msp->rect_new=msp->ms.u.c_rect; + if(item_attr_get(msp->item, attr_street_name, &attr)) + msp->parent_name=g_strdup(attr.u.str); + dbg(0,"pn=%s\n",msp->parent_name); } map_rect_destroy_binfile(msp->mr_item); msp->mr_item=NULL; @@ -2276,10 +2283,9 @@ } break; case attr_house_number: - //if (it->type == type_house_number) - if ((it->type == type_house_number)||(type_house_number_interpolation_even) - ||(type_house_number_interpolation_odd) - ||(type_house_number_interpolation_all) + if ((it->type == type_house_number)||(it->type == type_house_number_interpolation_even) + ||(it->type == type_house_number_interpolation_odd) + ||(it->type == type_house_number_interpolation_all) ) { // is it a housenumber? @@ -2298,12 +2304,32 @@ } } else return it; + } else if(map_search->mode==2 && map_search->parent_name && item_is_street(*it) && binfile_attr_get(it->priv_data, attr_street_name, &at) && !strcmp(at.u.str, map_search->parent_name) ) { + struct coord c; + while(item_coord_get(it,&c,1)) { + c.x-=100; + c.y-=100; + coord_rect_extend(&map_search->rect_new,&c); + c.x+=200; + c.y+=200; + coord_rect_extend(&map_search->rect_new,&c); + } } continue; default: return NULL; } } + if(map_search->search.type==attr_house_number && map_search->mode==2 && map_search->parent_name) { + if(map_search->ms.u.c_rect.lu.x!=map_search->rect_new.lu.x || map_search->ms.u.c_rect.lu.y!=map_search->rect_new.lu.y || + map_search->ms.u.c_rect.rl.x!=map_search->rect_new.rl.x || map_search->ms.u.c_rect.rl.y!=map_search->rect_new.rl.y) { + map_search->ms.u.c_rect=map_search->rect_new; + map_rect_destroy_binfile(map_search->mr); + map_search->mr=map_rect_new_binfile(map_search->map, &map_search->ms); + dbg(0,"Extended house number search region to %d x %d, restarting...\n",map_search->ms.u.c_rect.rl.x - map_search->ms.u.c_rect.lu.x, map_search->ms.u.c_rect.lu.y-map_search->ms.u.c_rect.rl.y); + continue; + } + } if (!map_search->mr_item) return NULL; map_rect_destroy_binfile(map_search->mr); @@ -2320,6 +2346,8 @@ g_hash_table_destroy(ms->search_results); if(ATTR_IS_STRING(ms->search.type)) g_free(ms->search.u.str); + if(ms->parent_name) + g_free(ms->parent_name); if (ms->mr_item) map_rect_destroy_binfile(ms->mr_item); if (ms->mr) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-12 21:36:40
|
Revision: 5435 http://navit.svn.sourceforge.net/navit/?rev=5435&view=rev Author: martin-s Date: 2013-04-12 21:36:34 +0000 (Fri, 12 Apr 2013) Log Message: ----------- Fix:Core:Avoid overwriting of callback attributes Modified Paths: -------------- trunk/navit/navit/config_.c Modified: trunk/navit/navit/config_.c =================================================================== --- trunk/navit/navit/config_.c 2013-04-12 21:36:09 UTC (rev 5434) +++ trunk/navit/navit/config_.c 2013-04-12 21:36:34 UTC (rev 5435) @@ -153,7 +153,7 @@ config_new_int(); config->func=&config_func; navit_object_ref((struct navit_object *)config); - config->attrs=attr_list_dup(attrs); + config->attrs=attr_generic_add_attr_list(config->attrs, attrs); while (*attrs) { if (!config_set_attr_int(config,*attrs)) { dbg(0,"failed to set attribute '%s'\n",attr_to_name((*attrs)->type)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-12 21:36:15
|
Revision: 5434 http://navit.svn.sourceforge.net/navit/?rev=5434&view=rev Author: martin-s Date: 2013-04-12 21:36:09 +0000 (Fri, 12 Apr 2013) Log Message: ----------- Add:Core:Function to merge attribute lists Modified Paths: -------------- trunk/navit/navit/attr.c trunk/navit/navit/attr.h Modified: trunk/navit/navit/attr.c =================================================================== --- trunk/navit/navit/attr.c 2013-04-12 21:35:31 UTC (rev 5433) +++ trunk/navit/navit/attr.c 2013-04-12 21:36:09 UTC (rev 5434) @@ -462,6 +462,16 @@ } struct attr ** +attr_generic_add_attr_list(struct attr **attrs, struct attr **add) +{ + while (add && *add) { + attrs=attr_generic_add_attr(attrs, *add); + add++; + } + return attrs; +} + +struct attr ** attr_generic_prepend_attr(struct attr **attrs, struct attr *attr) { struct attr **curr=attrs; Modified: trunk/navit/navit/attr.h =================================================================== --- trunk/navit/navit/attr.h 2013-04-12 21:35:31 UTC (rev 5433) +++ trunk/navit/navit/attr.h 2013-04-12 21:36:09 UTC (rev 5434) @@ -180,6 +180,7 @@ int attr_generic_get_attr(struct attr **attrs, struct attr **def_attrs, enum attr_type type, struct attr *attr, struct attr_iter *iter); struct attr **attr_generic_set_attr(struct attr **attrs, struct attr *attr); struct attr **attr_generic_add_attr(struct attr **attrs, struct attr *attr); +struct attr **attr_generic_add_attr_list(struct attr **attrs, struct attr **add); struct attr **attr_generic_prepend_attr(struct attr **attrs, struct attr *attr); struct attr **attr_generic_remove_attr(struct attr **attrs, struct attr *attr); enum attr_type attr_type_begin(enum attr_type type); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-12 21:35:38
|
Revision: 5433 http://navit.svn.sourceforge.net/navit/?rev=5433&view=rev Author: martin-s Date: 2013-04-12 21:35:31 +0000 (Fri, 12 Apr 2013) Log Message: ----------- Add:binding_win32:Better debug output Modified Paths: -------------- trunk/navit/navit/binding/win32/binding_win32.c Modified: trunk/navit/navit/binding/win32/binding_win32.c =================================================================== --- trunk/navit/navit/binding/win32/binding_win32.c 2013-04-12 21:34:42 UTC (rev 5432) +++ trunk/navit/navit/binding/win32/binding_win32.c 2013-04-12 21:35:31 UTC (rev 5433) @@ -120,9 +120,9 @@ win32_main_navit(struct win32_binding_private *this, struct navit *navit, int added) { struct attr attr; - dbg(0,"enter"); + dbg(0,"enter\n"); if (added==1) { - dbg(0,"enter2"); + dbg(0,"enter2\n"); this->navit=navit; command_add_table_attr(commands, sizeof(commands)/sizeof(struct command_table), navit, &attr); navit_add_attr(navit, &attr); @@ -135,6 +135,7 @@ void plugin_init(void) { + dbg(0,"enter\n"); struct attr callback; struct win32_binding_private *this=g_new0(struct win32_binding_private,1); callback.type=attr_callback; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-04-12 21:34:49
|
Revision: 5432 http://navit.svn.sourceforge.net/navit/?rev=5432&view=rev Author: martin-s Date: 2013-04-12 21:34:42 +0000 (Fri, 12 Apr 2013) Log Message: ----------- Fix:Build:Allow to build mingw32 executables on 64 bit systems Modified Paths: -------------- trunk/navit/Toolchain/mingw32.cmake Modified: trunk/navit/Toolchain/mingw32.cmake =================================================================== --- trunk/navit/Toolchain/mingw32.cmake 2013-04-10 20:12:13 UTC (rev 5431) +++ trunk/navit/Toolchain/mingw32.cmake 2013-04-12 21:34:42 UTC (rev 5432) @@ -1,11 +1,11 @@ SET(CMAKE_SYSTEM_NAME Windows) -FIND_PROGRAM(CMAKE_C_COMPILER NAMES i686-mingw32-gcc i586-mingw32-gcc i386-mingw32-gcc mingw32-gcc) -FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES i686-mingw32-g++ i586-mingw32-gcc i386-mingw-gcc mingw32-g++) +FIND_PROGRAM(CMAKE_C_COMPILER NAMES i686-w64-mingw32-gcc i686-mingw32-gcc i586-mingw32-gcc i386-mingw32-gcc mingw32-gcc) +FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES i686-w64-mingw32-g++ i686-mingw32-g++ i586-mingw32-gcc i386-mingw32-gcc mingw32-g++) -FIND_PROGRAM(CMAKE_RC_COMPILER_INIT NAMES i686-mingw32-windres i586-mingw32-windres i386-mingw32-windres mingw32-windres windres.exe) +FIND_PROGRAM(CMAKE_RC_COMPILER_INIT NAMES i686-w64-mingw32-windres i686-mingw32-windres i586-mingw32-windres i386-mingw32-windres mingw32-windres windres.exe) -FIND_PROGRAM(CMAKE_AR NAMES i686-mingw32-ar i586-mingw32-ar i386-mingw32-ar mingw32-ar ar.exe) +FIND_PROGRAM(CMAKE_AR NAMES i686-w64-mingw32-ar i686-mingw32-ar i586-mingw32-ar i386-mingw32-ar mingw32-ar ar.exe) IF (NOT CMAKE_FIND_ROOT_PATH) EXECUTE_PROCESS( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-04-10 20:12:20
|
Revision: 5431 http://navit.svn.sourceforge.net/navit/?rev=5431&view=rev Author: mdankov Date: 2013-04-10 20:12:13 +0000 (Wed, 10 Apr 2013) Log Message: ----------- Fix:core:In the street search, return middle point of the street segment found instead of one of its ends. Fixes #1104. Modified Paths: -------------- trunk/navit/navit/search.c Modified: trunk/navit/navit/search.c =================================================================== --- trunk/navit/navit/search.c 2013-04-07 21:16:03 UTC (rev 5430) +++ trunk/navit/navit/search.c 2013-04-10 20:12:13 UTC (rev 5431) @@ -10,10 +10,10 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * * Boston, MA 02110-1301, USA. */ @@ -32,6 +32,7 @@ #include "search.h" #include "country.h" #include "linguistics.h" +#include "geom.h" #if HAVE_API_ANDROID #include "android.h" @@ -612,7 +613,9 @@ { struct search_list_street *ret=g_new0(struct search_list_street, 1); struct attr attr; + struct coord p[1024]; struct coord c; + int count; ret->common.item=ret->common.unique=*item; if (item_attr_get(item, attr_street_name, &attr)) @@ -620,7 +623,9 @@ else ret->name=NULL; search_list_common_new(item, &ret->common); - if (item_coord_get(item, &c, 1)) { + count=item_coord_get(item, p, sizeof(p)/sizeof(*p)); + if (count) { + geom_line_middle(p,count,&c); ret->common.c=g_new(struct pcoord, 1); ret->common.c->x=c.x; ret->common.c->y=c.y; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |