(VikLayerFuncDraw) mapnik_layer_draw,
(VikLayerFuncChangeCoordMode) NULL,
+ (VikLayerFuncGetTimestamp) NULL,
+
(VikLayerFuncSetMenuItemsSelection) NULL,
(VikLayerFuncGetMenuItemsSelection) NULL,
/**
* vik_mapnik_layer_init:
*
- * Mostly to initialize preferences
+ * Just initialize preferences
*/
void vik_mapnik_layer_init (void)
{
tmp.s = "carto";
a_preferences_register(&prefs[i++], tmp, MAPNIK_PREFS_GROUP_KEY);
+}
+/**
+ * vik_mapnik_layer_post_init:
+ *
+ * Initialize data structures - now that reading preferences is OK to perform
+ */
+void vik_mapnik_layer_post_init (void)
+{
tp_mutex = vik_mutex_new();
// Just storing keys only
return;
}
+ if ( vml->mi ) {
+ gchar *copyright = mapnik_interface_get_copyright ( vml->mi );
+ if ( copyright ) {
+ vik_viewport_add_copyright ( vvp, copyright );
+ }
+ }
+
VikCoord ul, br;
ul.mode = VIK_COORD_LATLON;
br.mode = VIK_COORD_LATLON;
mapnik_layer_draw ( vml, vvp );
}
+/**
+ * Show Mapnik configuration parameters
+ */
+static void mapnik_layer_information ( menu_array_values values )
+{
+ VikMapnikLayer *vml = values[MA_VML];
+ if ( !vml->mi )
+ return;
+ GArray *array = mapnik_interface_get_parameters( vml->mi );
+ if ( array->len ) {
+ a_dialog_list ( VIK_GTK_WINDOW_FROM_LAYER(vml), _("Mapnik Information"), array, 1 );
+ // Free the copied strings
+ for ( int i = 0; i < array->len; i++ )
+ g_free ( g_array_index(array,gchar*,i) );
+ }
+ g_array_free ( array, FALSE );
+}
+
/**
*
*/
gtk_widget_show ( item );
}
+ item = gtk_image_menu_item_new_from_stock ( GTK_STOCK_INFO, NULL );
+ g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(mapnik_layer_information), values );
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show ( item );
+
item = gtk_image_menu_item_new_from_stock ( GTK_STOCK_ABOUT, NULL );
g_signal_connect_swapped ( G_OBJECT(item), "activate", G_CALLBACK(mapnik_layer_about), values );
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);