{
GtkListStore *store;
-store=route_generate_store(track);
+store=path_generate_store(track);
if (store!=NULL) {
gtk_tree_view_set_model(tree_view, store);
g_object_unref(G_OBJECT(store));
#include <config.h>
+#include <gtk/gtk.h>
+
#include "utils.h"
#include "map.h"
#include "route.h"
#include "mapper-types.h"
-
#include "track.h"
#include "path.h"
+#include "settings.h"
+#include "latlon.h"
void
path_resize(Path *path, guint size)
path->wcap = path->whead + wsize;
}
}
+
+GtkListStore *
+path_generate_store(Path *path)
+{
+WayPoint *wcurr;
+GtkTreeIter iter;
+GtkListStore *store;
+gchar buffer1[80];
+gchar buffer2[32];
+gdouble lat1, lon1, lat2, lon2;
+gdouble sum=0.0;
+
+if (path->whead==path->wtail)
+ return NULL;
+
+wcurr=path->whead;
+
+if (!wcurr)
+ return NULL;
+
+if (!wcurr->point)
+ return NULL;
+
+unit2latlon(wcurr->point->unitx, wcurr->point->unity, lat1, lon1);
+
+store = gtk_list_store_new(ROUTE_NUM_COLUMNS,G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
+
+while (wcurr!=path->wtail) {
+ if (!wcurr)
+ break;
+
+ unit2latlon(wcurr->point->unitx, wcurr->point->unity, lat2, lon2);
+ g_snprintf(buffer1, sizeof(buffer1), "%.05f,%.05f", lat2, lon2);
+ sum += calculate_distance(lat1, lon1, lat2, lon2);
+ g_snprintf(buffer2, sizeof(buffer2), "%.02f %s", sum * UNITS_CONVERT[_units], UNITS_TEXT[_units]);
+
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter,
+ ROUTE_LATLON, buffer1,
+ ROUTE_DISTANCE, buffer2,
+ ROUTE_WAYPOINT, wcurr->desc,
+ ROUTE_LAT, lat2,
+ ROUTE_LON, lon2,
+ -1);
+
+ lat1=lat2;
+ lon1=lon2;
+
+ wcurr++;
+}
+
+return store;
+}
#define _PATH_H
#include <glib.h>
+#include <gtk/gtk.h>
#define MACRO_PATH_INIT(path) { \
(path).head = (path).tail = g_new(Point, ARRAY_CHUNK_SIZE); \
void path_resize(Path *path, guint size);
void path_wresize(Path *path, guint wsize);
+GtkListStore *path_generate_store(Path *path);
+
#endif
/***/
-GtkListStore *
-route_generate_store(Path *route)
-{
-WayPoint *wcurr;
-GtkTreeIter iter;
-GtkListStore *store;
-gchar buffer1[80];
-gchar buffer2[32];
-gdouble lat1, lon1, lat2, lon2;
-gdouble sum=0.0;
-
-if (route->whead==route->wtail)
- return NULL;
-
-wcurr=route->whead;
-
-if (!wcurr)
- return NULL;
-
-if (!wcurr->point)
- return NULL;
-
-unit2latlon(wcurr->point->unitx, wcurr->point->unity, lat1, lon1);
-
-store = gtk_list_store_new(ROUTE_NUM_COLUMNS,G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
-
-while (wcurr!=route->wtail) {
- if (!wcurr)
- break;
-
- unit2latlon(wcurr->point->unitx, wcurr->point->unity, lat2, lon2);
- g_snprintf(buffer1, sizeof(buffer1), "%.05f,%.05f", lat2, lon2);
- sum += calculate_distance(lat1, lon1, lat2, lon2);
- g_snprintf(buffer2, sizeof(buffer2), "%.02f %s", sum * UNITS_CONVERT[_units], UNITS_TEXT[_units]);
-
- gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter,
- ROUTE_LATLON, buffer1,
- ROUTE_DISTANCE, buffer2,
- ROUTE_WAYPOINT, wcurr->desc,
- ROUTE_LAT, lat2,
- ROUTE_LON, lon2,
- -1);
-
- lat1=lat2;
- lon1=lon2;
-
- wcurr++;
-}
-
-return store;
-}
void route_show_distance_to_next();
gboolean route_show_distance_to(Point * point);
-GtkListStore *route_generate_store(Path *route);
-
#endif