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-05-24 20:02:05
|
Revision: 5505 http://navit.svn.sourceforge.net/navit/?rev=5505&view=rev Author: martin-s Date: 2013-05-24 20:01:56 +0000 (Fri, 24 May 2013) Log Message: ----------- Fix:Core:Avoid circular references Modified Paths: -------------- trunk/navit/navit/script.c Modified: trunk/navit/navit/script.c =================================================================== --- trunk/navit/navit/script.c 2013-05-24 19:57:56 UTC (rev 5504) +++ trunk/navit/navit/script.c 2013-05-24 20:01:56 UTC (rev 5505) @@ -22,6 +22,7 @@ #include "debug.h" #include "event.h" #include "callback.h" +#include "command.h" #include "xmlconfig.h" struct script @@ -68,7 +69,7 @@ scr->attrs=attr_list_dup(attrs); attrs=scr->attrs; scr->cb=callback_new_1(callback_cast(script_run), scr); - attr_dup_content(parent, &scr->parent); + scr->parent=*parent; while (attrs && *attrs) script_set_attr_int(scr, *attrs++); dbg(0,"return %p\n",scr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-24 19:58:02
|
Revision: 5504 http://navit.svn.sourceforge.net/navit/?rev=5504&view=rev Author: martin-s Date: 2013-05-24 19:57:56 +0000 (Fri, 24 May 2013) Log Message: ----------- Add:Core:Made script tag work Modified Paths: -------------- trunk/navit/navit/script.c Modified: trunk/navit/navit/script.c =================================================================== --- trunk/navit/navit/script.c 2013-05-24 19:45:35 UTC (rev 5503) +++ trunk/navit/navit/script.c 2013-05-24 19:57:56 UTC (rev 5504) @@ -27,7 +27,7 @@ struct script { NAVIT_OBJECT - char *text; + struct attr parent; struct callback *cb; struct event_timeout *timeout; }; @@ -36,11 +36,13 @@ script_run(struct script *scr) { struct attr *xml_text=attr_search(scr->attrs, NULL, attr_xml_text); + int error; if (!xml_text || !xml_text->u.str) { dbg(0,"no text\n"); return; } dbg(0,"running '%s'\n",xml_text->u.str); + command_evaluate_to_void(&scr->parent, xml_text->u.str, &error); } static int @@ -66,6 +68,7 @@ scr->attrs=attr_list_dup(attrs); attrs=scr->attrs; scr->cb=callback_new_1(callback_cast(script_run), scr); + attr_dup_content(parent, &scr->parent); while (attrs && *attrs) script_set_attr_int(scr, *attrs++); dbg(0,"return %p\n",scr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-24 19:45:49
|
Revision: 5503 http://navit.svn.sourceforge.net/navit/?rev=5503&view=rev Author: martin-s Date: 2013-05-24 19:45:35 +0000 (Fri, 24 May 2013) Log Message: ----------- Add:Core:New xml tag for adding scripts to objects Modified Paths: -------------- trunk/navit/navit/CMakeLists.txt trunk/navit/navit/Makefile.am trunk/navit/navit/attr_def.h trunk/navit/navit/navit.c trunk/navit/navit/xmlconfig.c trunk/navit/navit/xmlconfig.h Added Paths: ----------- trunk/navit/navit/script.c Modified: trunk/navit/navit/CMakeLists.txt =================================================================== --- trunk/navit/navit/CMakeLists.txt 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/CMakeLists.txt 2013-05-24 19:45:35 UTC (rev 5503) @@ -8,7 +8,7 @@ set(NAVIT_SRC announcement.c atom.c attr.c cache.c callback.c command.c compass.c config_.c coord.c country.c data_window.c debug.c event.c file.c geom.c graphics.c gui.c item.c layout.c log.c main.c map.c maps.c linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c navit.c navit_nls.c navigation.c osd.c param.c phrase.c plugin.c popup.c - profile.c profile_option.c projection.c roadprofile.c route.c routech.c search.c speech.c start_real.c sunriset.c transform.c track.c + profile.c profile_option.c projection.c roadprofile.c route.c routech.c script.c search.c speech.c start_real.c sunriset.c transform.c track.c util.c vehicle.c vehicleprofile.c xmlconfig.c ) if(NOT USE_PLUGINS) Modified: trunk/navit/navit/Makefile.am =================================================================== --- trunk/navit/navit/Makefile.am 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/Makefile.am 2013-05-24 19:45:35 UTC (rev 5503) @@ -51,7 +51,7 @@ lib@LIBNAVIT@_la_SOURCES = announcement.c atom.c attr.c cache.c callback.c command.c compass.c config_.c coord.c country.c data_window.c debug.c \ event.c event_glib.h file.c geom.c graphics.c gui.c item.c layout.c log.c main.c map.c maps.c \ linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c bookmarks.h navit.c navigation.c osd.c param.c phrase.c plugin.c popup.c \ - profile.c profile_option.c projection.c roadprofile.c route.c routech.c search.c speech.c start_real.c transform.c track.c \ + profile.c profile_option.c projection.c roadprofile.c route.c routech.c search.c script.c speech.c start_real.c transform.c track.c \ util.c vehicle.c vehicleprofile.c xmlconfig.c announcement.h atom.h attr.h attr_def.h cache.h callback.h color.h command.h compass.h config_.h coord.h country.h \ android.h data.h data_window.h data_window_int.h debug.h destination.h draw_info.h endianess.h event.h \ file.h geom.h graphics.h gtkext.h gui.h item.h item_def.h keys.h log.h layer.h layout.h linguistics.h main.h map-share.h map.h\ Modified: trunk/navit/navit/attr_def.h =================================================================== --- trunk/navit/navit/attr_def.h 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/attr_def.h 2013-05-24 19:45:35 UTC (rev 5503) @@ -450,6 +450,7 @@ ATTR(maps) ATTR(layout) ATTR(profile_option) +ATTR(script) ATTR2(0x0008ffff,type_object_end) ATTR2(0x00090000,type_coord_begin) ATTR2(0x0009ffff,type_coord_end) Modified: trunk/navit/navit/navit.c =================================================================== --- trunk/navit/navit/navit.c 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/navit.c 2013-05-24 19:45:35 UTC (rev 5503) @@ -2883,6 +2883,7 @@ this_->autozoom_min = attr->u.num; break; case attr_layer: + case attr_script: break; default: return 0; Added: trunk/navit/navit/script.c =================================================================== --- trunk/navit/navit/script.c (rev 0) +++ trunk/navit/navit/script.c 2013-05-24 19:45:35 UTC (rev 5503) @@ -0,0 +1,100 @@ +/** + * Navit, a modular navigation system. + * Copyright (C) 2005-2012 Navit Team + * + * This program is free software; you can redistribute it and/or + * modify it under the terscr of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * 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. + */ + +#include <glib.h> +#include "item.h" +#include "debug.h" +#include "event.h" +#include "callback.h" +#include "xmlconfig.h" + +struct script +{ + NAVIT_OBJECT + char *text; + struct callback *cb; + struct event_timeout *timeout; +}; + +static void +script_run(struct script *scr) +{ + struct attr *xml_text=attr_search(scr->attrs, NULL, attr_xml_text); + if (!xml_text || !xml_text->u.str) { + dbg(0,"no text\n"); + return; + } + dbg(0,"running '%s'\n",xml_text->u.str); +} + +static int +script_set_attr_int(struct script *scr, struct attr *attr) +{ + switch (attr->type) { + case attr_update_period: + if (scr->timeout) + event_remove_timeout(scr->timeout); + scr->timeout=event_add_timeout(attr->u.num, 1, scr->cb); + return 1; + default: + return 0; + } +} + +struct script * +script_new(struct attr *parent, struct attr **attrs) +{ + struct script *scr=g_new0(struct script, 1); + scr->func=&script_func; + navit_object_ref((struct navit_object *)scr); + scr->attrs=attr_list_dup(attrs); + attrs=scr->attrs; + scr->cb=callback_new_1(callback_cast(script_run), scr); + while (attrs && *attrs) + script_set_attr_int(scr, *attrs++); + dbg(0,"return %p\n",scr); + return scr; +} + +void +script_destroy(struct script *scr) +{ + dbg(0,"enter %p\n",scr); + if (scr->timeout) + event_remove_timeout(scr->timeout); + callback_destroy(scr->cb); + attr_list_free(scr->attrs); + g_free(scr); +} + +struct object_func script_func = { + attr_script, + (object_func_new)script_new, + (object_func_get_attr)navit_object_get_attr, + (object_func_iter_new)navit_object_attr_iter_new, + (object_func_iter_destroy)navit_object_attr_iter_destroy, + (object_func_set_attr)navit_object_set_attr, + (object_func_add_attr)navit_object_add_attr, + (object_func_remove_attr)navit_object_remove_attr, + (object_func_init)NULL, + (object_func_destroy)script_destroy, + (object_func_dup)NULL, + (object_func_ref)navit_object_ref, + (object_func_unref)navit_object_unref, +}; Modified: trunk/navit/navit/xmlconfig.c =================================================================== --- trunk/navit/navit/xmlconfig.c 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/xmlconfig.c 2013-05-24 19:45:35 UTC (rev 5503) @@ -301,6 +301,8 @@ return &profile_option_func; case attr_roadprofile: return &roadprofile_func; + case attr_script: + return &script_func; case attr_osd: return &osd_func; case attr_trackingo: @@ -358,7 +360,7 @@ }; static void initStatic(void) { - elements=g_new0(struct element_func,43); //42 is a number of elements + ending NULL element + elements=g_new0(struct element_func,44); //43 is a number of elements + ending NULL element elements[0].name="config"; elements[0].parent=NULL; @@ -568,6 +570,11 @@ elements[41].parent="profile_option"; elements[41].func=NULL; elements[41].type=attr_roadprofile; + + elements[42].name="script"; + elements[42].parent="navit"; + elements[42].func=NULL; + elements[42].type=attr_script; } /** Modified: trunk/navit/navit/xmlconfig.h =================================================================== --- trunk/navit/navit/xmlconfig.h 2013-05-24 13:47:27 UTC (rev 5502) +++ trunk/navit/navit/xmlconfig.h 2013-05-24 19:45:35 UTC (rev 5503) @@ -54,9 +54,9 @@ void *(*unref)(void *); }; -extern struct object_func map_func, mapset_func, navit_func, osd_func, tracking_func, vehicle_func, maps_func, layout_func, roadprofile_func, vehicleprofile_func, layer_func, config_func, profile_option_func; +extern struct object_func map_func, mapset_func, navit_func, osd_func, tracking_func, vehicle_func, maps_func, layout_func, roadprofile_func, vehicleprofile_func, layer_func, config_func, profile_option_func, script_func; -#define HAS_OBJECT_FUNC(x) ((x) == attr_map || (x) == attr_mapset || (x) == attr_navit || (x) == attr_osd || (x) == attr_trackingo || (x) == attr_vehicle || (x) == attr_maps || (x) == attr_layout || (x) == attr_roadprofile || (x) == attr_vehicleprofile || (x) == attr_layer || (x) == attr_config || (x) == attr_profile_option) +#define HAS_OBJECT_FUNC(x) ((x) == attr_map || (x) == attr_mapset || (x) == attr_navit || (x) == attr_osd || (x) == attr_trackingo || (x) == attr_vehicle || (x) == attr_maps || (x) == attr_layout || (x) == attr_roadprofile || (x) == attr_vehicleprofile || (x) == attr_layer || (x) == attr_config || (x) == attr_profile_option || (x) == attr_script) #define NAVIT_OBJECT struct object_func *func; int refcount; struct attr **attrs; struct navit_object { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-24 13:47:35
|
Revision: 5502 http://navit.svn.sourceforge.net/navit/?rev=5502&view=rev Author: martin-s Date: 2013-05-24 13:47:27 +0000 (Fri, 24 May 2013) Log Message: ----------- Add:graphics_gtk_drawing_area:Improved draw_image_warp support Modified Paths: -------------- trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c Modified: trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c =================================================================== --- trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c 2013-05-24 12:38:48 UTC (rev 5501) +++ trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c 2013-05-24 13:47:27 UTC (rev 5502) @@ -536,17 +536,28 @@ #endif img->image=imlib_create_image(w, h); imlib_context_set_image(img->image); - if (gdk_pixbuf_get_colorspace(img->pixbuf) != GDK_COLORSPACE_RGB || gdk_pixbuf_get_has_alpha(img->pixbuf) || gdk_pixbuf_get_n_channels(img->pixbuf) != 3 || gdk_pixbuf_get_bits_per_sample(img->pixbuf) != 8) { + if (gdk_pixbuf_get_colorspace(img->pixbuf) != GDK_COLORSPACE_RGB || gdk_pixbuf_get_bits_per_sample(img->pixbuf) != 8) { dbg(0,"implement me\n"); - } else { + } else if (gdk_pixbuf_get_has_alpha(img->pixbuf) && gdk_pixbuf_get_n_channels(img->pixbuf) == 4) { for (y=0 ; y < h ; y++) { unsigned int *dst=imlib_image_get_data()+y*w; unsigned char *src=gdk_pixbuf_get_pixels(img->pixbuf)+y*gdk_pixbuf_get_rowstride(img->pixbuf); for (x=0 ; x < w ; x++) { *dst++=0xff000000|(src[0] << 16)|(src[1] << 8)|src[2]; + src+=4; + } + } + } else if (!gdk_pixbuf_get_has_alpha(img->pixbuf) && gdk_pixbuf_get_n_channels(img->pixbuf) == 3) { + for (y=0 ; y < h ; y++) { + unsigned int *dst=imlib_image_get_data()+y*w; + unsigned char *src=gdk_pixbuf_get_pixels(img->pixbuf)+y*gdk_pixbuf_get_rowstride(img->pixbuf); + for (x=0 ; x < w ; x++) { + *dst++=0xff000000|(src[0] << 16)|(src[1] << 8)|src[2]; src+=3; } } + } else { + dbg(0,"implement me\n"); } } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-24 12:38:57
|
Revision: 5501 http://navit.svn.sourceforge.net/navit/?rev=5501&view=rev Author: martin-s Date: 2013-05-24 12:38:48 +0000 (Fri, 24 May 2013) Log Message: ----------- Add:osd_core:New attribute for specifying icon directory Modified Paths: -------------- trunk/navit/navit/attr_def.h trunk/navit/navit/osd/core/osd_core.c Modified: trunk/navit/navit/attr_def.h =================================================================== --- trunk/navit/navit/attr_def.h 2013-05-23 10:44:42 UTC (rev 5500) +++ trunk/navit/navit/attr_def.h 2013-05-24 12:38:48 UTC (rev 5501) @@ -370,6 +370,7 @@ ATTR(tile_name) ATTR(first_key) ATTR(last_key) +ATTR(src_dir) ATTR2(0x0003ffff,type_string_end) ATTR2(0x00040000,type_special_begin) ATTR(order) Modified: trunk/navit/navit/osd/core/osd_core.c =================================================================== --- trunk/navit/navit/osd/core/osd_core.c 2013-05-23 10:44:42 UTC (rev 5500) +++ trunk/navit/navit/osd/core/osd_core.c 2013-05-24 12:38:48 UTC (rev 5501) @@ -1427,7 +1427,7 @@ int use_overlay; struct callback *draw_cb,*navit_init_cb; struct graphics_image *img; - char *src; + char *src_dir,*src; }; static void @@ -1480,6 +1480,15 @@ navit_add_callback(nav, this->navit_init_cb = callback_new_attr_1(callback_cast (osd_std_click), attr_button, &opc->osd_item)); osd_button_draw(opc,nav); } + +char * +osd_button_icon_path(struct osd_button *this_, char *src) +{ + char *s,*ret; + if (!this_->src_dir) + return graphics_icon_path(src); + return g_strdup_printf("%s%s%s",this_->src_dir, G_DIR_SEPARATOR_S, src); +} int osd_button_set_attr(struct osd_priv_common *opc, struct attr* attr) @@ -1496,7 +1505,7 @@ g_free(this_->src); } if(attr->u.str) { - this_->src = graphics_icon_path(attr->u.str); + this_->src = osd_button_icon_path(this_, attr->u.str); } nav = opc->osd_item.navit; gra = navit_get_graphics(nav); @@ -1556,13 +1565,18 @@ dbg(0, "no command\n"); goto error; } + attr = attr_search(attrs, NULL, attr_src_dir); + if (attr) + this->src_dir=graphics_icon_path(attr->u.str); + else + this->src_dir=NULL; attr = attr_search(attrs, NULL, attr_src); if (!attr) { dbg(0, "no src\n"); goto error; } - this->src = graphics_icon_path(attr->u.str); + this->src = osd_button_icon_path(this, attr->u.str); navit_add_callback(nav, this->navit_init_cb = callback_new_attr_1(callback_cast (osd_button_init), attr_graphics_ready, opc)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-23 10:44:54
|
Revision: 5500 http://navit.svn.sourceforge.net/navit/?rev=5500&view=rev Author: martin-s Date: 2013-05-23 10:44:42 +0000 (Thu, 23 May 2013) Log Message: ----------- Fix:Core:Format string Modified Paths: -------------- trunk/navit/navit/main.c Modified: trunk/navit/navit/main.c =================================================================== --- trunk/navit/navit/main.c 2013-05-22 19:50:39 UTC (rev 5499) +++ trunk/navit/navit/main.c 2013-05-23 10:44:42 UTC (rev 5500) @@ -345,7 +345,7 @@ #if !defined _WIN32 && !defined _WIN32_WCE if (file_exists("navit.c") || file_exists("navit.o") || file_exists("navit.lo") || file_exists("version.h")) { char buffer[PATH_MAX]; - printf(_("Running from source directory\n")); + printf("%s",_("Running from source directory\n")); getcwd(buffer, PATH_MAX); /* libc of navit returns "dummy" */ setenv("NAVIT_PREFIX", buffer, 0); main_setup_environment(0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-22 19:50:46
|
Revision: 5499 http://navit.svn.sourceforge.net/navit/?rev=5499&view=rev Author: martin-s Date: 2013-05-22 19:50:39 +0000 (Wed, 22 May 2013) Log Message: ----------- Fix:Core:Better solution for the default attribute problem Modified Paths: -------------- trunk/navit/navit/speech.c Modified: trunk/navit/navit/speech.c =================================================================== --- trunk/navit/navit/speech.c 2013-05-22 15:24:30 UTC (rev 5498) +++ trunk/navit/navit/speech.c 2013-05-22 19:50:39 UTC (rev 5499) @@ -80,6 +80,11 @@ return (this_->meth.say)(this_->priv, text); } +struct attr *speech_default_attrs[]={ + ATTR_DEF_INT(active, 1), + NULL, +}; + /** * @brief Gets an attribute from a speech plugin * @@ -93,13 +98,7 @@ int speech_get_attr(struct speech *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter) { - int ret=attr_generic_get_attr(this_->attrs, NULL, type, attr, iter); - if (!ret && type == attr_active) { - attr->u.num=1; - attr->type=type; - ret=1; - } - return ret; + return attr_generic_get_attr(this_->attrs, speech_default_attrs, type, attr, iter); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-22 15:24:37
|
Revision: 5498 http://navit.svn.sourceforge.net/navit/?rev=5498&view=rev Author: martin-s Date: 2013-05-22 15:24:30 +0000 (Wed, 22 May 2013) Log Message: ----------- Fix:Core:Return reasonable default value for speech active Modified Paths: -------------- trunk/navit/navit/speech.c Modified: trunk/navit/navit/speech.c =================================================================== --- trunk/navit/navit/speech.c 2013-05-19 06:58:13 UTC (rev 5497) +++ trunk/navit/navit/speech.c 2013-05-22 15:24:30 UTC (rev 5498) @@ -93,7 +93,13 @@ int speech_get_attr(struct speech *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter) { - return attr_generic_get_attr(this_->attrs, NULL, type, attr, iter); + int ret=attr_generic_get_attr(this_->attrs, NULL, type, attr, iter); + if (!ret && type == attr_active) { + attr->u.num=1; + attr->type=type; + ret=1; + } + return ret; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xen...@us...> - 2013-05-19 06:58:23
|
Revision: 5497 http://navit.svn.sourceforge.net/navit/?rev=5497&view=rev Author: xenos1984 Date: 2013-05-19 06:58:13 +0000 (Sun, 19 May 2013) Log Message: ----------- Fix:Core:Added navit_nls_gettext and navit_nls_ngettext to xgettext keywords, so that translations are generated. Modified Paths: -------------- trunk/navit/po/CMakeLists.txt trunk/navit/po/Makefile.am Modified: trunk/navit/po/CMakeLists.txt =================================================================== --- trunk/navit/po/CMakeLists.txt 2013-05-11 18:25:57 UTC (rev 5496) +++ trunk/navit/po/CMakeLists.txt 2013-05-19 06:58:13 UTC (rev 5497) @@ -47,7 +47,7 @@ ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/navit.pot DEPENDS ${POTFILES} - COMMAND ${XGETTEXT} --no-location --default-domain=navit_tmp --add-comments --keyword=_ --keyword=_n ${POTFILES} + COMMAND ${XGETTEXT} --no-location --default-domain=navit_tmp --add-comments --keyword=_ --keyword=_n --keyword=navit_nls_gettext --keyword=navit_nls_ngettext:1,2 ${POTFILES} COMMAND ${CMAKE_COMMAND} -DMATCHES="CHARSET" -DREPLACE="utf-8" -DSRC=${CMAKE_CURRENT_BINARY_DIR}/navit_tmp.po -DDST=${CMAKE_CURRENT_BINARY_DIR}/navit.pot -P ${PROJECT_SOURCE_DIR}/cmake/replace.cmake Modified: trunk/navit/po/Makefile.am =================================================================== --- trunk/navit/po/Makefile.am 2013-05-11 18:25:57 UTC (rev 5496) +++ trunk/navit/po/Makefile.am 2013-05-19 06:58:13 UTC (rev 5497) @@ -53,7 +53,7 @@ navit.pot: $(POTFILES) $(XGETTEXT) --no-location --default-domain=navit \ - --add-comments --keyword=_ --keyword=_n $(POTFILES) + --add-comments --keyword=_ --keyword=_n --keyword=navit_nls_gettext --keyword=navit_nls_ngettext:1,2 $(POTFILES) if cmp -s navit.po navit.pot; then \ rm -f navit.po; \ else \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-11 18:26:10
|
Revision: 5496 http://navit.svn.sourceforge.net/navit/?rev=5496&view=rev Author: mdankov Date: 2013-05-11 18:25:57 +0000 (Sat, 11 May 2013) Log Message: ----------- Fix:core:Fix warnings in start_real.c Modified Paths: -------------- trunk/navit/navit/config_.h trunk/navit/navit/start_real.c trunk/navit/navit/start_real.h Modified: trunk/navit/navit/config_.h =================================================================== --- trunk/navit/navit/config_.h 2013-05-11 18:02:59 UTC (rev 5495) +++ trunk/navit/navit/config_.h 2013-05-11 18:25:57 UTC (rev 5496) @@ -2,7 +2,7 @@ extern "C" { #endif extern int main_argc; -extern char **main_argv; +extern char * const* main_argv; extern struct config *config; extern int configured; extern int config_empty_ok; Modified: trunk/navit/navit/start_real.c =================================================================== --- trunk/navit/navit/start_real.c 2013-05-11 18:02:59 UTC (rev 5495) +++ trunk/navit/navit/start_real.c 2013-05-11 18:25:57 UTC (rev 5496) @@ -45,6 +45,7 @@ #include "navit_nls.h" #include "atom.h" #include "command.h" +#include "geom.h" #ifdef HAVE_API_WIN32_CE #include <windows.h> #include <winbase.h> @@ -52,12 +53,12 @@ char *version=PACKAGE_VERSION" "SVN_VERSION""NAVIT_VARIANT; int main_argc; -char **main_argv; +char * const* main_argv; static void print_usage(void) { - printf(_("navit usage:\n" + printf("%s",_("navit usage:\n" "navit [options] [configfile]\n" "\t-c <file>: use <file> as config file\n" "\t-d <n>: set the global debug output level to <n> (0-3). Overrides setting from config file.\n" @@ -70,7 +71,7 @@ extern void builtin_init(void); #endif /* USE_PLUGINS*/ -int main_real(int argc, const char **argv) +int main_real(int argc, char * const* argv) { xmlerror *error = NULL; char *config_file = NULL, *command=NULL, *startup_file=NULL; Modified: trunk/navit/navit/start_real.h =================================================================== --- trunk/navit/navit/start_real.h 2013-05-11 18:02:59 UTC (rev 5495) +++ trunk/navit/navit/start_real.h 2013-05-11 18:25:57 UTC (rev 5496) @@ -20,6 +20,6 @@ #ifndef NAVIT_MAIN_REAL_H #define NAVIT_MAIN_REAL_H -int main_real(int argc, const char **argv); +int main_real(int argc, char * const* argv); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-11 18:03:05
|
Revision: 5495 http://navit.svn.sourceforge.net/navit/?rev=5495&view=rev Author: mdankov Date: 2013-05-11 18:02:59 +0000 (Sat, 11 May 2013) Log Message: ----------- Fix:gui_internal:Fix format specifier to kill warnings. Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal_command.c Modified: trunk/navit/navit/gui/internal/gui_internal_command.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_command.c 2013-05-11 17:47:26 UTC (rev 5494) +++ trunk/navit/navit/gui/internal/gui_internal_command.c 2013-05-11 18:02:59 UTC (rev 5495) @@ -146,7 +146,7 @@ escaped.u.str=gui_internal_escape(escape_mode_string,in[0]->u.str); } else if (ATTR_IS_INT(in[0]->type)) { escaped.type=attr_type_string_begin; - escaped.u.str=g_strdup_printf("%d",in[0]->u.num); + escaped.u.str=g_strdup_printf("%ld",in[0]->u.num); } else { dbg(0,"first parameter wrong type\n"); return; @@ -942,7 +942,7 @@ astr=gui_internal_escape(mode, str2); g_free(str2); } else if (ATTR_IS_INT(attr->type)) - astr=g_strdup_printf("%d",attr->u.num); + astr=g_strdup_printf("%ld",attr->u.num); else astr=g_strdup_printf("Unsupported type %s",attr_to_name(attr->type)); str=g_strconcat_printf(str,"%s%s%s",pre,astr,post); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-11 17:47:34
|
Revision: 5494 http://navit.svn.sourceforge.net/navit/?rev=5494&view=rev Author: mdankov Date: 2013-05-11 17:47:26 +0000 (Sat, 11 May 2013) Log Message: ----------- Fix:gui_internal:Clean up the code to get rid of compilation time warnings about const qualifier removal. Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c trunk/navit/navit/gui/internal/gui_internal.h trunk/navit/navit/gui/internal/gui_internal_command.c trunk/navit/navit/gui/internal/gui_internal_html.c trunk/navit/navit/gui/internal/gui_internal_priv.h trunk/navit/navit/gui/internal/gui_internal_search.c trunk/navit/navit/gui/internal/gui_internal_search.h trunk/navit/navit/gui/internal/gui_internal_widget.c trunk/navit/navit/gui/internal/gui_internal_widget.h Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-05-11 17:47:26 UTC (rev 5494) @@ -237,7 +237,7 @@ } struct widget * -gui_internal_button_navit_attr_new(struct gui_priv *this, char *text, enum flags flags, struct attr *on, struct attr *off) +gui_internal_button_navit_attr_new(struct gui_priv *this, const char *text, enum flags flags, struct attr *on, struct attr *off) { struct graphics_image *image=NULL; struct widget *ret; @@ -260,7 +260,7 @@ } struct widget * -gui_internal_button_map_attr_new(struct gui_priv *this, char *text, enum flags flags, struct map *map, struct attr *on, struct attr *off, int deflt) +gui_internal_button_map_attr_new(struct gui_priv *this, const char *text, enum flags flags, struct map *map, struct attr *on, struct attr *off, int deflt) { struct graphics_image *image=NULL; struct widget *ret; @@ -625,7 +625,7 @@ * @returns nothing */ void -gui_internal_select_waypoint(struct gui_priv *this, char *title, char *hint, struct widget *wm_, void(*cmd)(struct gui_priv *priv, struct widget *widget, void *data),void *data) +gui_internal_select_waypoint(struct gui_priv *this, const char *title, const char *hint, struct widget *wm_, void(*cmd)(struct gui_priv *priv, struct widget *widget, void *data),void *data) { struct widget *wb,*w,*wtable,*row,*wc; struct map *map; @@ -1084,7 +1084,7 @@ * TODO define constants for these values */ void -gui_internal_cmd_position_do(struct gui_priv *this, struct pcoord *pc_in, struct coord_geo *g_in, struct widget *wm, char *name, int flags) +gui_internal_cmd_position_do(struct gui_priv *this, struct pcoord *pc_in, struct coord_geo *g_in, struct widget *wm, const char *name, int flags) { struct widget *wb,*w,*wtable,*row,*wc,*wbc,*wclosest=NULL; struct coord_geo g; Modified: trunk/navit/navit/gui/internal/gui_internal.h =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.h 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal.h 2013-05-11 17:47:26 UTC (rev 5494) @@ -57,10 +57,10 @@ struct gui_internal_widget_methods { void (*append)(struct widget *parent, struct widget *child); - struct widget * (*button_new)(struct gui_priv *this, char *text, struct graphics_image *image, enum flags flags); + struct widget * (*button_new)(struct gui_priv *this, const char *text, struct graphics_image *image, enum flags flags); struct widget * (*button_new_with_callback)(struct gui_priv *this, const char *text, struct graphics_image *image, enum flags flags, void(*func)(struct gui_priv *priv, struct widget *widget, void *data), void *data); struct widget * (*box_new)(struct gui_priv *this, enum flags flags); - struct widget * (*label_new)(struct gui_priv *this, char *text); + struct widget * (*label_new)(struct gui_priv *this, const char *text); struct widget * (*image_new)(struct gui_priv *this, struct graphics_image *image); struct widget * (*keyboard)(struct gui_priv *this, int mode); struct widget * (*menu)(struct gui_priv *this, const char *label); Modified: trunk/navit/navit/gui/internal/gui_internal_command.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_command.c 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_command.c 2013-05-11 17:47:26 UTC (rev 5494) @@ -867,7 +867,7 @@ static void gui_internal_cmd2_position(struct gui_priv *this, char *function, struct attr **in, struct attr ***out, int *valid) { - char *name=_("Position"); + const char *name=_("Position"); int flags=-1; dbg(1,"enter\n"); Modified: trunk/navit/navit/gui/internal/gui_internal_html.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_html.c 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_html.c 2013-05-11 17:47:26 UTC (rev 5494) @@ -275,7 +275,7 @@ } } if (!strcmp(type,"text") || !strcmp(type,"password")) { - char *value=find_attr(names, values, "value"); + const char *value=find_attr(names, values, "value"); html->w=gui_internal_label_new(this, value); html->w->background=this->background; html->w->flags |= div_flags(names, values); Modified: trunk/navit/navit/gui/internal/gui_internal_priv.h =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_priv.h 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_priv.h 2013-05-11 17:47:26 UTC (rev 5494) @@ -198,18 +198,18 @@ struct graphics_image *image_new_xs(struct gui_priv *this, const char *name); struct graphics_image *image_new_s(struct gui_priv *this, const char *name); struct graphics_image *image_new_l(struct gui_priv *this, const char *name); -struct widget *gui_internal_button_navit_attr_new(struct gui_priv *this, char *text, enum flags flags, struct attr *on, struct attr *off); -struct widget *gui_internal_button_map_attr_new(struct gui_priv *this, char *text, enum flags flags, struct map *map, struct attr *on, struct attr *off, int deflt); +struct widget *gui_internal_button_navit_attr_new(struct gui_priv *this, const char *text, enum flags flags, struct attr *on, struct attr *off); +struct widget *gui_internal_button_map_attr_new(struct gui_priv *this, const char *text, enum flags flags, struct map *map, struct attr *on, struct attr *off, int deflt); void gui_internal_say(struct gui_priv *this, struct widget *w, int questionmark); void gui_internal_back(struct gui_priv *this, struct widget *w, void *data); void gui_internal_cmd_return(struct gui_priv *this, struct widget *wm, void *data); void gui_internal_cmd_main_menu(struct gui_priv *this, struct widget *wm, void *data); struct widget *gui_internal_time_help(struct gui_priv *this); void gui_internal_apply_config(struct gui_priv *this); -void gui_internal_select_waypoint(struct gui_priv *this, char *title, char *hint, struct widget *wm_, void (*cmd)(struct gui_priv *priv, struct widget *widget, void *data), void *data); +void gui_internal_select_waypoint(struct gui_priv *this, const char *title, const char *hint, struct widget *wm_, void (*cmd)(struct gui_priv *priv, struct widget *widget, void *data), void *data); void gui_internal_call_linked_on_finish(struct gui_priv *this, struct widget *wm, void *data); char *removecase(char *s); -void gui_internal_cmd_position_do(struct gui_priv *this, struct pcoord *pc_in, struct coord_geo *g_in, struct widget *wm, char *name, int flags); +void gui_internal_cmd_position_do(struct gui_priv *this, struct pcoord *pc_in, struct coord_geo *g_in, struct widget *wm, const char *name, int flags); void gui_internal_cmd_position(struct gui_priv *this, struct widget *wm, void *data); void gui_internal_cmd_bookmarks(struct gui_priv *this, struct widget *wm, void *data); void gui_internal_keypress_do(struct gui_priv *this, char *key); Modified: trunk/navit/navit/gui/internal/gui_internal_search.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_search.c 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_search.c 2013-05-11 17:47:26 UTC (rev 5494) @@ -479,7 +479,7 @@ } void -gui_internal_search(struct gui_priv *this, char *what, char *type, int flags) +gui_internal_search(struct gui_priv *this, const char *what, const char *type, int flags) { struct widget *wb,*wk,*w,*wr,*we,*wl,*wnext=NULL; char *country; Modified: trunk/navit/navit/gui/internal/gui_internal_search.h =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_search.h 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_search.h 2013-05-11 17:47:26 UTC (rev 5494) @@ -3,7 +3,7 @@ struct widget; void gui_internal_search_idle_end(struct gui_priv *this); void gui_internal_search_list_destroy(struct gui_priv *this); -void gui_internal_search(struct gui_priv *this, char *what, char *type, int flags); +void gui_internal_search(struct gui_priv *this, const char *what, const char *type, int flags); void gui_internal_search_house_number_in_street(struct gui_priv *this, struct widget *widget, void *data); void gui_internal_search_street_in_town(struct gui_priv *this, struct widget *widget, void *data); void gui_internal_search_town_in_country(struct gui_priv *this, struct widget *widget); Modified: trunk/navit/navit/gui/internal/gui_internal_widget.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_widget.c 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_widget.c 2013-05-11 17:47:26 UTC (rev 5494) @@ -25,7 +25,7 @@ } struct widget * -gui_internal_label_font_new(struct gui_priv *this, char *text, int font) +gui_internal_label_font_new(struct gui_priv *this, const char *text, int font) { struct point p[4]; int w=0; @@ -36,7 +36,7 @@ widget->font_idx=font; if (text) { widget->text=g_strdup(text); - graphics_get_text_bbox(this->gra, this->fonts[font], text, 0x10000, 0x0, p, 0); + graphics_get_text_bbox(this->gra, this->fonts[font], widget->text, 0x10000, 0x0, p, 0); w=p[2].x-p[0].x; h=p[0].y-p[2].y; } @@ -52,16 +52,17 @@ } struct widget * -gui_internal_label_new(struct gui_priv *this, char *text) +gui_internal_label_new(struct gui_priv *this, const char *text) { return gui_internal_label_font_new(this, text, 0); } struct widget * -gui_internal_label_new_abbrev(struct gui_priv *this, char *text, int maxwidth) +gui_internal_label_new_abbrev(struct gui_priv *this, const char *text, int maxwidth) { struct widget *ret=NULL; - char *tmp=g_malloc(strlen(text)+3), *p; + char *tmp=g_malloc(strlen(text)+3); + const char *p; p=text+strlen(text); while ((p=g_utf8_find_prev_char(text, p)) >= text) { int i=p-text; @@ -156,7 +157,7 @@ } struct widget * -gui_internal_text_new(struct gui_priv *this, char *text, enum flags flags) +gui_internal_text_new(struct gui_priv *this, const char *text, enum flags flags) { return gui_internal_text_font_new(this, text, 0, flags); } @@ -190,7 +191,7 @@ } struct widget * -gui_internal_button_new(struct gui_priv *this, char *text, struct graphics_image *image, enum flags flags) +gui_internal_button_new(struct gui_priv *this, const char *text, struct graphics_image *image, enum flags flags) { return gui_internal_button_new_with_callback(this, text, image, flags, NULL, NULL); } @@ -726,7 +727,7 @@ } struct widget * -gui_internal_button_label(struct gui_priv *this, char *label, int mode) +gui_internal_button_label(struct gui_priv *this, const char *label, int mode) { struct widget *wl,*wlb; struct widget *wb=gui_internal_menu_data(this)->button_bar; Modified: trunk/navit/navit/gui/internal/gui_internal_widget.h =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_widget.h 2013-05-11 14:42:16 UTC (rev 5493) +++ trunk/navit/navit/gui/internal/gui_internal_widget.h 2013-05-11 17:47:26 UTC (rev 5494) @@ -151,15 +151,15 @@ struct point; struct table_data; struct widget; -struct widget *gui_internal_label_font_new(struct gui_priv *this, char *text, int font); -struct widget *gui_internal_label_new(struct gui_priv *this, char *text); -struct widget *gui_internal_label_new_abbrev(struct gui_priv *this, char *text, int maxwidth); +struct widget *gui_internal_label_font_new(struct gui_priv *this, const char *text, int font); +struct widget *gui_internal_label_new(struct gui_priv *this, const char *text); +struct widget *gui_internal_label_new_abbrev(struct gui_priv *this, const char *text, int maxwidth); struct widget *gui_internal_image_new(struct gui_priv *this, struct graphics_image *image); struct widget *gui_internal_text_font_new(struct gui_priv *this, const char *text, int font, enum flags flags); -struct widget *gui_internal_text_new(struct gui_priv *this, char *text, enum flags flags); +struct widget *gui_internal_text_new(struct gui_priv *this, const char *text, enum flags flags); struct widget *gui_internal_button_font_new_with_callback(struct gui_priv *this, const char *text, int font, struct graphics_image *image, enum flags flags, void (*func)(struct gui_priv *priv, struct widget *widget, void *data), void *data); struct widget *gui_internal_button_new_with_callback(struct gui_priv *this, const char *text, struct graphics_image *image, enum flags flags, void (*func)(struct gui_priv *priv, struct widget *widget, void *data), void *data); -struct widget *gui_internal_button_new(struct gui_priv *this, char *text, struct graphics_image *image, enum flags flags); +struct widget *gui_internal_button_new(struct gui_priv *this, const char *text, struct graphics_image *image, enum flags flags); struct widget *gui_internal_find_widget(struct widget *wi, struct point *p, int flags); void gui_internal_highlight_do(struct gui_priv *this, struct widget *found); void gui_internal_highlight(struct gui_priv *this); @@ -173,7 +173,7 @@ void gui_internal_widget_destroy(struct gui_priv *this, struct widget *w); void gui_internal_widget_render(struct gui_priv *this, struct widget *w); void gui_internal_widget_pack(struct gui_priv *this, struct widget *w); -struct widget *gui_internal_button_label(struct gui_priv *this, char *label, int mode); +struct widget *gui_internal_button_label(struct gui_priv *this, const char *label, int mode); struct widget *gui_internal_widget_table_new(struct gui_priv *this, enum flags flags, int buttons); void gui_internal_widget_table_clear(struct gui_priv *this, struct widget *table); GList *gui_internal_widget_table_next_row(GList *row); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-11 14:42:23
|
Revision: 5493 http://navit.svn.sourceforge.net/navit/?rev=5493&view=rev Author: mdankov Date: 2013-05-11 14:42:16 +0000 (Sat, 11 May 2013) Log Message: ----------- Fix:gui_internal:Make the Route description list be scrollable again. Fix #1115. Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-05-10 19:46:27 UTC (rev 5492) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-05-11 14:42:16 UTC (rev 5493) @@ -3149,7 +3149,7 @@ label->func=gui_internal_cmd_position; label->state|=STATE_SENSITIVE; label->data=(void*)2; - if(toprow && item->id_hi==topitem.id_hi && item->id_lo==topitem.id_lo) + if(toprow && item->id_hi==topitem.id_hi && item->id_lo==topitem.id_lo && item->map==topitem.map) gui_internal_widget_table_set_top_row(this, this->route_data.route_table, row); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-10 19:46:35
|
Revision: 5492 http://navit.svn.sourceforge.net/navit/?rev=5492&view=rev Author: mdankov Date: 2013-05-10 19:46:27 +0000 (Fri, 10 May 2013) Log Message: ----------- Add:gui_internal:Include street name in recent destination items based on house numbers. Fixes #1108. Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal_search.c Modified: trunk/navit/navit/gui/internal/gui_internal_search.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_search.c 2013-05-10 15:10:18 UTC (rev 5491) +++ trunk/navit/navit/gui/internal/gui_internal_search.c 2013-05-10 19:46:27 UTC (rev 5492) @@ -190,7 +190,7 @@ static void gui_internal_search_idle(struct gui_priv *this, char *wm_name, struct widget *search_list, void *param) { - char *text=NULL,*text2=NULL,*name=NULL; + char *text=NULL,*text2=NULL,*name=NULL, *wcname=NULL; struct search_list_result *res; struct widget *wc; struct item *item=NULL; @@ -288,10 +288,14 @@ } if (! strcmp(wm_name,"House number")) { name=res->house_number->house_number; - text=g_strdup_printf("%s %s", res->street->name, name); + text=g_strdup_printf("%s, %s", name, res->street->name); text2=town_str(res, 3, 0); + wcname=g_strdup(text); } + if(!wcname) + wcname=g_strdup(name); + dbg(1,"res->country->flag=%s\n", res->country->flag); wr=gui_internal_widget_table_row_new(this, gravity_left|orientation_horizontal|flags_fill); @@ -351,7 +355,7 @@ gravity_left_center|orientation_horizontal|flags_fill, gui_internal_cmd_position, param)); } - wc->name=g_strdup(name); + wc->name=wcname; if (res->c) wc->c=*res->c; wc->selection_id=res->id; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <md...@us...> - 2013-05-10 15:10:30
|
Revision: 5491 http://navit.svn.sourceforge.net/navit/?rev=5491&view=rev Author: mdankov Date: 2013-05-10 15:10:18 +0000 (Fri, 10 May 2013) Log Message: ----------- Add:maptool:Support associatedStreet relations in maps built with "experimental" option. Modified Paths: -------------- trunk/navit/navit/maptool/maptool.c trunk/navit/navit/maptool/maptool.h trunk/navit/navit/maptool/osm.c trunk/navit/navit/maptool/osm_relations.c Modified: trunk/navit/navit/maptool/maptool.c =================================================================== --- trunk/navit/navit/maptool/maptool.c 2013-05-08 17:53:35 UTC (rev 5490) +++ trunk/navit/navit/maptool/maptool.c 2013-05-10 15:10:18 UTC (rev 5491) @@ -437,8 +437,11 @@ p->osm.poly2poi=tempfile(suffix,"poly2poi",1); } } - if (p->process_relations) + if (p->process_relations) { p->osm.boundaries=tempfile(suffix,"boundaries",1); + if(experimental) + p->osm.associated_streets=tempfile(suffix,"associated_streets",1); + } #ifdef HAVE_POSTGRESQL if (p->dbstr) map_collect_data_osm_db(p->dbstr,&p->osm); @@ -476,6 +479,8 @@ fclose(p->osm.nodes); if (p->osm.turn_restrictions) fclose(p->osm.turn_restrictions); + if (p->osm.associated_streets) + fclose(p->osm.associated_streets); if (p->osm.boundaries) fclose(p->osm.boundaries); if (p->osm.poly2poi) @@ -833,7 +838,7 @@ exit(0); } } -#if 1 +#if 0 if (experimental) { fprintf(stderr,"No experimental features available\n"); exit(0); @@ -863,6 +868,30 @@ osm_collect_data(&p, suffix); p.node_table_loaded=1; } + if (experimental && p.process_relations && p.process_ways && p.process_nodes && start_phase(&p,"processing associated street relations")) { + FILE *ways_in=tempfile(suffix,"ways",0); + FILE *ways_out=tempfile(suffix,"ways_as",1); + FILE *nodes_in=tempfile(suffix,"nodes",0); + FILE *nodes_out=tempfile(suffix,"nodes_as",1); + + p.osm.associated_streets=tempfile(suffix,"associated_streets",0); + + process_associated_street(p.osm.associated_streets, ways_in, ways_out, nodes_in, nodes_out); + fclose(ways_in); + fclose(nodes_in); + fclose(ways_out); + fclose(nodes_out); + fclose(p.osm.associated_streets); + tempfile_rename(suffix,"ways","ways_pre_as"); + tempfile_rename(suffix,"nodes","nodes_pre_as"); + tempfile_rename(suffix,"ways_as","ways"); + tempfile_rename(suffix,"nodes_as","nodes"); + if(!p.keep_tmpfiles) { + tempfile_unlink(suffix,"ways_pre_as"); + tempfile_unlink(suffix,"nodes_pre_as"); + tempfile_unlink(suffix,"associated_streets"); + } + } if (start_phase(&p, "counting references and resolving ways")) { maptool_load_node_table(&p,1); osm_count_references(&p, suffix, p.start == phase); Modified: trunk/navit/navit/maptool/maptool.h =================================================================== --- trunk/navit/navit/maptool/maptool.h 2013-05-08 17:53:35 UTC (rev 5490) +++ trunk/navit/navit/maptool/maptool.h 2013-05-10 15:10:18 UTC (rev 5491) @@ -237,6 +237,7 @@ struct maptool_osm { FILE *boundaries; FILE *turn_restrictions; + FILE *associated_streets; FILE *nodes; FILE *ways; FILE *line2poi; @@ -258,6 +259,7 @@ long long item_bin_get_id(struct item_bin *ib); void flush_nodes(int final); void sort_countries(int keep_tmpfiles); +void process_associated_street(FILE *in, FILE *ways_in, FILE *ways_out, FILE *nodes_in, FILE *nodes_out); void process_turn_restrictions(FILE *in, FILE *coords, FILE *ways, FILE *ways_index, FILE *out); void process_turn_restrictions_old(FILE *in, FILE *coords, FILE *ways, FILE *ways_index, FILE *out); void clear_node_item_buffer(void); Modified: trunk/navit/navit/maptool/osm.c =================================================================== --- trunk/navit/navit/maptool/osm.c 2013-05-08 17:53:35 UTC (rev 5490) +++ trunk/navit/navit/maptool/osm.c 2013-05-10 15:10:18 UTC (rev 5491) @@ -1575,6 +1575,9 @@ if (!strcmp(relation_type, "restriction") && (item_bin->type == type_street_turn_restriction_no || item_bin->type == type_street_turn_restriction_only)) item_bin_write(item_bin, osm->turn_restrictions); + + if (experimental && !strcmp(relation_type, "associatedStreet") ) + item_bin_write(item_bin, osm->associated_streets); attr_longest_match_clear(); } @@ -2231,6 +2234,107 @@ return NULL; } +struct associated_street { + osmid relid; + char *name; +}; + +static void +process_associated_street_member(void *func_priv, void *relation_priv, struct item_bin *member, void *member_priv) +{ + FILE *out=*(FILE **)func_priv; + struct associated_street *rel=relation_priv; + if(!out) { + /* Pass 1, fill associated street names in relation_priv */ + char *name; + if(!rel->name && item_is_street(*member) && (name=item_bin_get_attr(member,attr_street_name,NULL))!=NULL ) { + rel->name=g_strdup(name); + } + } else { + /* Pass 2, add associated street names to relation members which do not have street name attr defined but + have house number defined or are streets */ + if(rel->name && !item_bin_get_attr(member,attr_street_name,NULL) && (item_bin_get_attr(member,attr_house_number,NULL) || item_is_street(*member))) + item_bin_add_attr_string(member, attr_street_name, rel->name); + item_bin_write(member,out); + } +} + +static void +relation_func_writethrough(void *func_priv, void *relation_priv, struct item_bin *member, void *member_priv) +{ + FILE *out=*(FILE **)func_priv; + if(out) + item_bin_write(member,out); +} + + +static void +process_associated_street_setup(FILE *in, struct relations *relations, FILE **out) +{ + struct relation_member relm; + long long relid; + struct item_bin *ib; + struct relations_func *relations_func; + int min_count; + + fseek(in, 0, SEEK_SET); + relations_func=relations_func_new(process_associated_street_member, out); + while ((ib=read_item(in))) { + struct associated_street *rel=g_new0(struct associated_street, 1); + relid=item_bin_get_relationid(ib); + rel->relid=relid; + rel->name=g_strdup(osm_tag_value(ib, "name")); + dbg(0,"name=%s\n",rel->name); + min_count=0; + while(search_relation_member(ib, "street",&relm,&min_count)) { + if(relm.type==2) + relations_add_func(relations, relations_func, rel, NULL, relm.type, relm.id); + dbg(0,"street type=%d(should be 2) id=%lld\n",relm.type,relm.id); + + } + min_count=0; + while(search_relation_member(ib, "house",&relm,&min_count)) { + dbg(0,"house type=%d id=%lld\n",relm.type,relm.id); + relations_add_func(relations, relations_func, rel, NULL, relm.type, relm.id); + } + min_count=0; + while(search_relation_member(ib, "addr:houselink",&relm,&min_count)) { + dbg(0,"houselink type=%d id=%lld\n",relm.type,relm.id); + relations_add_func(relations, relations_func, rel, NULL, relm.type, relm.id); + } + min_count=0; + while(search_relation_member(ib, "address",&relm,&min_count)) { + dbg(0,"address type=%d id=%lld\n",relm.type,relm.id); + relations_add_func(relations, relations_func, rel, NULL, relm.type, relm.id); + } + } + relations_func=relations_func_new(relation_func_writethrough, out); + relations_add_func(relations, relations_func, NULL, NULL, -1, 0); +} + +void +process_associated_street(FILE *in, FILE *ways_in, FILE *ways_out, FILE *nodes_in, FILE *nodes_out) +{ + struct relations *relations=relations_new(); + FILE *out=NULL; + fseek(in, 0, SEEK_SET); + process_associated_street_setup(in, relations, &out); + + /* Set noname relations names from their street members */ + fseek(ways_in, 0, SEEK_SET); + relations_process(relations, NULL, ways_in, NULL); + + /* Set street names on all members */ + out=ways_out; + fseek(ways_in, 0, SEEK_SET); + relations_process(relations, NULL, ways_in, NULL); + + out=nodes_out; + fseek(nodes_in, 0, SEEK_SET); + relations_process(relations, NULL, nodes_in, NULL); +} + + struct turn_restriction { osmid relid; enum item_type type; Modified: trunk/navit/navit/maptool/osm_relations.c =================================================================== --- trunk/navit/navit/maptool/osm_relations.c 2013-05-08 17:53:35 UTC (rev 5490) +++ trunk/navit/navit/maptool/osm_relations.c 2013-05-10 15:10:18 UTC (rev 5491) @@ -23,6 +23,7 @@ struct relations { GHashTable *member_hash[3]; + GList *default_members; }; struct relations_func { @@ -54,7 +55,7 @@ struct relations * relations_new(void) { - struct relations *ret=g_new(struct relations, 1); + struct relations *ret=g_new0(struct relations, 1); int i; for (i = 0 ; i < 3 ; i++) @@ -71,19 +72,40 @@ return relations_func; } +/* + * @brief Add a relation member to relations collection. + * @param in rel relations collection to add the new member to. + * @param in funct structure defining function to call when this member is read + * @param in relation_priv parameter describing relation. Will be passed to funct function + * @param in member_priv parameter describing member function. Will be passed to funct function + * @param in type This member type: 1 - node, 2 - way, 3 - relation. + * Set to -1 to add a default member action which matches any item of any type which is not a member of any relation. + * @param in osmid This member id + * @param unused relations + */ void relations_add_func(struct relations *rel, struct relations_func *func, void *relation_priv, void *member_priv, int type, osmid id) { - GHashTable *member_hash=rel->member_hash[type-1]; struct relations_member *memb=g_new(struct relations_member, 1); - + memb->memberid=id; memb->relation_priv=relation_priv; memb->member_priv=member_priv; memb->func=func; - g_hash_table_insert(member_hash, memb, g_list_append(g_hash_table_lookup(member_hash, memb), memb)); + if(type>0) { + GHashTable *member_hash=rel->member_hash[type-1]; + g_hash_table_insert(member_hash, memb, g_list_append(g_hash_table_lookup(member_hash, memb), memb)); + } else + rel->default_members=g_list_append(rel->default_members, memb); } +/* + * @brief Process relations members from the file. + * @param in rel struct relations storing pre-processed relations info + * @param in nodes file containing nodes in "coords.tmp" format + * @param in ways file containing items in item_bin format. This file may contain both nodes, ways, and relations in that format. + * @param unused relations + */ void relations_process(struct relations *rel, FILE *nodes, FILE *ways, FILE *relations) { @@ -112,14 +134,19 @@ } if (ways) { while ((ib=read_item(ways))) { - id=item_bin_get_attr(ib, attr_osm_wayid, NULL); - if (id) { + l=NULL; + if(NULL!=(id=item_bin_get_attr(ib, attr_osm_nodeid, NULL))) + l=g_hash_table_lookup(rel->member_hash[0], id); + else if(NULL!=(id=item_bin_get_attr(ib, attr_osm_wayid, NULL))) l=g_hash_table_lookup(rel->member_hash[1], id); - while (l) { - struct relations_member *memb=l->data; - memb->func->func(memb->func->func_priv, memb->relation_priv, ib, memb->member_priv); - l=g_list_next(l); - } + else if(NULL!=(id=item_bin_get_attr(ib, attr_osm_relationid, NULL))) + l=g_hash_table_lookup(rel->member_hash[2], id); + if(!l) + l=rel->default_members; + while (l) { + struct relations_member *memb=l->data; + memb->func->func(memb->func->func_priv, memb->relation_priv, ib, memb->member_priv); + l=g_list_next(l); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wor...@us...> - 2013-05-08 17:53:52
|
Revision: 5490 http://navit.svn.sourceforge.net/navit/?rev=5490&view=rev Author: worldcitizen Date: 2013-05-08 17:53:35 +0000 (Wed, 08 May 2013) Log Message: ----------- Corrected *this_ typo Modified Paths: -------------- trunk/navit/navit/route.h Modified: trunk/navit/navit/route.h =================================================================== --- trunk/navit/navit/route.h 2013-05-07 23:35:32 UTC (rev 5489) +++ trunk/navit/navit/route.h 2013-05-08 17:53:35 UTC (rev 5490) @@ -96,7 +96,7 @@ void route_set_destinations(struct route *this_, struct pcoord *dst, int count, int async); int route_get_destinations(struct route *this_, struct pcoord *pc, int count); int route_get_destination_count(struct route *this_); -void route_get_distances(struct route *this, struct coord *c, int count, int *distances); +void route_get_distances(struct route *this_, struct coord *c, int count, int *distances); void route_set_destination(struct route *this_, struct pcoord *dst, int async); void route_append_destination(struct route *this_, struct pcoord *dst, int async); void route_remove_nth_waypoint(struct route *this_, int n); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-05-07 23:35:42
|
Revision: 5489 http://navit.svn.sourceforge.net/navit/?rev=5489&view=rev Author: sleske Date: 2013-05-07 23:35:32 +0000 (Tue, 07 May 2013) Log Message: ----------- Fix:core:Reduce logging. Modified Paths: -------------- trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c trunk/navit/navit/osd.c Modified: trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c =================================================================== --- trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c 2013-05-06 23:22:17 UTC (rev 5488) +++ trunk/navit/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c 2013-05-07 23:35:32 UTC (rev 5489) @@ -139,17 +139,17 @@ static void graphics_destroy(struct graphics_priv *gr) { - dbg(0,"enter parent %p\n",gr->parent); + dbg(3,"enter parent %p\n",gr->parent); if (!gr->parent) { - dbg(0,"enter win %p\n",gr->win); + dbg(3,"enter win %p\n",gr->win); if (gr->win) gtk_widget_destroy(gr->win); - dbg(0,"widget %p\n",gr->widget); + dbg(3,"widget %p\n",gr->widget); if (gr->widget) gtk_widget_destroy(gr->widget); g_free(gr->window_title); } - dbg(0,"hImageDataCount %d\n",hImageDataCount); + dbg(3,"hImageDataCount %d\n",hImageDataCount); if (!--hImageDataCount) g_hash_table_destroy(hImageData); g_free(gr); @@ -907,7 +907,7 @@ delete(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { struct graphics_priv *this=user_data; - dbg(0,"enter this->win=%p\n",this->win); + dbg(3,"enter this->win=%p\n",this->win); if (this->delay & 2) { if (this->win) this->win=NULL; @@ -983,7 +983,7 @@ if (key[0]) callback_list_call_attr_1(this->cbl, attr_keypress, (void *)key); else - dbg(0,"keyval 0x%x\n", event->keyval); + dbg(3,"keyval 0x%x\n", event->keyval); return FALSE; } @@ -1087,7 +1087,7 @@ static int set_attr(struct graphics_priv *gr, struct attr *attr) { - dbg(0,"enter\n"); + dbg(3,"enter\n"); switch (attr->type) { case attr_windowid: get_data_window(gr, attr->u.num); Modified: trunk/navit/navit/osd.c =================================================================== --- trunk/navit/navit/osd.c 2013-05-06 23:22:17 UTC (rev 5488) +++ trunk/navit/navit/osd.c 2013-05-07 23:35:32 UTC (rev 5489) @@ -70,7 +70,7 @@ g_free(o); o=NULL; } - dbg(0,"new osd %p\n",o); + dbg(3,"new osd %p\n",o); return o; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sl...@us...> - 2013-05-06 23:22:24
|
Revision: 5488 http://navit.svn.sourceforge.net/navit/?rev=5488&view=rev Author: sleske Date: 2013-05-06 23:22:17 +0000 (Mon, 06 May 2013) Log Message: ----------- Refactoring:core:Add comment, remove dead code. Modified Paths: -------------- trunk/navit/navit/transform.c Modified: trunk/navit/navit/transform.c =================================================================== --- trunk/navit/navit/transform.c 2013-05-05 20:07:02 UTC (rev 5487) +++ trunk/navit/navit/transform.c 2013-05-06 23:22:17 UTC (rev 5488) @@ -42,7 +42,7 @@ struct transformation { int yaw; /* Rotation angle */ int pitch; - int ddd; + int ddd; /* 3d mode/isometric view active? (0/1) */ int m00,m01,m02; /* 3d transformation matrix */ int m10,m11,m12; int m20,m21,m22; @@ -415,11 +415,6 @@ geo->lng=Long; } -void -transform_datum(struct coord_geo *from, enum map_datum from_datum, struct coord_geo *to, enum map_datum to_datum) -{ -} - int transform(struct transformation *t, enum projection pro, struct coord *c, struct point *p, int count, int mindist, int width, int *width_return) { @@ -781,16 +776,7 @@ t->screen_center=*p; } -#if 0 void -transform_set_size(struct transformation *t, int width, int height) -{ - t->width=width; - t->height=height; -} -#endif - -void transform_get_size(struct transformation *t, int *width, int *height) { struct point_rect *r; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 20:07:08
|
Revision: 5487 http://navit.svn.sourceforge.net/navit/?rev=5487&view=rev Author: martin-s Date: 2013-05-05 20:07:02 +0000 (Sun, 05 May 2013) Log Message: ----------- Fix:Core:Count all paths for destination time/length Modified Paths: -------------- trunk/navit/navit/route.c Modified: trunk/navit/navit/route.c =================================================================== --- trunk/navit/navit/route.c 2013-05-05 19:21:20 UTC (rev 5486) +++ trunk/navit/navit/route.c 2013-05-05 20:07:02 UTC (rev 5487) @@ -3881,17 +3881,25 @@ break; case attr_destination_time: if (this_->path2 && (this_->route_status == route_status_path_done_new || this_->route_status == route_status_path_done_incremental)) { - - attr->u.num=this_->path2->path_time; + struct route_path *path=this_->path2; + attr->u.num=0; + while (path) { + attr->u.num+=path->path_time; + path=path->next; + } dbg(1,"path_time %d\n",attr->u.num); - } - else + } else ret=0; break; case attr_destination_length: - if (this_->path2 && (this_->route_status == route_status_path_done_new || this_->route_status == route_status_path_done_incremental)) - attr->u.num=this_->path2->path_len; - else + if (this_->path2 && (this_->route_status == route_status_path_done_new || this_->route_status == route_status_path_done_incremental)) { + struct route_path *path=this_->path2; + attr->u.num=0; + while (path) { + attr->u.num+=path->path_len; + path=path->next; + } + } else ret=0; break; default: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 19:21:26
|
Revision: 5486 http://navit.svn.sourceforge.net/navit/?rev=5486&view=rev Author: martin-s Date: 2013-05-05 19:21:20 +0000 (Sun, 05 May 2013) Log Message: ----------- Add:gui_internal:Add route distance and time to route description Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-05-05 19:19:31 UTC (rev 5485) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-05-05 19:21:20 UTC (rev 5486) @@ -3092,7 +3092,7 @@ struct map_rect * mr=NULL; struct navigation * nav = NULL; struct item * item =NULL; - struct attr attr; + struct attr attr,route; struct widget * label = NULL; struct widget * row = NULL; struct coord c; @@ -3110,6 +3110,25 @@ if(toprow && toprow->data) topitem=((struct widget*)toprow->data)->item; gui_internal_widget_table_clear(this,this->route_data.route_table); + if (navit_get_attr(navit, attr_route, &route, NULL)) { + struct attr destination_length, destination_time; + char *length=NULL,*time=NULL,*length_time; + if (route_get_attr(route.u.route, attr_destination_length, &destination_length, NULL)) + length=attr_to_text_ext(&destination_length, NULL, attr_format_with_units, attr_format_default, NULL); + if (route_get_attr(route.u.route, attr_destination_time, &destination_time, NULL)) + time=attr_to_text_ext(&destination_time, NULL, attr_format_with_units, attr_format_default, NULL); + row = gui_internal_widget_table_row_new(this, + gravity_left + | flags_fill + | orientation_horizontal); + gui_internal_widget_append(this->route_data.route_table,row); + length_time=g_strdup_printf("%s %s",length,time); + label = gui_internal_label_new(this,length_time); + g_free(length_time); + g_free(length); + g_free(time); + gui_internal_widget_append(row,label); + } while((item = map_rect_get_item(mr))) { if(item_attr_get(item,attr_navigation_long,&attr)) { row = gui_internal_widget_table_row_new(this, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 19:19:38
|
Revision: 5485 http://navit.svn.sourceforge.net/navit/?rev=5485&view=rev Author: martin-s Date: 2013-05-05 19:19:31 +0000 (Sun, 05 May 2013) Log Message: ----------- Add:Core:Function to format an attribute according to predefined formats Modified Paths: -------------- trunk/navit/navit/attr.c trunk/navit/navit/attr.h Modified: trunk/navit/navit/attr.c =================================================================== --- trunk/navit/navit/attr.c 2013-05-05 17:02:15 UTC (rev 5484) +++ trunk/navit/navit/attr.c 2013-05-05 19:19:31 UTC (rev 5485) @@ -277,11 +277,14 @@ } char * -attr_to_text(struct attr *attr, struct map *map, int pretty) +attr_to_text_ext(struct attr *attr, char *sep, enum attr_format fmt, enum attr_format def_fmt, struct map *map) { char *ret; enum attr_type type=attr->type; + if (!sep) + sep=""; + if (type >= attr_type_item_begin && type <= attr_type_item_end) { struct item *item=attr->u.item; struct attr type, data; @@ -309,6 +312,30 @@ } if (type == attr_flags || type == attr_through_traffic_flags) return flags_to_text(attr->u.num); + if (type == attr_destination_length) { + if (fmt == attr_format_with_units) { + double distance=attr->u.num; + if (distance > 10000) + return g_strdup_printf("%.0f%skm",distance/1000,sep); + return g_strdup_printf("%.1f%skm",distance/1000,sep); + } + } + if (type == attr_destination_time) { + if (fmt == attr_format_with_units) { + int seconds=(attr->u.num+5)/10; + int minutes=seconds/60; + int hours=minutes/60; + int days=hours/24; + hours%=24; + minutes%=60; + seconds%=60; + if (days) + return g_strdup_printf("%d:%02d:%02d:%02d",days,hours,minutes,seconds); + if (hours) + return g_strdup_printf("%02d:%02d:%02d",hours,minutes,seconds); + return g_strdup_printf("%02d:%02d",minutes,seconds); + } + } if (type >= attr_type_int_begin && type <= attr_type_int_end) return g_strdup_printf("%ld", attr->u.num); if (type >= attr_type_int64_begin && type <= attr_type_int64_end) @@ -347,7 +374,7 @@ char *ret=g_strdup(""); char *sep=""; while (attr->u.attrs[i].type) { - char *val=attr_to_text(&attr->u.attrs[i], map, pretty); + char *val=attr_to_text_ext(&attr->u.attrs[i], sep, fmt, def_fmt, map); ret=g_strconcat_printf(ret,"%s%s=%s",sep,attr_to_name(attr->u.attrs[i].type),val); g_free(val); sep=" "; @@ -361,6 +388,12 @@ return g_strdup_printf("(no text[%s])", attr_to_name(type)); } +char * +attr_to_text(struct attr *attr, struct map *map, int pretty) +{ + return attr_to_text_ext(attr, NULL, attr_format_default, attr_format_default, map); +} + struct attr * attr_search(struct attr **attrs, struct attr *last, enum attr_type attr) { Modified: trunk/navit/navit/attr.h =================================================================== --- trunk/navit/navit/attr.h 2013-05-05 17:02:15 UTC (rev 5484) +++ trunk/navit/navit/attr.h 2013-05-05 19:19:31 UTC (rev 5485) @@ -36,6 +36,11 @@ #undef ATTR }; +enum attr_format { + attr_format_default=0, + attr_format_with_units=1, +}; + #define AF_ONEWAY (1<<0) #define AF_ONEWAYREV (1<<1) #define AF_NOPASS (AF_ONEWAY|AF_ONEWAYREV) @@ -175,6 +180,7 @@ enum attr_type attr_from_name(const char *name); char *attr_to_name(enum attr_type attr); struct attr *attr_new_from_text(const char *name, const char *value); +char *attr_to_text_ext(struct attr *attr, char *sep, enum attr_format fmt, enum attr_format def_fmt, struct map *map); char *attr_to_text(struct attr *attr, struct map *map, int pretty); struct attr *attr_search(struct attr **attrs, struct attr *last, enum attr_type attr); int attr_generic_get_attr(struct attr **attrs, struct attr **def_attrs, enum attr_type type, struct attr *attr, struct attr_iter *iter); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 17:02:22
|
Revision: 5484 http://navit.svn.sourceforge.net/navit/?rev=5484&view=rev Author: martin-s Date: 2013-05-05 17:02:15 +0000 (Sun, 05 May 2013) Log Message: ----------- Add:gui_internal:Show poi distances to route if there is an active route Modified Paths: -------------- trunk/navit/navit/gui/internal/gui_internal.c trunk/navit/navit/gui/internal/gui_internal_poi.c trunk/navit/navit/gui/internal/gui_internal_poi.h Modified: trunk/navit/navit/gui/internal/gui_internal.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal.c 2013-05-05 17:01:12 UTC (rev 5483) +++ trunk/navit/navit/gui/internal/gui_internal.c 2013-05-05 17:02:15 UTC (rev 5484) @@ -1294,7 +1294,7 @@ } else text=g_strdup(item_to_name(item->type)); gui_internal_widget_append(wtable,row=gui_internal_widget_table_row_new(this,gravity_left|orientation_horizontal|flags_fill)); - gui_internal_widget_append(row, wc=gui_internal_cmd_pois_item(this, NULL, itemo, NULL, -1, text)); + gui_internal_widget_append(row, wc=gui_internal_cmd_pois_item(this, NULL, itemo, NULL, NULL, -1, text)); wc->c=pc; g_free(wc->name); wc->name=g_strdup(text); Modified: trunk/navit/navit/gui/internal/gui_internal_poi.c =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_poi.c 2013-05-05 17:01:12 UTC (rev 5483) +++ trunk/navit/navit/gui/internal/gui_internal_poi.c 2013-05-05 17:02:15 UTC (rev 5484) @@ -13,6 +13,7 @@ #include "map.h" #include "mapset.h" #include "layout.h" +#include "route.h" #include "transform.h" #include "linguistics.h" #include "fib.h" @@ -272,38 +273,51 @@ * @return Pointer to new widget. */ +void +format_dist(int dist, char *distbuf) +{ + if (dist > 10000) + sprintf(distbuf,"%d ", dist/1000); + else if (dist>0) + sprintf(distbuf,"%d.%d ", dist/1000, (dist%1000)/100); +} + struct widget * -gui_internal_cmd_pois_item(struct gui_priv *this, struct coord *center, struct item *item, struct coord *c, int dist, char* name) +gui_internal_cmd_pois_item(struct gui_priv *this, struct coord *center, struct item *item, struct coord *c, struct route *route, int dist, char* name) { char distbuf[32]=""; char dirbuf[32]=""; + char routedistbuf[32]=""; char *type; struct widget *wl; char *text; struct graphics_image *icon; - if (dist > 10000) - sprintf(distbuf,"%d ", dist/1000); - else if (dist>0) - sprintf(distbuf,"%d.%d ", dist/1000, (dist%1000)/100); + format_dist(dist,distbuf); if(c) { int len; get_direction(dirbuf, transform_get_angle_delta(center, c, 0), 1); len=strlen(dirbuf); dirbuf[len]=' '; dirbuf[len+1]=0; + if (route) { + route_get_distances(route, c, 1, &dist); + if (dist != INT_MAX) + format_dist(dist, routedistbuf); + } } + type=item_to_name(item->type); icon=gui_internal_poi_icon(this,item->type); if(!icon) { icon=image_new_xs(this,"gui_inactive"); - text=g_strdup_printf("%s%s%s %s", distbuf, dirbuf, type, name); + text=g_strdup_printf("%s%s%s%s %s", distbuf, dirbuf, routedistbuf, type, name); } else if(strlen(name)>0) - text=g_strdup_printf("%s%s%s", distbuf, dirbuf, name); + text=g_strdup_printf("%s%s%s%s", distbuf, dirbuf, routedistbuf, name); else - text=g_strdup_printf("%s%s%s", distbuf, dirbuf, type); + text=g_strdup_printf("%s%s%s%s", distbuf, dirbuf, routedistbuf, type); wl=gui_internal_button_new_with_callback(this, text, icon, gravity_left_center|orientation_horizontal|flags_fill, NULL, NULL); wl->datai=dist; @@ -552,6 +566,7 @@ struct widget *wl,*wt; char buffer[32]; struct poi_param *paramnew; + struct attr route; if(data) { param = data; @@ -559,7 +574,14 @@ param = g_new0(struct poi_param,1); param_free=1; } - + if (navit_get_attr(this->nav, attr_route, &route, NULL)) { + struct attr route_status; + if (!route_get_attr(route.u.route, attr_route_status, &route_status, NULL) || + (route_status.u.num != route_status_path_done_new && + route_status.u.num != route_status_path_done_incremental)) + route.u.route=NULL; + } else + route.u.route=NULL; dist=10000*(param->dist+1); isel = param->sel? &selectors[param->selnb]: NULL; pagenb = param->pagenb; @@ -663,7 +685,7 @@ dbg(2, "dist1: %i, dist2: %i\n", data->dist, (-key)>>10); if(i==(it-pagesize*pagenb) && data->dist>prevdist) prevdist=data->dist; - wi=gui_internal_cmd_pois_item(this, ¢er, &data->item, &data->c, data->dist, data->label); + wi=gui_internal_cmd_pois_item(this, ¢er, &data->item, &data->c, route.u.route, data->dist, data->label); wi->c.x=data->c.x; wi->c.y=data->c.y; wi->c.pro=pro; Modified: trunk/navit/navit/gui/internal/gui_internal_poi.h =================================================================== --- trunk/navit/navit/gui/internal/gui_internal_poi.h 2013-05-05 17:01:12 UTC (rev 5483) +++ trunk/navit/navit/gui/internal/gui_internal_poi.h 2013-05-05 17:02:15 UTC (rev 5484) @@ -50,7 +50,7 @@ struct widget; void gui_internal_poi_param_free(void *p); void gui_internal_poi_param_set_filter(struct poi_param *param, char *text); -struct widget *gui_internal_cmd_pois_item(struct gui_priv *this, struct coord *center, struct item *item, struct coord *c, int dist, char *name); +struct widget *gui_internal_cmd_pois_item(struct gui_priv *this, struct coord *center, struct item *item, struct coord *c, struct route *route, int dist, char *name); char *gui_internal_compose_item_address_string(struct item *item); void gui_internal_cmd_pois_filter(struct gui_priv *this, struct widget *wm, void *data); void gui_internal_cmd_pois(struct gui_priv *this, struct widget *wm, void *data); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 17:01:19
|
Revision: 5483 http://navit.svn.sourceforge.net/navit/?rev=5483&view=rev Author: martin-s Date: 2013-05-05 17:01:12 +0000 (Sun, 05 May 2013) Log Message: ----------- Add:Core:Function to get distance of coordinate list from route path Modified Paths: -------------- trunk/navit/navit/route.c trunk/navit/navit/route.h Modified: trunk/navit/navit/route.c =================================================================== --- trunk/navit/navit/route.c 2013-05-05 16:16:05 UTC (rev 5482) +++ trunk/navit/navit/route.c 2013-05-05 17:01:12 UTC (rev 5483) @@ -42,8 +42,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <math.h> #if 0 -#include <math.h> #include <assert.h> #include <unistd.h> #include <sys/time.h> @@ -394,6 +394,36 @@ } } +static void +route_path_get_distances(struct route_path *path, struct coord *c, int count, int *distances) +{ + int i; + for (i = 0 ; i < count ; i++) + distances[i]=INT_MAX; + while (path) { + struct route_path_segment *seg=path->path; + while (seg) { + for (i = 0 ; i < count ; i++) { + int dist=transform_distance_polyline_sq(seg->c, seg->ncoords, &c[i], NULL, NULL); + if (dist < distances[i]) + distances[i]=dist; + } + seg=seg->next; + } + path=path->next; + } + for (i = 0 ; i < count ; i++) { + if (distances[i] != INT_MAX) + distances[i]=sqrt(distances[i]); + } +} + +void +route_get_distances(struct route *this, struct coord *c, int count, int *distances) +{ + return route_path_get_distances(this->path2, c, count, distances); +} + /** * @brief Destroys a route_path * Modified: trunk/navit/navit/route.h =================================================================== --- trunk/navit/navit/route.h 2013-05-05 16:16:05 UTC (rev 5482) +++ trunk/navit/navit/route.h 2013-05-05 17:01:12 UTC (rev 5483) @@ -96,6 +96,7 @@ void route_set_destinations(struct route *this_, struct pcoord *dst, int count, int async); int route_get_destinations(struct route *this_, struct pcoord *pc, int count); int route_get_destination_count(struct route *this_); +void route_get_distances(struct route *this, struct coord *c, int count, int *distances); void route_set_destination(struct route *this_, struct pcoord *dst, int async); void route_append_destination(struct route *this_, struct pcoord *dst, int async); void route_remove_nth_waypoint(struct route *this_, int n); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 16:16:15
|
Revision: 5482 http://navit.svn.sourceforge.net/navit/?rev=5482&view=rev Author: martin-s Date: 2013-05-05 16:16:05 +0000 (Sun, 05 May 2013) Log Message: ----------- Fix:Core:Put waypoints also in not yet calculated route Modified Paths: -------------- trunk/navit/navit/route.c Modified: trunk/navit/navit/route.c =================================================================== --- trunk/navit/navit/route.c 2013-05-05 12:38:25 UTC (rev 5481) +++ trunk/navit/navit/route.c 2013-05-05 16:16:05 UTC (rev 5482) @@ -3586,6 +3586,11 @@ id=mr->seg; break; } + if (mr->dest && g_list_next(mr->dest)) { + id=mr->dest; + mr->item.type=type_waypoint; + break; + } mr->item.type=type_route_end; id=&(mr->mpriv->route->destinations); if (mr->mpriv->route->destinations) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-05 12:38:31
|
Revision: 5481 http://navit.svn.sourceforge.net/navit/?rev=5481&view=rev Author: martin-s Date: 2013-05-05 12:38:25 +0000 (Sun, 05 May 2013) Log Message: ----------- Add:Core:Label for rg_segment for easier debugging of route problems Modified Paths: -------------- trunk/navit/navit/navit_shipped.xml trunk/navit/navit/route.c Modified: trunk/navit/navit/navit_shipped.xml =================================================================== --- trunk/navit/navit/navit_shipped.xml 2013-05-05 12:08:41 UTC (rev 5480) +++ trunk/navit/navit/navit_shipped.xml 2013-05-05 12:38:25 UTC (rev 5481) @@ -1820,6 +1820,7 @@ <itemgra item_types="rg_segment" order="12-"> <polyline color="#FF089C" width="1"/> <arrows color="#FF089C" width="1"/> + <text text_size="15"/> </itemgra> <itemgra item_types="rg_point" order="12-"> <circle color="#FF089C" radius="10" text_size="7"/> Modified: trunk/navit/navit/route.c =================================================================== --- trunk/navit/navit/route.c 2013-05-05 12:08:41 UTC (rev 5480) +++ trunk/navit/navit/route.c 2013-05-05 12:38:25 UTC (rev 5481) @@ -3202,15 +3202,27 @@ } case attr_label: mr->attr_next=attr_street_item; - if (mr->item.type != type_rg_point) - return 0; attr->type = attr_label; if (mr->str) g_free(mr->str); - if (p->value != INT_MAX) - mr->str=g_strdup_printf("%d", p->value); - else - mr->str=g_strdup("-"); + if (mr->item.type == type_rg_point) { + if (p->value != INT_MAX) + mr->str=g_strdup_printf("%d", p->value); + else + mr->str=g_strdup("-"); + } else { + int len=seg->data.len; + int speed=route_seg_speed(route->vehicleprofile, &seg->data, NULL); + int time=route_time_seg(route->vehicleprofile, &seg->data, NULL); + if (speed) + mr->str=g_strdup_printf("%dm %dkm/h %d.%ds",len,speed,time/10,time%10); + else if (len) + mr->str=g_strdup_printf("%dm",len); + else { + mr->str=NULL; + return 0; + } + } attr->u.str = mr->str; return 1; case attr_street_item: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |