comparison src/bar_gps.c @ 1733:b52deba688e9

Fix up compilation issues related to libchamplain. See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
author zas_
date Fri, 04 Sep 2009 15:53:04 +0000
parents fc147a2d8aaf
children a4f3c93294c9
comparison
equal deleted inserted replaced
1732:a2dc83823432 1733:b52deba688e9
342 void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id) 342 void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id)
343 { 343 {
344 ChamplainMapSource *map_source; 344 ChamplainMapSource *map_source;
345 ChamplainMapSourceFactory *map_factory; 345 ChamplainMapSourceFactory *map_factory;
346 346
347 #if CHAMPLAIN_CHECK_VERSION(0,3,2)
348 map_factory = champlain_map_source_factory_dup_default();
349 #else
347 map_factory = champlain_map_source_factory_get_default(); 350 map_factory = champlain_map_source_factory_get_default();
351 #endif
348 map_source = champlain_map_source_factory_create(map_factory, map_id); 352 map_source = champlain_map_source_factory_create(map_factory, map_id);
349 353
350 if (map_source != NULL) 354 if (map_source != NULL)
351 { 355 {
352 g_object_set(G_OBJECT(pgd->gps_view), "map-source", map_source, NULL); 356 g_object_set(G_OBJECT(pgd->gps_view), "map-source", map_source, NULL);
486 g_object_unref(mapsource); 490 g_object_unref(mapsource);
487 491
488 } 492 }
489 493
490 static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider, 494 static void bar_pane_gps_slider_changed_cb(GtkScaleButton *slider,
491 gdouble zoom, 495 gdouble zoom,
492 gpointer data) 496 gpointer data)
493 { 497 {
494 PaneGPSData *pgd = data; 498 PaneGPSData *pgd = data;
495 GString *message; 499 GString *message;
496 500
497 message = g_string_new(""); 501 message = g_string_new("");
501 gtk_widget_set_tooltip_text(GTK_WIDGET(slider), message->str); 505 gtk_widget_set_tooltip_text(GTK_WIDGET(slider), message->str);
502 g_string_free(message, TRUE); 506 g_string_free(message, TRUE);
503 507
504 } 508 }
505 static void bar_pane_gps_view_state_changed_cb(ChamplainView *view, 509 static void bar_pane_gps_view_state_changed_cb(ChamplainView *view,
506 GParamSpec *gobject, 510 GParamSpec *gobject,
507 gpointer data) 511 gpointer data)
508 { 512 {
509 PaneGPSData *pgd = data; 513 PaneGPSData *pgd = data;
510 ChamplainState status; 514 ChamplainState status;
511 gint zoom; 515 gint zoom;
512 GString *message; 516 GString *message;
564 ChamplainMapSourceDesc *map_desc; 568 ChamplainMapSourceDesc *map_desc;
565 const gchar *current; 569 const gchar *current;
566 570
567 menu = popup_menu_short_lived(); 571 menu = popup_menu_short_lived();
568 572
573 #if CHAMPLAIN_CHECK_VERSION(0,3,2)
574 map_factory = champlain_map_source_factory_dup_default();
575 map_list = champlain_map_source_factory_dup_list(map_factory);
576 #else
569 map_factory = champlain_map_source_factory_get_default(); 577 map_factory = champlain_map_source_factory_get_default();
570 map_list = champlain_map_source_factory_get_list(map_factory); 578 map_list = champlain_map_source_factory_get_list(map_factory);
579 #endif
571 current = bar_pane_gps_get_map_id(pgd); 580 current = bar_pane_gps_get_map_id(pgd);
572 581
573 while (map_list) 582 while (map_list)
574 { 583 {
575 map_desc = (ChamplainMapSourceDesc *)(map_list->data); 584 map_desc = (ChamplainMapSourceDesc *)(map_list->data);
674 PaneGPSData *pgd; 683 PaneGPSData *pgd;
675 GtkWidget *vbox, *scrolled; 684 GtkWidget *vbox, *scrolled;
676 GtkWidget *gpswidget, *viewport; 685 GtkWidget *gpswidget, *viewport;
677 GtkWidget *status, *state, *progress, *slider; 686 GtkWidget *status, *state, *progress, *slider;
678 ChamplainLayer *layer; 687 ChamplainLayer *layer;
679 ClutterActor *view; 688 ChamplainView *view;
680 const gchar *slider_list[] = {GTK_STOCK_ZOOM_IN, GTK_STOCK_ZOOM_OUT, NULL}; 689 const gchar *slider_list[] = {GTK_STOCK_ZOOM_IN, GTK_STOCK_ZOOM_OUT, NULL};
681 const gchar **slider_icons = slider_list; 690 const gchar **slider_icons = slider_list;
682 691
683 pgd = g_new0(PaneGPSData, 1); 692 pgd = g_new0(PaneGPSData, 1);
684 693
694 703
695 scrolled = gtk_scrolled_window_new(NULL, NULL); 704 scrolled = gtk_scrolled_window_new(NULL, NULL);
696 vbox = gtk_vbox_new(FALSE, 0); 705 vbox = gtk_vbox_new(FALSE, 0);
697 706
698 #ifdef GTK_CHAMPLAIN_EMBED 707 #ifdef GTK_CHAMPLAIN_EMBED
699 gpswidget = gtk_champlain_embed_new (); 708 gpswidget = gtk_champlain_embed_new();
700 view = gtk_champlain_embed_get_view (GTK_CHAMPLAIN_EMBED (gpswidget)); 709 view = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(gpswidget));
701 #else 710 #else
702 view = champlain_view_new(); 711 view = champlain_view_new();
703 gpswidget = champlain_view_embed_new(CHAMPLAIN_VIEW(view)); 712 gpswidget = champlain_view_embed_new(view);
704 #endif 713 #endif
705 viewport = gtk_viewport_new(NULL, NULL); 714 viewport = gtk_viewport_new(NULL, NULL);
706 715
707 gtk_container_add(GTK_CONTAINER(viewport), gpswidget); 716 gtk_container_add(GTK_CONTAINER(viewport), gpswidget);
708 gtk_box_pack_start(GTK_BOX(vbox),viewport, TRUE, TRUE, 0); 717 gtk_box_pack_start(GTK_BOX(vbox),viewport, TRUE, TRUE, 0);
721 gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5); 730 gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5);
722 gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0); 731 gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0);
723 gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0); 732 gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0);
724 733
725 layer = champlain_layer_new(); 734 layer = champlain_layer_new();
726 champlain_view_add_layer(CHAMPLAIN_VIEW(view), layer); 735 champlain_view_add_layer(view, layer);
727 736
728 pgd->icon_layer = layer; 737 pgd->icon_layer = layer;
729 pgd->gps_view = view; 738 pgd->gps_view = CLUTTER_ACTOR(view);
730 pgd->widget = scrolled; 739 pgd->widget = scrolled;
731 pgd->progress = progress; 740 pgd->progress = progress;
732 pgd->slider = slider; 741 pgd->slider = slider;
733 pgd->state = state; 742 pgd->state = state;
734 743
735 bar_pane_gps_set_map_source(pgd, map_id); 744 bar_pane_gps_set_map_source(pgd, map_id);
736 745
737 g_object_set(G_OBJECT(CHAMPLAIN_VIEW(view)), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC, 746 g_object_set(G_OBJECT(view), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC,
738 "zoom-level", zoom, 747 "zoom-level", zoom,
739 "keep-center-on-resize", TRUE, 748 "keep-center-on-resize", TRUE,
740 "decel-rate", 1.0, 749 "decel-rate", 1.0,
741 "show-license", TRUE, 750 "show-license", TRUE,
742 "zoom-on-double-click", FALSE, 751 "zoom-on-double-click", FALSE,
743 "max-zoom-level", 17, 752 "max-zoom-level", 17,
744 "min-zoom-level", 1, 753 "min-zoom-level", 1,
745 NULL); 754 NULL);
746 champlain_view_center_on(CHAMPLAIN_VIEW(view), latitude, longitude); 755 champlain_view_center_on(view, latitude, longitude);
747 pgd->centre_map_checked = TRUE; 756 pgd->centre_map_checked = TRUE;
748 g_object_set_data(G_OBJECT(pgd->widget), "pane_data", pgd); 757 g_object_set_data(G_OBJECT(pgd->widget), "pane_data", pgd);
749 g_signal_connect(G_OBJECT(pgd->widget), "destroy", G_CALLBACK(bar_pane_gps_destroy), pgd); 758 g_signal_connect(G_OBJECT(pgd->widget), "destroy", G_CALLBACK(bar_pane_gps_destroy), pgd);
750 759
751 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); 760 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);