+ if ( vlpd.s )
+ vik_combo_box_text_append ( rv, vlpd.s );
+ while ( *pstr )
+ vik_combo_box_text_append ( rv, *(pstr++) );
+ if ( vlpd.s )
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
+ }
+ else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data && param->extra_widget_data)
+ {
+ /* Build a combobox with fixed selections without editable text */
+ gchar **pstr = param->widget_data;
+ rv = GTK_WIDGET ( vik_combo_box_text_new () );
+ while ( *pstr )
+ vik_combo_box_text_append ( rv, *(pstr++) );
+ if ( vlpd.s )
+ {
+ /* Set the effective default value */
+ /* In case of value does not exist, set the first value */
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
+ int i;
+ for ( i = 0; ((const char **)param->widget_data)[i]; i++ )
+ if ( strcmp(((const char **)param->extra_widget_data)[i], vlpd.s) == 0 )
+ {
+ /* Match default value */
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), i );
+ break;
+ }
+ }
+ else
+ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 );
+ }
+ break;