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