FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 04-25-2011, 12:00 PM
Michael Schwendt
 
Default gpx-viewer status?

http://lists.fedoraproject.org/pipermail/scm-commits/2011-February/568075.html

Package gpx-viewer in Fedora 15 has been retired by fab
Package gpx-viewer in Fedora 14 has been retired by fab
Package gpx-viewer in Fedora 13 has been retired by fab

Couldn't find any announcement for that.
The files in pkg git are still there. No dead.package file.
Couldn't find a releng ticket for this either.

Please complete the package end-of-life procedure,

http://fedoraproject.org/wiki/PackageMaintainers/PackageEndOfLife

and don't keep broken+retired packages in the dist like this.
Thank you!
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 04-26-2011, 06:22 PM
Christian Krause
 
Default gpx-viewer status?

Hi,

On 04/25/2011 02:00 PM, Michael Schwendt wrote:
> Package gpx-viewer in Fedora 15 has been retired by fab
> Package gpx-viewer in Fedora 14 has been retired by fab
> Package gpx-viewer in Fedora 13 has been retired by fab

> Please complete the package end-of-life procedure,

I have just started to use gpx-viewer. ;-) I know that it is not too
stable, but according to its bzr repository the author still submit
patches occasionally...

Is there a good alternative for just viewing gpx files embedded in
openstreemap maps?

Otherwise I would volunteer to take care of this package in Fedora...

Best regards,
Christian
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 04-27-2011, 08:36 PM
Tom Callaway
 
Default gpx-viewer status?

On 04/26/2011 02:22 PM, Christian Krause wrote:
> Hi,
>
> On 04/25/2011 02:00 PM, Michael Schwendt wrote:
>> Package gpx-viewer in Fedora 15 has been retired by fab
>> Package gpx-viewer in Fedora 14 has been retired by fab
>> Package gpx-viewer in Fedora 13 has been retired by fab
>
>> Please complete the package end-of-life procedure,
>
> I have just started to use gpx-viewer. ;-) I know that it is not too
> stable, but according to its bzr repository the author still submit
> patches occasionally...

Attached to this email is a patch against the bzr trunk that gets the
code building and running on gtk3 + champlain-0.10 + unique-3.0 +
gdl-3.0. Note that the resulting program is not by any means stable, but
this should be a good start for someone who wanted to take care of
getting this thing running again.

~tom

==
Fedora Project
diff -up gpx-viewer/configure.ac.BAD gpx-viewer/configure.ac
--- gpx-viewer/configure.ac.BAD 2011-04-26 23:05:24.134955686 -0400
+++ gpx-viewer/configure.ac 2011-04-26 23:07:57.321809095 -0400
@@ -36,23 +36,23 @@ PKG_PROG_PKG_CONFIG


PKG_CHECK_MODULES([gtk],[
- gtk+-2.0 >= 2.16
+ gtk+-3.0 >= 2.16
gmodule-2.0
])
PKG_CHECK_MODULES([libxml], [
libxml-2.0
])
PKG_CHECK_MODULES([libgdl], [
- gdl-1.0
+ gdl-3.0
])
PKG_CHECK_MODULES([champlain], [
- champlain-gtk-0.8 >= 0.8.0
- champlain-0.8 >= 0.8.0
+ champlain-gtk-0.10 >= 0.8.0
+ champlain-0.10 >= 0.8.0
])

# Check for unique. This is optional.
PKG_CHECK_MODULES([unique],
- [unique-1.0],
+ [unique-3.0],
[
have_unique="yes"
AC_DEFINE(HAVE_UNIQUE,1,[unique support enabled])],
diff -up gpx-viewer/Makefile.am.BAD gpx-viewer/Makefile.am
--- gpx-viewer/Makefile.am.BAD 2011-04-26 23:06:03.044042441 -0400
+++ gpx-viewer/Makefile.am 2011-04-26 23:08:17.836475154 -0400
@@ -51,7 +51,7 @@ gpx_viewer_SOURCES=
src/gpx-viewer.c


-gpx_viewer_VALAFLAGS= --pkg=config --pkg=unique-1.0 --pkg=clutter-1.0 --pkg=gtk+-2.0 --pkg=libxml-2.0 --pkg=champlain-0.8 --pkg=gpx-viewer --pkg=champlain-gtk-0.8 --basedir=$(top_builddir)/src --vapidir=$(top_srcdir)/vapi -H $(top_builddir)/src/gpx.h --use-header
+gpx_viewer_VALAFLAGS= --pkg=config --pkg=unique-3.0 --pkg=clutter-1.0 --pkg=gtk+-3.0 --pkg=libxml-2.0 --pkg=champlain-0.10 --pkg=gpx-viewer --pkg=champlain-gtk-0.10 --basedir=$(top_builddir)/src --vapidir=$(top_srcdir)/vapi -H $(top_builddir)/src/gpx.h --use-header

LIBS=
@gtk_LIBS@
diff -up gpx-viewer/manager/Makefile.BAD gpx-viewer/manager/Makefile
--- gpx-viewer/manager/Makefile.BAD 2011-04-26 23:02:11.545756298 -0400
+++ gpx-viewer/manager/Makefile 2011-04-26 23:02:45.527567801 -0400
@@ -16,13 +16,13 @@ LIBS=
#
# GTk Dependencies
#
-GTK_CFLAGS=$(shell pkg-config --cflags gtk+-2.0 )
-GTK_LIBS=$(shell pkg-config --libs gtk+-2.0 )
+GTK_CFLAGS=$(shell pkg-config --cflags gtk+-3.0 )
+GTK_LIBS=$(shell pkg-config --libs gtk+-3.0 )

ifeq ($(GTK_CFLAGS),)
-$(error Failed to find Gtk+-2.0)
+$(error Failed to find Gtk+-3.0)
else
-$(info Found Gtk+-2.0)
+$(info Found Gtk+-3.0)
endif

CFLAGS+=$(GTK_CFLAGS)
@@ -113,7 +113,7 @@ $(SOURCE_DIR):

$(SOURCE_DIR)/%.c: %.vala $(VALA_SOURCES)
$(info Parsing '$^' int '$@')
- $(QUIET)$(VALAC) -C $^ --pkg=cairo --pkg=gio-2.0 --pkg=gtk+-2.0 --pkg=libxml-2.0 --vapidir=./vapi/ -b $(SOURCE_DIR)
+ $(QUIET)$(VALAC) -C $^ --pkg=cairo --pkg=gtk+-3.0 --pkg=libxml-2.0 --vapidir=./vapi/ -b $(SOURCE_DIR)

$(PROGRAM): $(OBJ_DIR_FILES)
$(info Linking '$^' into '$@')
diff -up gpx-viewer/src/gpx-graph.vala.BAD gpx-viewer/src/gpx-graph.vala
--- gpx-viewer/src/gpx-graph.vala.BAD 2011-04-26 23:11:51.075595973 -0400
+++ gpx-viewer/src/gpx-graph.vala 2011-04-26 23:45:43.503848159 -0400
@@ -21,6 +21,7 @@ using Gtk;
using Gpx;
using Gpx.Viewer;
using GLib;
+using Cairo;
using Config;

static const string LOG_DOMAIN="GPX_GRAPH";
@@ -149,7 +150,7 @@ namespace Gpx
this.motion_notify_event.connect(motion_notify_eve nt_cb);
this.button_release_event.connect(button_release_e vent_cb);

- this.expose_event.connect(a_expose_event);
+ this.draw.connect(a_expose_event);
}

