/*
* viking -- GPS Data and Topo Analyzer, Explorer, and Manager
*
- * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
+ * Copyright (C) 2005, Alex Foobarian <foobarian@gmail.com>
+ * Copyright (C) 2003-2007, Evan Battaglia <gtoevan@gmx.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
guint16 i, params_count = vik_layer_get_interface(vl->type)->params_count;
for ( i = 0; i < params_count; i++ )
{
- d = get_param(vl, i);
+ g_debug("%s: %s", __FUNCTION__, params[i].name);
+ d = get_param(vl, i, FALSE);
switch ( params[i].type )
{
case VIK_LAYER_PARAM_STRING:
guint16 i, params_count = vik_layer_get_interface(vl->type)->params_count;
for ( i = 0; i < params_count; i++ )
{
+ g_debug("%s: %s", __FUNCTION__, params[i].name);
switch ( params[i].type )
{
case VIK_LAYER_PARAM_STRING:
s[vlm_size]=0;
vlm_read(s);
d.s = s;
- set_param(vl, i, d, vvp);
+ set_param(vl, i, d, vvp, FALSE);
g_free(s);
break;
case VIK_LAYER_PARAM_STRING_LIST: {
list = g_list_append ( list, s );
}
d.sl = list;
- set_param ( vl, i, d, vvp );
+ set_param(vl, i, d, vvp, FALSE);
/* don't free -- string list is responsibility of the layer */
break;
}
default:
vlm_read(&d);
- set_param(vl, i, d, vvp);
+ set_param(vl, i, d, vvp, FALSE);
break;
}
}
return TRUE; /* if unknown, will always be visible */
}
+gboolean vik_layer_selected ( VikLayer *l, gint subtype, gpointer sublayer, gint type, gpointer vlp )
+{
+ if ( vik_layer_interfaces[l->type]->layer_selected )
+ return vik_layer_interfaces[l->type]->layer_selected ( l, subtype, sublayer, type, vlp );
+ /* Since no 'layer_selected' function explicitly turn off here */
+ return vik_window_clear_highlight ( (VikWindow *)VIK_GTK_WINDOW_FROM_LAYER(l) );
+}
+
void vik_layer_realize ( VikLayer *l, VikTreeview *vt, GtkTreeIter *layer_iter )
{
l->vt = vt;
vik_layer_interfaces[l->type]->add_menu_items ( l, menu, vlp );
}
-gboolean vik_layer_sublayer_add_menu_items ( VikLayer *l, GtkMenu *menu, gpointer vlp, gint subtype, gpointer sublayer, GtkTreeIter *iter )
+gboolean vik_layer_sublayer_add_menu_items ( VikLayer *l, GtkMenu *menu, gpointer vlp, gint subtype, gpointer sublayer, GtkTreeIter *iter, VikViewport *vvp )
{
if ( vik_layer_interfaces[l->type]->sublayer_add_menu_items )
- return vik_layer_interfaces[l->type]->sublayer_add_menu_items ( l, menu, vlp, subtype, sublayer, iter );
+ return vik_layer_interfaces[l->type]->sublayer_add_menu_items ( l, menu, vlp, subtype, sublayer, iter, vvp );
return FALSE;
}
return NULL;
}
+const gchar* vik_layer_sublayer_tooltip ( VikLayer *l, gint subtype, gpointer sublayer )
+{
+ if ( vik_layer_interfaces[l->type]->sublayer_tooltip )
+ return vik_layer_interfaces[l->type]->sublayer_tooltip ( l, subtype, sublayer );
+ return NULL;
+}
+
+const gchar* vik_layer_layer_tooltip ( VikLayer *l )
+{
+ if ( vik_layer_interfaces[l->type]->layer_tooltip )
+ return vik_layer_interfaces[l->type]->layer_tooltip ( l );
+ return NULL;
+}
+
GdkPixbuf *vik_layer_load_icon ( gint type )
{
g_assert ( type < VIK_LAYER_NUM_TYPES );
return NULL;
}
-gboolean vik_layer_set_param ( VikLayer *layer, guint16 id, VikLayerParamData data, gpointer vp )
+gboolean vik_layer_set_param ( VikLayer *layer, guint16 id, VikLayerParamData data, gpointer vp, gboolean is_file_operation )
{
if ( vik_layer_interfaces[layer->type]->set_param )
- return vik_layer_interfaces[layer->type]->set_param ( layer, id, data, vp );
+ return vik_layer_interfaces[layer->type]->set_param ( layer, id, data, vp, is_file_operation );
return FALSE;
}
static gboolean layer_properties_factory ( VikLayer *vl, VikViewport *vp )
{
- switch ( a_uibuilder_properties_factory ( VIK_GTK_WINDOW_FROM_WIDGET(vp),
+ switch ( a_uibuilder_properties_factory ( _("Layer Properties"),
+ VIK_GTK_WINDOW_FROM_WIDGET(vp),
vik_layer_interfaces[vl->type]->params,
vik_layer_interfaces[vl->type]->params_count,
vik_layer_interfaces[vl->type]->params_groups,