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.
|