case VIK_LAYER_WIDGET_FILEENTRY:
if ( param->type == VIK_LAYER_PARAM_STRING )
{
- rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN);
+ rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN, GPOINTER_TO_INT(param->widget_data), NULL, NULL);
if ( vlpd.s )
vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
}
case VIK_LAYER_WIDGET_FOLDERENTRY:
if ( param->type == VIK_LAYER_PARAM_STRING )
{
- rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
+ rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, VF_FILTER_NONE, NULL, NULL);
if ( vlpd.s )
vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s );
}
gtk_scale_set_digits ( GTK_SCALE(rv), scale->digits );
gtk_range_set_value ( GTK_RANGE(rv), init_val );
}
+
+ case VIK_LAYER_WIDGET_BUTTON:
+ if ( param->type == VIK_LAYER_PARAM_PTR && param->widget_data ) {
+ rv = gtk_button_new_with_label ( param->widget_data );
+ g_signal_connect ( G_OBJECT(rv), "clicked", G_CALLBACK (vlpd.ptr), param->extra_widget_data );
+ }
+ break;
+
+ default: break;
}
if ( rv && !gtk_widget_get_tooltip_text ( rv ) ) {
if ( param->tooltip )
else
rv.d = gtk_range_get_value ( GTK_RANGE(widget) );
break;
+ default: break;
}
// Perform conversion if necessary
}
}
- gtk_widget_destroy ( dialog ); /* hide before redrawing. */
g_free ( widgets );
g_free ( labels );
g_free ( change_values );
if ( tables )
g_free ( tables );
+ gtk_widget_destroy ( dialog ); /* hide before redrawing. */
return must_redraw ? 2 : 3; /* user clicked OK */
}
+ g_free ( widgets );
+ g_free ( labels );
+ g_free ( change_values );
if ( tables )
g_free ( tables );
gtk_widget_destroy ( dialog );
- g_free ( widgets );
+
return 0;
}
}