public void set_track(Gpx.Track? track)
@@ -178,12 +179,13 @@ namespace Gpx
*/
private Gpx.Point? get_point_from_position(double x, double y)
{
-
+ Gtk.Allocation allocation;
if(this.track == null) return null;
- if(x > LEFT_OFFSET && x < (this.allocation.width-10))
+ this.get_allocation(out allocation);
+ if(x > LEFT_OFFSET && x < (allocation.width-10))
{
double elapsed_time = track.get_total_time();
- time_t time = (time_t)((x-LEFT_OFFSET)/(this.allocation.width-10-LEFT_OFFSET)*elapsed_time);
+ time_t time = (time_t)((x-LEFT_OFFSET)/(allocation.width-10-LEFT_OFFSET)*elapsed_time);
weak List<Point?> iter = this.track.points.first();
/* calculated time is offset from start time, get real time */
time += iter.data.get_time();
@@ -278,29 +280,28 @@ namespace Gpx

private Gpx.Point start = null;
private Gpx.Point stop = null;
- bool a_expose_event(Gdk.EventExpose event)
+ private bool a_expose_event(Gtk.Widget widget, Context ctx)
{
- var ctx = Gdk.cairo_create(this.window);
+ Gtk.Allocation allocation;
+ Gdk.Window* my_window = this.get_window();
/* If no valid surface, render it */
if(surf == null)
update_surface(this);

/* Draw the actual surface on the widget */
- ctx.set_source_surface(this.surf, 0, 0);
- Gdk.cairo_region(ctx, event.region);
- ctx.clip();
ctx.paint();

ctx.translate(LEFT_OFFSET,20);
/* Draw selection, if available */
+ this.get_allocation(out allocation);
if(start != null && stop != null)
{
if(start.get_time() != stop.get_time())
{
Gpx.Point f = this.track.points.first().data;
double elapsed_time = track.get_total_time();
- double graph_width = this.allocation.width-LEFT_OFFSET-10;
- double graph_height = this.allocation.height-20-BOTTOM_OFFSET;
+ double graph_width = allocation.width-LEFT_OFFSET-10;
+ double graph_height = allocation.height-20-BOTTOM_OFFSET;

ctx.set_source_rgba(0.3, 0.2, 0.3, 0.8);
ctx.rectangle((start.get_time()-f.get_time())/elapsed_time*graph_width, 0,
@@ -314,8 +315,8 @@ namespace Gpx
{
Gpx.Point f = this.track.points.first().data;
double elapsed_time = track.get_total_time();
- double graph_width = this.allocation.width-LEFT_OFFSET-10;
- double graph_height = this.allocation.height-20-BOTTOM_OFFSET;
+ double graph_width = allocation.width-LEFT_OFFSET-10;
+ double graph_height = allocation.height-20-BOTTOM_OFFSET;

double hl = (highlight-f.get_time())/elapsed_time*graph_width;

@@ -375,10 +376,13 @@ namespace Gpx
}
private void update_surface(Gtk.Widget win)
{
- var ctx = Gdk.cairo_create(win.window);
+ Gtk.Allocation allocation;
+ win.get_allocation(out allocation);
+ Gdk.Window* my_window = win.get_window();
+ var ctx = Gdk.cairo_create(my_window);
this.surf = new Cairo.Surface.similar(ctx.get_target(),
Cairo.Content.COLOR_ALPHA,
- win.allocation.width, win.allocation.height);
+ allocation.width, allocation.height);
ctx = new Cairo.Context(this.surf);

log(LOG_DOMAIN, LogLevelFlags.LEVEL_DEBUG, "Updating surface");
@@ -477,8 +481,8 @@ namespace Gpx
Point f = track.points.data;

/* Draw Grid */
- double graph_width = win.allocation.width-LEFT_OFFSET-10;
- double graph_height = win.allocation.height-20-BOTTOM_OFFSET;
+ double graph_width = allocation.width-LEFT_OFFSET-10;
+ double graph_height = allocation.height-20-BOTTOM_OFFSET;
if(graph_height < 50 ) return;
var layout = Pango.cairo_create_layout(ctx);
double j =0.0;
diff -up gpx-viewer/src/gpx-parser.vala.BAD gpx-viewer/src/gpx-parser.vala
--- gpx-viewer/src/gpx-parser.vala.BAD 2011-04-26 23:09:45.588260773 -0400
+++ gpx-viewer/src/gpx-parser.vala 2011-04-26 23:11:00.251341692 -0400
@@ -462,8 +462,8 @@ namespace Gpx
if(lat != null && lon != null)
{
Point p = new Point();
- double flat = lat.to_double();
- double flon = lon.to_double();
+ double flat = double.parse(lat);
+ double flon = double.parse(lon);
p.set_position(flat, flon);
var info = point->children;
while(info != null)
@@ -473,7 +473,7 @@ namespace Gpx
{
var content = info->get_content();
if(content != null)
- p.elevation = content.to_double();
+ p.elevation = double.parse(content);
}
else if (info->name == "time")
{
@@ -517,8 +517,8 @@ namespace Gpx
if(lat != null && lon != null)
{
Point p = new Point();
- double flat = lat.to_double();
- double flon = lon.to_double();
+ double flat = double.parse(lat);
+ double flon = double.parse(lon);
p.set_position(flat, flon);
var info = node->children;
while(info != null)
@@ -556,8 +556,8 @@ namespace Gpx
if(lat != null && lon != null)
{
Point p = new Point();
- double flat = lat.to_double();
- double flon = lon.to_double();
+ double flat = double.parse(lat);
+ double flon = double.parse(lon);
p.set_position(flat, flon);
var info = trkseg->children;
while(info != null)
@@ -567,7 +567,7 @@ namespace Gpx
{
var content = info->get_content();
if(content != null)
- p.elevation = content.to_double();
+ p.elevation = double.parse(content);
}
else if (info->name == "time")
{
diff -up gpx-viewer/src/gpx-viewer.c.BAD gpx-viewer/src/gpx-viewer.c
--- gpx-viewer/src/gpx-viewer.c.BAD 2011-04-27 13:22:55.411393942 -0400
+++ gpx-viewer/src/gpx-viewer.c 2011-04-27 16:22:19.153468687 -0400
@@ -81,9 +81,9 @@ typedef struct Route
{
GpxFile *file;
GpxTrack *track;
- ChamplainPolygon *polygon;
- ChamplainBaseMarker *start;
- ChamplainBaseMarker *stop;
+ ChamplainPathLayer *polygon;
+ ChamplainMarker *start;
+ ChamplainMarker *stop;
gboolean visible;
} Route;

@@ -455,6 +455,16 @@ static void interface_update_heading(Gtk
}
}

+static void
+append_point (ChamplainMarkerLayer *layer, gdouble lon, gdouble lat)
+{
+ ClutterActor *point;
+ static ClutterColor color = { 0xa4, 0x00, 0x00, 0xff };
+
+ point = champlain_point_new_full (10, &color);
+ champlain_location_set_location (CHAMPLAIN_LOCATION (point), lon, lat);
+ champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (point));
+}

/**
* Creates a Polygon for Route, and adds it to the view
@@ -468,16 +478,16 @@ static void interface_map_plot_route(Cha
g_warning("Route allready has a polygon.
");
return;
}
- route->polygon = champlain_polygon_new();
+ route->polygon = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_NONE);
for (iter = g_list_first(route->track->points); iter; iter = iter->next)
{
GpxPoint *p = iter->data;
- champlain_polygon_append_point(route->polygon, p->lat_dec, p->lon_dec);
+ append_point(route->polygon, p->lat_dec, p->lon_dec);
}
- champlain_polygon_set_stroke_width(route->polygon, 4.0);
- champlain_polygon_set_stroke_color(route->polygon, &normal_track_color);
- champlain_view_add_polygon(CHAMPLAIN_VIEW(view), route->polygon);
- if(!route->visible) champlain_polygon_hide(route->polygon);
+ champlain_path_layer_set_stroke_width(route->polygon, 4.0);
+ champlain_path_layer_set_stroke_color(route->polygon, &normal_track_color);
+ champlain_view_add_layer(CHAMPLAIN_VIEW(view), route->polygon);
+ champlain_path_layer_set_visible(route->polygon, route->visible);
}


@@ -540,7 +550,7 @@ void routes_list_changed_cb(GtkTreeSelec
if (active_route)
{
/* Give it ' non-active' colour */
- champlain_polygon_set_stroke_color(active_route->polygon, &normal_track_color);
+ champlain_path_layer_set_stroke_color(active_route->polygon, &normal_track_color);
/* Hide stop marker */
if(active_route->stop)
clutter_actor_hide(CLUTTER_ACTOR(active_route->stop));
@@ -555,30 +565,33 @@ void routes_list_changed_cb(GtkTreeSelec
gpx_graph_set_track(gpx_graph, NULL);
/* Hide graph */
gtk_widget_hide(GTK_WIDGET(gpx_graph_container));
- /* if not visible hide track again */
- if(!active_route->visible) {
- champlain_polygon_hide(route->polygon);
- }
+ /* if not visible hide track again */
+ champlain_path_layer_set_visible(route->polygon, active_route->visible);
}

active_route = route;
if (route)
{
ChamplainView *view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(c hamplain_view));
+ ChamplainBoundingBox *bbox = champlain_bounding_box_new();

gpx_playback_set_track(playback, active_route->track);
if(route->polygon != NULL)
- champlain_polygon_set_stroke_color(route->polygon, &highlight_track_color);
+ champlain_path_layer_set_stroke_color(route->polygon, &highlight_track_color);

/* if (route->visible) */
{
- champlain_polygon_show(route->polygon);
+ champlain_path_layer_set_visible(route->polygon, route->visible);
}
if (route->track->top && route->track->bottom)
{
- champlain_view_ensure_visible(view,
- route->track->top->lat_dec, route->track->top->lon_dec,
- route->track->bottom->lat_dec, route->track->bottom->lon_dec, FALSE);
+ /* Setup bbox */
+ bbox->left = route->track->top->lon_dec;
+ bbox->right = route->track->top->lon_dec;
+ bbox->bottom = route->track->bottom->lat_dec;
+ bbox->top = route->track->bottom->lat_dec;
+
+ champlain_view_ensure_visible(view, bbox, FALSE);
}

if (gpx_track_get_total_time(active_route->track) > 5)
@@ -696,12 +709,12 @@ static void graph_selection_changed(GpxG
{
if(start)
{
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(active_route->start), start->lat_dec, start->lon_dec);
+ champlain_location_set_location(CHAMPLAIN_LOCATION (active_route->start), start->lat_dec, start->lon_dec);
}

if(stop)
{
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(active_route->stop), stop->lat_dec, stop->lon_dec);
+ champlain_location_set_location(CHAMPLAIN_LOCATION (active_route->stop), stop->lat_dec, stop->lon_dec);
}
}
}
@@ -710,7 +723,7 @@ static void graph_selection_changed(GpxG
static void graph_point_clicked(GpxGraph *graph, GpxPoint *point)
{
ChamplainView *view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(c hamplain_view));
- ChamplainBaseMarker *marker[2] = {NULL, NULL};
+ ChamplainMarker *marker[2] = {NULL, NULL};

gpx_viewer_map_view_click_marker_show(GPX_VIEWER_M AP_VIEW(champlain_view), point);
if(click_marker_source >0)
@@ -861,20 +874,20 @@ static void interface_plot_add_track(Gtk
const gchar *path2 = gtk_icon_info_get_filename(ii);
if (path2)
{
- route->start = (ChamplainBaseMarker *)champlain_marker_new_from_file(path2, NULL);
- champlain_marker_set_draw_background(CHAMPLAIN_MAR KER(route->start), FALSE);
+ route->start = champlain_label_new_from_file(path2, NULL);
+ champlain_label_set_draw_background(CHAMPLAIN_LABE L(route->start), FALSE);
}
gtk_icon_info_free(ii);
}
if (!route->start)
{
- route->start = (ChamplainBaseMarker *)champlain_marker_new();
+ route->start = champlain_label_new();
}
/* Create the marker */
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(route->start),
+ champlain_location_set_location(CHAMPLAIN_LOCATION (route->start),
((GpxPoint*)start->data)->lat_dec,
((GpxPoint*)start->data)->lon_dec);
- champlain_marker_set_color(CHAMPLAIN_MARKER(route->start), &waypoint);
+ champlain_label_set_color(CHAMPLAIN_LABEL(route->start), &waypoint);
gpx_viewer_map_view_add_marker(GPX_VIEWER_MAP_VIEW (champlain_view), route->start);

ii = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_defa ult(),
@@ -885,20 +898,20 @@ static void interface_plot_add_track(Gtk
const gchar *path2 = gtk_icon_info_get_filename(ii);
if (path2)
{
- route->stop = (ChamplainBaseMarker *)champlain_marker_new_from_file(path2, NULL);
- champlain_marker_set_draw_background(CHAMPLAIN_MAR KER(route->stop), FALSE);
+ route->stop = champlain_label_new_from_file(path2, NULL);
+ champlain_label_set_draw_background(CHAMPLAIN_LABE L(route->stop), FALSE);
}
gtk_icon_info_free(ii);
}
if (!route->stop)
{
- route->stop = (ChamplainBaseMarker *)champlain_marker_new();
+ route->stop = champlain_label_new();
}
/* Create the marker */
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(route->stop),
+ champlain_location_set_location(CHAMPLAIN_LOCATION (route->stop),
stop->lat_dec,
stop->lon_dec);
- champlain_marker_set_color(CHAMPLAIN_MARKER(route->stop), &waypoint);
+ champlain_label_set_color(CHAMPLAIN_LABEL(route->stop), &waypoint);
gpx_viewer_map_view_add_marker(GPX_VIEWER_MAP_VIEW (champlain_view), route->stop);

clutter_actor_hide(CLUTTER_ACTOR(route->stop));
@@ -954,14 +967,7 @@ void row_visible_toggled(GtkCellRenderer
gboolean active = !gtk_cell_renderer_toggle_get_active(toggle);
gtk_tree_store_set(GTK_TREE_STORE(model), &iter, 3, active, -1);
route->visible = active;
- if (active)
- {
- champlain_polygon_show(route->polygon);
- }
- else
- {
- champlain_polygon_hide(route->polygon);
- }
+ champlain_path_layer_set_visible(route->polygon, active);
}
}
}
@@ -1068,20 +1074,20 @@ static void interface_create_fake_master
const gchar *path2 = gtk_icon_info_get_filename(ii);
if (path2)
{
- route->start = (ChamplainBaseMarker *)champlain_marker_new_from_file(path2, NULL);
- champlain_marker_set_draw_background(CHAMPLAIN_MAR KER(route->start), FALSE);
+ route->start = champlain_label_new_from_file(path2, NULL);
+ champlain_label_set_draw_background(CHAMPLAIN_LABE L(route->start), FALSE);
}
gtk_icon_info_free(ii);
}
if (!route->start)
{
- route->start = (ChamplainBaseMarker *)champlain_marker_new();
+ route->start = champlain_label_new();
}
/* Create the marker */
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(route->start),
+ champlain_location_set_location(CHAMPLAIN_LOCATION (route->start),
((GpxPoint*)start->data)->lat_dec,
((GpxPoint*)start->data)->lon_dec);
- champlain_marker_set_color(CHAMPLAIN_MARKER(route->start), &waypoint);
+ champlain_label_set_color(CHAMPLAIN_LABEL(route->start), &waypoint);
gpx_viewer_map_view_add_marker(GPX_VIEWER_MAP_VIEW (champlain_view), route->start);

ii = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_defa ult(),
@@ -1092,20 +1098,20 @@ static void interface_create_fake_master
const gchar *path2 = gtk_icon_info_get_filename(ii);
if (path2)
{
- route->stop = (ChamplainBaseMarker *)champlain_marker_new_from_file(path2, NULL);
- champlain_marker_set_draw_background(CHAMPLAIN_MAR KER(route->stop), FALSE);
+ route->stop = champlain_label_new_from_file(path2, NULL);
+ champlain_label_set_draw_background(CHAMPLAIN_LABE L(route->stop), FALSE);
}
gtk_icon_info_free(ii);
}
if (!route->stop)
{
- route->stop = (ChamplainBaseMarker *)champlain_marker_new();
+ route->stop = champlain_label_new();
}
/* Create the marker */
- champlain_base_marker_set_position(CHAMPLAIN_BASE_ MARKER(route->stop),
+ champlain_location_set_location(CHAMPLAIN_LOCATION (route->stop),
(stop)->lat_dec,
(stop)->lon_dec);
- champlain_marker_set_color(CHAMPLAIN_MARKER(route->stop), &waypoint);
+ champlain_label_set_color(CHAMPLAIN_LABEL(route->stop), &waypoint);
gpx_viewer_map_view_add_marker(GPX_VIEWER_MAP_VIEW (champlain_view), route->stop);

clutter_actor_hide(CLUTTER_ACTOR(route->stop));
@@ -1378,6 +1384,7 @@ static void create_interface(void)
int pos;
gint w,h;
GtkRecentFilter *grf;
+ ChamplainBoundingBox *bbox = champlain_bounding_box_new ();

/* Open UI description file */
builder = gtk_builder_new();
@@ -1580,11 +1587,22 @@ static void create_interface(void)
/* Try to center the track on map correctly */
if (lon1 < 1000.0 && lon2 < 1000.0)
{
+ /* Setup bbox */
+ bbox->left = lon1;
+ bbox->right = lon2;
+ bbox->bottom = lat1;
+ bbox->top = lat2;
+
champlain_view_set_zoom_level(view, 15);
- champlain_view_ensure_visible(view, lat1, lon1, lat2, lon2, FALSE);
+ champlain_view_ensure_visible(view, bbox, FALSE);
}
}

+static gboolean create_interface_wrapper()
+{
+ create_interface();
+ return FALSE;
+}

void open_gpx_file(GtkMenu *item)
{
@@ -1757,7 +1775,6 @@ int main(int argc, char **argv)
bindtextdomain(PACKAGE, LOCALEDIR);
bind_textdomain_codeset(PACKAGE, "UTF-8");
textdomain(PACKAGE);
- gtk_set_locale();

/* Setup the commandline parser */
context = g_option_context_new(
@@ -1858,7 +1875,7 @@ int main(int argc, char **argv)
G_CALLBACK(route_playback_state_changed),
NULL);
/* Create the interface on main loop begin */
- gtk_init_add((GtkFunction)create_interface,NULL);
+ g_idle_add((GSourceFunc)create_interface_wrapper,N ULL);

/* Start the main loop */
gtk_main();
diff -up gpx-viewer/src/gpx-viewer-mapwidget.vala.BAD gpx-viewer/src/gpx-viewer-mapwidget.vala
--- gpx-viewer/src/gpx-viewer-mapwidget.vala.BAD 2011-04-26 23:56:09.104836646 -0400
+++ gpx-viewer/src/gpx-viewer-mapwidget.vala 2011-04-27 13:12:25.159175565 -0400
@@ -33,7 +33,7 @@ namespace Gpx
private Clutter.Color waypoint_color;

/* Marker */
- private Champlain.Marker click_marker = null;
+ private Champlain.Label click_marker = null;

/**
* Show marker at Point
@@ -49,7 +49,13 @@ namespace Gpx
{
var path = info.get_filename();
if(path != null){
- click_marker = new Champlain.Marker.from_file(path);
+ try
+ {
+ click_marker = new Champlain.Label.from_file(path);
+ }
+ catch (GLib.Error err) {
+ warning ("%s", err.message);
+ }
click_marker.draw_background = false;
}
}
@@ -59,14 +65,14 @@ namespace Gpx


}
- click_marker.set_position((float)p.lat_dec,(float) p.lon_dec);
+ click_marker.set_location(p.lat_dec,p.lon_dec);
click_marker.show();
}
public void click_marker_ensure_visible()
{
if(click_marker != null) {
- Champlain.BaseMarker[2]? marker = {click_marker, null};
- this.view.ensure_markers_visible(marker,false);
+ Champlain.Marker[2]? marker = {click_marker, null};
+ this.view.ensure_layers_visible(false);
}
}
public void click_marker_hide()
@@ -77,7 +83,7 @@ namespace Gpx


/* Waypoint layer */
- private Champlain.Layer waypoint_layer = new Champlain.Layer();
+ private Champlain.MarkerLayer waypoint_layer = new Champlain.MarkerLayer();
private bool _show_waypoints = false;
public bool show_waypoints {
get { return _show_waypoints;}
@@ -93,12 +99,12 @@ namespace Gpx

public void add_waypoint(Gpx.Point p)
{
- Champlain.Marker marker = new Marker.with_text(p.name, "Serif 12", null, waypoint_color);
- marker.set_position(p.lat_dec, p.lon_dec);
- waypoint_layer.add(marker);
+ Champlain.Label marker = new Champlain.Label.with_text(p.name, "Serif 12", null, waypoint_color);
+ marker.set_location(p.lat_dec, p.lon_dec);
+ waypoint_layer.add_marker(marker);
}
/* Marker layer */
- private Champlain.Layer marker_layer = new Champlain.Layer();
+ private Champlain.MarkerLayer marker_layer = new Champlain.MarkerLayer();

private bool _show_markers = false;
public bool show_markers {
@@ -112,9 +118,9 @@ namespace Gpx
}
}

- public void add_marker(BaseMarker marker)
+ public void add_marker(Marker marker)
{
- marker_layer.add(marker);
+ marker_layer.add_marker(marker);
}


@@ -147,13 +153,11 @@ namespace Gpx

/* Do default setup of the view. */
/* We want kinetic scroling. */
- view.scroll_mode = Champlain.ScrollMode.KINETIC;
- /* We do want to show the scale */
- view.show_scale = true;
+ view.set_kinetic_mode(true);

/* Create a ListStore with all the available maps. Used for selectors */
- var fact= Champlain.MapSourceFactory.dup_default();
- var l = fact.dup_list();
+ var fact = Champlain.MapSourceFactory.dup_default();
+ var l = fact.get_registered();
foreach(weak MapSourceDesc a in l)
{
Gtk.TreeIter iter;
@@ -182,14 +186,12 @@ namespace Gpx
{
if(event.button == 2 || event.button == 3)
{
- double lat,lon;
+ double lat = view.y_to_latitude(event.y);
+ double lon = view.x_to_longitude(event.x);
unowned Clutter.Event e = Clutter.get_current_event();
- if(view.get_coords_from_event(e, out lat, out lon))
- {
- clicked(lat,lon);
- stdout.printf("button release event: %f %f
",lat,lon);
- return true;
- }
+ clicked(lat,lon);
+ stdout.printf("button release event: %f %f
",lat,lon);
+ return true;
}
return false;
}
@@ -233,7 +235,7 @@ namespace Gpx
*
* Fired when the zoomlevel changed.
*/
- signal void zoom_level_changed(int zoom, int min_zoom, int max_zoom);
+ signal void zoom_level_changed(uint zoom, uint min_zoom, uint max_zoom);

}

diff -up gpx-viewer/vapi/champlain-0.10.vapi.BAD gpx-viewer/vapi/champlain-0.10.vapi
--- gpx-viewer/vapi/champlain-0.10.vapi.BAD 2011-04-27 16:31:36.931016304 -0400
+++ gpx-viewer/vapi/champlain-0.10.vapi 2011-04-27 12:45:33.867229039 -0400
@@ -0,0 +1,754 @@
+/* champlain-0.10.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Champlain", lower_case_cprefix = "champlain_", gir_namespace = "Champlain", gir_version = "0.10")]
+namespace Champlain {
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Adjustment : GLib.Object {
+ public Champlain.AdjustmentPrivate priv;
+ [CCode (has_construct_function = false)]
+ public Adjustment (double value, double lower, double upper, double step_increment, double page_increment, double page_size);
+ public bool clamp (bool interpolate, uint n_frames, uint fps);
+ public bool get_elastic ();
+ public double get_value ();
+ public void get_values (double value, double lower, double upper, double step_increment, double page_increment, double page_size);
+ public void interpolate (double value, uint n_frames, uint fps);
+ public void interpolate_stop ();
+ public void set_elastic (bool elastic);
+ public void set_value (double value);
+ public void set_values (double value, double lower, double upper, double step_increment, double page_increment, double page_size);
+ public bool elastic { get; set; }
+ [NoAccessorMethod]
+ public double lower { get; set; }
+ [NoAccessorMethod]
+ public double page_increment { get; set; }
+ [NoAccessorMethod]
+ public double page_size { get; set; }
+ [NoAccessorMethod]
+ public double step_increment { get; set; }
+ [NoAccessorMethod]
+ public double upper { get; set; }
+ public double value { get; set; }
+ public virtual signal void changed ();
+ }
+ [Compact]
+ [CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "champlain_bounding_box_get_type ()", cheader_filename = "champlain/champlain.h")]
+ public class BoundingBox {
+ public double bottom;
+ public double left;
+ public double right;
+ public double top;
+ public void compose (Champlain.BoundingBox other);
+ public Champlain.BoundingBox copy ();
+ public void extend (double latitude, double longitude);
+ public void free ();
+ public void get_center (out double latitude, out double longitude);
+ public bool is_valid ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Coordinate : GLib.InitiallyUnowned, Champlain.Location {
+ public Champlain.CoordinatePrivate priv;
+ [CCode (has_construct_function = false)]
+ public Coordinate ();
+ [CCode (has_construct_function = false)]
+ public Coordinate.full (double latitude, double longitude);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class CustomMarker : Champlain.Marker, Atk.Implementor, Champlain.Location, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ public Champlain.CustomMarkerPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public CustomMarker ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class ErrorTileRenderer : Champlain.Renderer {
+ public Champlain.ErrorTileRendererPrivate priv;
+ [CCode (has_construct_function = false)]
+ public ErrorTileRenderer (uint tile_size);
+ public uint get_tile_size ();
+ public void set_tile_size (uint size);
+ public uint tile_size { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class FileCache : Champlain.TileCache {
+ public Champlain.FileCachePrivate priv;
+ [CCode (has_construct_function = false)]
+ public FileCache.full (uint size_limit, string? cache_dir, Champlain.Renderer renderer);
+ public unowned string get_cache_dir ();
+ public uint get_size_limit ();
+ public void purge ();
+ public void purge_on_idle ();
+ public void set_size_limit (uint size_limit);
+ public string cache_dir { get; construct; }
+ public uint size_limit { get; set construct; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class FileTileSource : Champlain.TileSource {
+ [CCode (has_construct_function = false)]
+ public FileTileSource.full (string id, string name, string license, string license_uri, uint min_zoom, uint max_zoom, uint tile_size, Champlain.MapProjection projection, Champlain.Renderer renderer);
+ public void load_map_data (string map_path);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class ImageRenderer : Champlain.Renderer {
+ public Champlain.ImageRendererPrivate priv;
+ [CCode (has_construct_function = false)]
+ public ImageRenderer ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class KineticScrollView : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ public Champlain.KineticScrollViewPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public KineticScrollView (bool kinetic);
+ public void stop ();
+ [NoAccessorMethod]
+ public double decel_rate { get; set; }
+ [NoAccessorMethod]
+ public bool mode { get; set; }
+ [NoAccessorMethod]
+ public uint motion_buffer { get; set; }
+ public signal void panning_completed ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Label : Champlain.Marker, Atk.Implementor, Champlain.Location, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.LabelPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Label ();
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Label.from_file (string filename) throws GLib.Error;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Label.full (string text, Clutter.Actor actor);
+ public Pango.Alignment get_alignment ();
+ public Pango.AttrList get_attributes ();
+ public Clutter.Color get_color ();
+ public bool get_draw_background ();
+ public Pango.EllipsizeMode get_ellipsize ();
+ public unowned string get_font_name ();
+ public unowned Clutter.Actor get_image ();
+ public bool get_single_line_mode ();
+ public unowned string get_text ();
+ public Clutter.Color get_text_color ();
+ public bool get_use_markup ();
+ public bool get_wrap ();
+ public Pango.WrapMode get_wrap_mode ();
+ public void set_alignment (Pango.Alignment alignment);
+ public void set_attributes (Pango.AttrList list);
+ public void set_color (Clutter.Color? color);
+ public void set_draw_background (bool background);
+ public void set_ellipsize (Pango.EllipsizeMode mode);
+ public void set_font_name (string? font_name);
+ public void set_image (Clutter.Actor? image);
+ public void set_single_line_mode (bool mode);
+ public void set_text (string text);
+ public void set_text_color (Clutter.Color? color);
+ public void set_use_markup (bool use_markup);
+ public void set_wrap (bool wrap);
+ public void set_wrap_mode (Pango.WrapMode wrap_mode);
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Label.with_image (Clutter.Actor actor);
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Label.with_text (string text, string? font, Clutter.Color? text_color, Clutter.Color? label_color);
+ public Pango.Alignment alignment { get; set; }
+ public Clutter.Color color { get; set; }
+ public bool draw_background { get; set; }
+ public Pango.EllipsizeMode ellipsize { get; set; }
+ public string font_name { get; set; }
+ public Clutter.Actor image { get; set; }
+ public bool single_line_mode { get; set; }
+ public string text { get; set; }
+ public Clutter.Color text_color { get; set; }
+ public bool use_markup { get; set; }
+ public bool wrap { get; set; }
+ public Pango.WrapMode wrap_mode { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Layer : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public virtual Champlain.BoundingBox get_bounding_box ();
+ public virtual void set_view (Champlain.View view);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class License : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.LicensePrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public License ();
+ public void connect_view (Champlain.View view);
+ public void disconnect_view ();
+ public Pango.Alignment get_alignment ();
+ public unowned string get_extra_text ();
+ public void set_alignment (Pango.Alignment alignment);
+ public void set_extra_text (string text);
+ public Pango.Alignment alignment { get; set; }
+ public string extra_text { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MapSource : GLib.InitiallyUnowned {
+ public Champlain.MapSourcePrivate priv;
+ public virtual void fill_tile (Champlain.Tile tile);
+ public uint get_column_count (uint zoom_level);
+ public virtual unowned string get_id ();
+ public double get_latitude (uint zoom_level, double y);
+ public virtual unowned string get_license ();
+ public virtual unowned string get_license_uri ();
+ public double get_longitude (uint zoom_level, double x);
+ public virtual uint get_max_zoom_level ();
+ public double get_meters_per_pixel (uint zoom_level, double latitude, double longitude);
+ public virtual uint get_min_zoom_level ();
+ public virtual unowned string get_name ();
+ public unowned Champlain.MapSource get_next_source ();
+ public virtual Champlain.MapProjection get_projection ();
+ public unowned Champlain.Renderer get_renderer ();
+ public uint get_row_count (uint zoom_level);
+ public virtual uint get_tile_size ();
+ public double get_x (uint zoom_level, double longitude);
+ public double get_y (uint zoom_level, double latitude);
+ public void set_next_source (Champlain.MapSource next_source);
+ public void set_renderer (Champlain.Renderer renderer);
+ public Champlain.MapSource next_source { get; set; }
+ public Champlain.Renderer renderer { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MapSourceChain : Champlain.MapSource {
+ public Champlain.MapSourceChainPrivate priv;
+ [CCode (has_construct_function = false)]
+ public MapSourceChain ();
+ public void pop ();
+ public void push (Champlain.MapSource map_source);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MapSourceDesc : GLib.Object {
+ public Champlain.MapSourceDescPrivate priv;
+ public void* get_data ();
+ public unowned string get_id ();
+ public unowned string get_license ();
+ public unowned string get_license_uri ();
+ public uint get_max_zoom_level ();
+ public uint get_min_zoom_level ();
+ public unowned string get_name ();
+ public Champlain.MapProjection get_projection ();
+ public uint get_tile_size ();
+ public unowned string get_uri_format ();
+ [NoAccessorMethod]
+ public void* constructor { get; construct; }
+ public void* data { get; construct; }
+ public string id { get; construct; }
+ public string license { get; construct; }
+ public string license_uri { get; construct; }
+ public uint max_zoom_level { get; construct; }
+ public uint min_zoom_level { get; construct; }
+ public string name { get; construct; }
+ public uint tile_size { get; construct; }
+ public string uri_format { get; construct; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MapSourceFactory : GLib.Object {
+ public Champlain.MapSourceFactoryPrivate priv;
+ public Champlain.MapSource create (string id);
+ public Champlain.MapSource create_cached_source (string id);
+ public Champlain.MapSource create_error_source (uint tile_size);
+ public static Champlain.MapSourceFactory dup_default ();
+ public GLib.SList<weak Champlain.MapSourceDesc> get_registered ();
+ public bool register (Champlain.MapSourceDesc desc);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Marker : Clutter.Actor, Atk.Implementor, Champlain.Location, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.MarkerPrivate priv;
+ public void animate_in ();
+ public void animate_in_with_delay (uint delay);
+ public void animate_out ();
+ public void animate_out_with_delay (uint delay);
+ public bool get_draggable ();
+ public bool get_selectable ();
+ public bool get_selected ();
+ public static Clutter.Color get_selection_color ();
+ public static Clutter.Color get_selection_text_color ();
+ public void set_draggable (bool value);
+ public void set_selectable (bool value);
+ public void set_selected (bool value);
+ public static void set_selection_color (Clutter.Color color);
+ public static void set_selection_text_color (Clutter.Color color);
+ public bool draggable { get; set; }
+ public bool selectable { get; set; }
+ public bool selected { get; set; }
+ public signal void button_press (Clutter.Event since);
+ public signal void button_release (Clutter.Event since);
+ public signal void drag_finish (Clutter.Event since);
+ public signal void drag_motion (double dy, double event, Clutter.Event since);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MarkerLayer : Champlain.Layer, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.MarkerLayerPrivate priv;
+ [CCode (has_construct_function = false)]
+ public MarkerLayer ();
+ public void add_marker (Champlain.Marker marker);
+ public void animate_in_all_markers ();
+ public void animate_out_all_markers ();
+ [CCode (has_construct_function = false)]
+ public MarkerLayer.full (Champlain.SelectionMode mode);
+ public GLib.List<weak Champlain.Marker> get_markers ();
+ public GLib.List<weak Champlain.Marker> get_selected ();
+ public Champlain.SelectionMode get_selection_mode ();
+ public void hide_all_markers ();
+ public void remove_all ();
+ public void remove_marker (Champlain.Marker marker);
+ public void select_all_markers ();
+ public void set_all_markers_draggable ();
+ public void set_all_markers_undraggable ();
+ public void set_selection_mode (Champlain.SelectionMode mode);
+ public void show_all_markers ();
+ public void unselect_all_markers ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MemoryCache : Champlain.TileCache {
+ public Champlain.MemoryCachePrivate priv;
+ public void clean ();
+ [CCode (has_construct_function = false)]
+ public MemoryCache.full (uint size_limit, Champlain.Renderer renderer);
+ public uint get_size_limit ();
+ public void set_size_limit (uint size_limit);
+ public uint size_limit { get; set construct; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class MemphisRenderer : Champlain.Renderer {
+ public Champlain.MemphisRendererPrivate priv;
+ [CCode (has_construct_function = false)]
+ public MemphisRenderer.full (uint tile_size);
+ public Clutter.Color get_background_color ();
+ public Champlain.BoundingBox get_bounding_box ();
+ public GLib.List<string> get_rule_ids ();
+ public uint get_tile_size ();
+ public void load_rules (string rules_path);
+ public void remove_rule (string id);
+ public void set_background_color (Clutter.Color color);
+ public void set_rule (Champlain.MemphisRule rule);
+ public void set_tile_size (uint size);
+ public Champlain.BoundingBox bounding_box { get; set; }
+ public uint tile_size { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class NetworkBboxTileSource : Champlain.TileSource {
+ public Champlain.NetworkBboxTileSourcePrivate priv;
+ [CCode (has_construct_function = false)]
+ public NetworkBboxTileSource.full (string id, string name, string license, string license_uri, uint min_zoom, uint max_zoom, uint tile_size, Champlain.MapProjection projection, Champlain.Renderer renderer);
+ public unowned string get_api_uri ();
+ public void load_map_data (Champlain.BoundingBox bbox);
+ public void set_api_uri (string api_uri);
+ public string api_uri { get; set; }
+ [NoAccessorMethod]
+ public string proxy_uri { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class NetworkTileSource : Champlain.TileSource {
+ public Champlain.NetworkTileSourcePrivate priv;
+ [CCode (has_construct_function = false)]
+ public NetworkTileSource.full (string id, string name, string license, string license_uri, uint min_zoom, uint max_zoom, uint tile_size, Champlain.MapProjection projection, string uri_format, Champlain.Renderer renderer);
+ public bool get_offline ();
+ public unowned string get_proxy_uri ();
+ public unowned string get_uri_format ();
+ public void set_offline (bool offline);
+ public void set_proxy_uri (string proxy_uri);
+ public void set_uri_format (string uri_format);
+ public bool offline { get; set; }
+ public string proxy_uri { get; set; }
+ public string uri_format { get; set construct; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class NullTileSource : Champlain.TileSource {
+ [CCode (has_construct_function = false)]
+ public NullTileSource.full (Champlain.Renderer renderer);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class PathLayer : Champlain.Layer, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.PathLayerPrivate priv;
+ [CCode (has_construct_function = false)]
+ public PathLayer ();
+ public void add_node (Champlain.Location location);
+ public bool get_closed ();
+ public bool get_fill ();
+ public Clutter.Color get_fill_color ();
+ public GLib.List<weak Champlain.Location> get_nodes ();
+ public bool get_stroke ();
+ public Clutter.Color get_stroke_color ();
+ public double get_stroke_width ();
+ public bool get_visible ();
+ public void insert_node (Champlain.Location location, uint position);
+ public void remove_all ();
+ public void remove_node (Champlain.Location location);
+ public void set_closed (bool value);
+ public void set_fill (bool value);
+ public void set_fill_color (Clutter.Color? color);
+ public void set_stroke (bool value);
+ public void set_stroke_color (Clutter.Color? color);
+ public void set_stroke_width (double value);
+ public void set_visible (bool value);
+ public bool closed { get; set; }
+ public bool fill { get; set; }
+ public Clutter.Color fill_color { get; set; }
+ public bool stroke { get; set; }
+ public Clutter.Color stroke_color { get; set; }
+ public double stroke_width { get; set; }
+ public bool visible { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Point : Champlain.Marker, Atk.Implementor, Champlain.Location, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.PointPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Point ();
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Point.full (double size, Clutter.Color color);
+ public Clutter.Color get_color ();
+ public double get_size ();
+ public void set_color (Clutter.Color? color);
+ public void set_size (double size);
+ public Clutter.Color color { get; set; }
+ public double size { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Renderer : GLib.InitiallyUnowned {
+ public virtual void render (Champlain.Tile tile);
+ public virtual void set_data (string data, uint size);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Scale : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.ScalePrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Scale ();
+ public void connect_view (Champlain.View view);
+ public void disconnect_view ();
+ public uint get_max_width ();
+ public Champlain.Unit get_unit ();
+ public void set_max_width (uint value);
+ public void set_unit (Champlain.Unit unit);
+ public uint max_width { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Tile : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.TilePrivate priv;
+ [CCode (has_construct_function = false)]
+ public Tile ();
+ public void display_content ();
+ [CCode (has_construct_function = false)]
+ public Tile.full (uint x, uint y, uint size, uint zoom_level);
+ public unowned Clutter.Actor get_content ();
+ public unowned string get_etag ();
+ public bool get_fade_in ();
+ public GLib.TimeVal get_modified_time ();
+ public uint get_size ();
+ public Champlain.State get_state ();
+ public uint get_x ();
+ public uint get_y ();
+ public uint get_zoom_level ();
+ public void set_content (Clutter.Actor actor);
+ public void set_etag (string etag);
+ public void set_fade_in (bool fade_in);
+ public void set_modified_time (GLib.TimeVal time);
+ public void set_size (uint size);
+ public void set_state (Champlain.State state);
+ public void set_x (uint x);
+ public void set_y (uint y);
+ public void set_zoom_level (uint zoom_level);
+ public Clutter.Actor content { get; set; }
+ public string etag { get; set; }
+ public bool fade_in { get; set; }
+ public uint size { get; set; }
+ public uint x { get; set; }
+ public uint y { get; set; }
+ public uint zoom_level { get; set; }
+ public signal void render_complete (void* data, uint size, bool error);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class TileCache : Champlain.MapSource {
+ public Champlain.TileCachePrivate priv;
+ public virtual void on_tile_filled (Champlain.Tile tile);
+ public virtual void refresh_tile_time (Champlain.Tile tile);
+ public virtual void store_tile (Champlain.Tile tile, string contents, size_t size);
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class TileSource : Champlain.MapSource {
+ public Champlain.TileSourcePrivate priv;
+ public unowned Champlain.TileCache get_cache ();
+ public void set_cache (Champlain.TileCache cache);
+ public void set_id (string id);
+ public void set_license (string license);
+ public void set_license_uri (string license_uri);
+ public void set_max_zoom_level (uint zoom_level);
+ public void set_min_zoom_level (uint zoom_level);
+ public void set_name (string name);
+ public void set_projection (Champlain.MapProjection projection);
+ public void set_tile_size (uint tile_size);
+ public Champlain.TileCache cache { get; set; }
+ [NoAccessorMethod]
+ public string id { get; set construct; }
+ [NoAccessorMethod]
+ public string license { get; set construct; }
+ [NoAccessorMethod]
+ public string license_uri { get; set construct; }
+ [NoAccessorMethod]
+ public uint max_zoom_level { get; set construct; }
+ [NoAccessorMethod]
+ public uint min_zoom_level { get; set construct; }
+ [NoAccessorMethod]
+ public string name { get; set construct; }
+ [NoAccessorMethod]
+ public uint tile_size { get; set construct; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class View : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.ViewPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public View ();
+ public void add_layer (Champlain.Layer layer);
+ public void bin_layout_add (Clutter.Actor child, Clutter.BinAlignment x_align, Clutter.BinAlignment y_align);
+ public void center_on (double latitude, double longitude);
+ public void ensure_layers_visible (bool animate);
+ public void ensure_visible (Champlain.BoundingBox bbox, bool animate);
+ public double get_center_latitude ();
+ public double get_center_longitude ();
+ public double get_deceleration ();
+ public bool get_keep_center_on_resize ();
+ public bool get_kinetic_mode ();
+ public unowned Champlain.License get_license_actor ();
+ public unowned Champlain.MapSource get_map_source ();
+ public uint get_max_zoom_level ();
+ public uint get_min_zoom_level ();
+ public Champlain.State get_state ();
+ public void get_viewport_origin (out int x, out int y);
+ public uint get_zoom_level ();
+ public bool get_zoom_on_double_click ();
+ public void go_to (double latitude, double longitude);
+ public double latitude_to_y (double latitude);
+ public double longitude_to_x (double longitude);
+ public void reload_tiles ();
+ public void remove_layer (Champlain.Layer layer);
+ public void set_deceleration (double rate);
+ public void set_keep_center_on_resize (bool value);
+ public void set_kinetic_mode (bool kinetic);
+ public void set_map_source (Champlain.MapSource map_source);
+ public void set_max_zoom_level (uint zoom_level);
+ public void set_min_zoom_level (uint zoom_level);
+ public void set_zoom_level (uint zoom_level);
+ public void set_zoom_on_double_click (bool value);
+ public void stop_go_to ();
+ public double x_to_longitude (double x);
+ public double y_to_latitude (double y);
+ public void zoom_in ();
+ public void zoom_out ();
+ public double deceleration { get; set; }
+ public bool keep_center_on_resize { get; set; }
+ public bool kinetic_mode { get; set; }
+ [NoAccessorMethod]
+ public double latitude { get; set; }
+ [NoAccessorMethod]
+ public double longitude { get; set; }
+ public Champlain.MapSource map_source { get; set; }
+ public uint max_zoom_level { get; set; }
+ public uint min_zoom_level { get; set; }
+ public uint zoom_level { get; set; }
+ public bool zoom_on_double_click { get; set; }
+ public signal void animation_completed ();
+ public signal void layer_relocated ();
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public class Viewport : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Scriptable {
+ public Champlain.ViewportPrivate priv;
+ [CCode (type = "ClutterActor*", has_construct_function = false)]
+ public Viewport ();
+ public void get_adjustments (Champlain.Adjustment hadjustment, Champlain.Adjustment vadjustment);
+ public void get_origin (float x, float y);
+ public void set_adjustments (Champlain.Adjustment hadjustment, Champlain.Adjustment vadjustment);
+ public void set_child (Clutter.Actor child);
+ public void set_origin (float x, float y);
+ public void stop ();
+ [NoAccessorMethod]
+ public Champlain.Adjustment hadjustment { get; set; }
+ [NoAccessorMethod]
+ public bool sync_adjustments { get; set; }
+ [NoAccessorMethod]
+ public Champlain.Adjustment vadjustment { get; set; }
+ [NoAccessorMethod]
+ public int x_origin { get; set; }
+ [NoAccessorMethod]
+ public int y_origin { get; set; }
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public interface Location : GLib.Object {
+ public abstract double get_latitude ();
+ public abstract double get_longitude ();
+ public abstract void set_location (double latitude, double longitude);
+ public double latitude { get; set; }
+ public double longitude { get; set; }
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_ADJUSTMENT_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct AdjustmentPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_COORDINATE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct CoordinatePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_CUSTOM_MARKER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct CustomMarkerPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_ERROR_TILE_RENDERER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct ErrorTileRendererPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_FILE_CACHE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct FileCachePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_FILE_TILE_SOURCE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct FileTileSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_IMAGE_RENDERER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct ImageRendererPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_KINETIC_SCROLL_VIEW_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct KineticScrollViewPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_LABEL_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct LabelPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_LICENSE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct LicensePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MAP_SOURCE_CHAIN_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MapSourceChainPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MAP_SOURCE_DESC_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MapSourceDescPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MAP_SOURCE_FACTORY_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MapSourceFactoryPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MAP_SOURCE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MapSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MARKER_LAYER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MarkerLayerPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MARKER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MarkerPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MEMORY_CACHE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MemoryCachePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MEMPHIS_RENDERER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct MemphisRendererPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MEMPHIS_RULE", cheader_filename = "champlain/champlain.h")]
+ public struct MemphisRule {
+ public weak string keys;
+ public weak string values;
+ public Champlain.MemphisRuleType type;
+ public Champlain.MemphisRuleAttr polygon;
+ public Champlain.MemphisRuleAttr line;
+ public Champlain.MemphisRuleAttr border;
+ public Champlain.MemphisRuleAttr text;
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_MEMPHIS_RULE_ATTR", cheader_filename = "champlain/champlain.h")]
+ public struct MemphisRuleAttr {
+ public uint8 z_min;
+ public uint8 z_max;
+ public uint8 color_red;
+ public uint8 color_green;
+ public uint8 color_blue;
+ public uint8 color_alpha;
+ public weak string style;
+ public double size;
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_NETWORK_BBOX_TILE_SOURCE_PRIVA TE", cheader_filename = "champlain/champlain.h")]
+ public struct NetworkBboxTileSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_NETWORK_TILE_SOURCE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct NetworkTileSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_NULL_TILE_SOURCE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct NullTileSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_PATH_LAYER_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct PathLayerPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_POINT_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct PointPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_SCALE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct ScalePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_TILE_CACHE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct TileCachePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_TILE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct TilePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_TILE_SOURCE_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct TileSourcePrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_VIEW_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct ViewPrivate {
+ }
+ [CCode (type_id = "CHAMPLAIN_TYPE_VIEWPORT_PRIVATE", cheader_filename = "champlain/champlain.h")]
+ public struct ViewportPrivate {
+ }
+ [CCode (cprefix = "CHAMPLAIN_MAP_PROJECTION_", cheader_filename = "champlain/champlain.h")]
+ public enum MapProjection {
+ [CCode (cname = "CHAMPLAIN_MAP_PROJECTION_MERCATOR")]
+ MAP_PROJECTION_MERCATOR
+ }
+ [CCode (cprefix = "CHAMPLAIN_MEMPHIS_RULE_TYPE_", cheader_filename = "champlain/champlain.h")]
+ public enum MemphisRuleType {
+ UNKNOWN,
+ NODE,
+ WAY,
+ RELATION
+ }
+ [CCode (cprefix = "CHAMPLAIN_SELECTION_", cheader_filename = "champlain/champlain.h")]
+ public enum SelectionMode {
+ NONE,
+ SINGLE,
+ MULTIPLE
+ }
+ [CCode (cprefix = "CHAMPLAIN_STATE_", cheader_filename = "champlain/champlain.h")]
+ public enum State {
+ NONE,
+ LOADING,
+ LOADED,
+ DONE
+ }
+ [CCode (cprefix = "CHAMPLAIN_UNIT_", cheader_filename = "champlain/champlain.h")]
+ public enum Unit {
+ KM,
+ MILES
+ }
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const int MAJOR_VERSION;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_MEMPHIS_LOCAL;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_MEMPHIS_NETWORK;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_MFF_RELIEF;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OAM;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OSM_CYCLE_MAP;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OSM_MAPNIK;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OSM_MAPQUEST;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OSM_OSMARENDER;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string MAP_SOURCE_OSM_TRANSPORT_MAP;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const double MAX_LATITUDE;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const double MAX_LONGITUDE;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const int MICRO_VERSION;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const int MINOR_VERSION;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const double MIN_LATITUDE;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const double MIN_LONGITUDE;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const double VERSION;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const int VERSION_HEX;
+ [CCode (cheader_filename = "champlain/champlain.h")]
+ public const string VERSION_S;
+}
+
diff -up gpx-viewer/vapi/champlain-gtk-0.10.vapi.BAD gpx-viewer/vapi/champlain-gtk-0.10.vapi
--- gpx-viewer/vapi/champlain-gtk-0.10.vapi.BAD 2011-04-27 16:31:43.229947707 -0400
+++ gpx-viewer/vapi/champlain-gtk-0.10.vapi 2011-04-27 13:21:48.370221375 -0400
@@ -0,0 +1,18 @@
+/* champlain-gtk-0.10.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "GtkChamplain", lower_case_cprefix = "gtk_champlain_", gir_namespace = "GtkChamplain", gir_version = "0.10")]
+namespace GtkChamplain {
+ [CCode (cheader_filename = "champlain-gtk/champlain-gtk.h", type_id="GTK_TYPE_CHAMPLAIN_EMBED")]
+ public class Embed : Gtk.Alignment, Atk.Implementor, Gtk.Buildable {
+ public GtkChamplain.EmbedPrivate priv;
+ [CCode (type = "GtkWidget*", has_construct_function = false)]
+ public Embed ();
+ public unowned Champlain.View get_view ();
+ [NoAccessorMethod]
+ public Champlain.View champlain_view { get; }
+ }
+ [CCode (type_id = "GTK_CHAMPLAIN_TYPE_EMBED_PRIVATE", cheader_filename = "champlain-gtk/champlain-gtk.h")]
+ public struct EmbedPrivate {
+ }
+}
+
diff -up gpx-viewer/vapi/unique-3.0.vapi.BAD gpx-viewer/vapi/unique-3.0.vapi
--- gpx-viewer/vapi/unique-3.0.vapi.BAD 2011-04-26 23:08:43.139089927 -0400
+++ gpx-viewer/vapi/unique-3.0.vapi 2011-04-26 23:08:34.981210950 -0400
@@ -0,0 +1,93 @@
+/* unique-3.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Unique", lower_case_cprefix = "unique_")]
+namespace Unique {
+ [CCode (cheader_filename = "uniqueapp.h")]
+ public class App : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public App (string name, string startup_id);
+ public void add_command (string command_name, int command_id);
+ public bool is_running ();
+ public Unique.Response send_message (int command_id, Unique.MessageData message_data);
+ public void watch_window (Gtk.Window window);
+ [CCode (has_construct_function = false)]
+ public
 

Thread Tools




All times are GMT. The time now is 01:21 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org