static VikLayerParamData get_default_data_answer ( const gchar *group, const gchar *name, VikLayerParamType ptype, gpointer success ) { VikLayerParamData data = VIK_LPD_BOOLEAN ( FALSE ); GError *error = NULL; switch ( ptype ) { case VIK_LAYER_PARAM_DOUBLE: { gdouble dd = g_key_file_get_double ( keyfile, group, name, &error ); if ( !error ) data.d = dd; break; } case VIK_LAYER_PARAM_UINT: { guint32 uu = g_key_file_get_integer ( keyfile, group, name, &error ); if ( !error ) data.u = uu; break; } case VIK_LAYER_PARAM_INT: { gint32 ii = g_key_file_get_integer ( keyfile, group, name, &error ); if ( !error ) data.i = ii; break; } case VIK_LAYER_PARAM_BOOLEAN: { gboolean bb = g_key_file_get_boolean ( keyfile, group, name, &error ); if ( !error ) data.b = bb; break; } case VIK_LAYER_PARAM_STRING: { gchar *str = g_key_file_get_string ( keyfile, group, name, &error ); if ( !error ) data.s = str; break; } //case VIK_LAYER_PARAM_STRING_LIST: { // gchar **str = g_key_file_get_string_list ( keyfile, group, name, &error ); // data.sl = str_to_glist (str); //TODO convert // break; //} case VIK_LAYER_PARAM_COLOR: { gchar *str = g_key_file_get_string ( keyfile, group, name, &error ); if ( !error ) { memset(&(data.c), 0, sizeof(data.c)); gdk_color_parse ( str, &(data.c) ); } g_free ( str ); break; } default: break; } success = GINT_TO_POINTER (TRUE); if ( error ) { g_warning ( error->message ); g_error_free ( error ); success = GINT_TO_POINTER (FALSE); } return data; }
VikLayerParamData vik_lpd_false_default ( void ) { return VIK_LPD_BOOLEAN ( FALSE ); }
VikLayerParamData vik_lpd_true_default ( void ) { return VIK_LPD_BOOLEAN ( TRUE ); }