X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/cdcaf41c6bb6275fb40f59ad1b32a4485525c489..80471a6a905e00bf80ad04fa2061f88ea81f15cb:/src/vikradiogroup.c?ds=sidebyside diff --git a/src/vikradiogroup.c b/src/vikradiogroup.c index 12d25d32..17c1a834 100644 --- a/src/vikradiogroup.c +++ b/src/vikradiogroup.c @@ -102,6 +102,35 @@ GtkWidget *vik_radio_group_new ( GList *options ) return GTK_WIDGET(vrg); } +GtkWidget *vik_radio_group_new_static ( const gchar **options ) +{ + VikRadioGroup *vrg; + GtkWidget *t; + + if ( ! *options ) + return NULL; + + vrg = VIK_RADIO_GROUP ( g_object_new ( VIK_RADIO_GROUP_TYPE, NULL ) ); + + t = gtk_radio_button_new_with_label ( NULL, options[0] ); + gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(t), TRUE ); + gtk_box_pack_start ( GTK_BOX(vrg), t, FALSE, FALSE, 0 ); + + vrg->radios = g_slist_append ( NULL, t ); + vrg->options_count = 1; + + for ( options++ ; *options ; options++ ) + { + t = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(vrg->radios->data), *options ); + vrg->radios = g_slist_append( vrg->radios, t ); + gtk_box_pack_start ( GTK_BOX(vrg), GTK_WIDGET(t), FALSE, FALSE, 0 ); + vrg->options_count++; + } + + return GTK_WIDGET(vrg); +} + + void vik_radio_group_set_selected ( VikRadioGroup *vrg, guint8 i ) { if ( i < vrg->options_count )