i'm trying to add male/femalr radio buttons here; this wsas gleaned from a lykert scale of five radio buttons initionally. then there is th w trouble at line 106. how do i fix this??
Code:
/*compile::
gcc -Wall -Wextra -g xperiment.c -o xC `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
*/
#include <stdio.h>
#include <gtk/gtk.h>
GtkWidget *hscale, *hscale7, *hscale11, *hscale13;
void
scale_set_default_values (GtkScale * scale)
{
gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits (scale, 0); // Zero digits after N.
gtk_scale_set_value_pos (scale, GTK_POS_TOP);
gtk_scale_set_draw_value (scale, TRUE);
}
void
cb_get_value (GtkAdjustment *adj)
{
double value;
/*
* get the value for each hscale
*/
value = gtk_adjustment_get_value(adj);
fprintf(stdout,"hscale value: %g\n",value);
}
void
create_range_controls (void)
{
GtkWidget *window;
GtkWidget *box1, *box2, *box3;
GtkWidget *button, *quitbox, *label;
GtkWidget *hbox, *radio1, *radio2;
GtkWidget *table;
AtkObject *atk_widget, *atk_label;
GtkObject *adj1, *adj7, *adj11, *adj13;
/*
Standard window-creating stuff
*/
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size (GTK_WINDOW (window), 350, 450);
g_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
gtk_window_set_title (GTK_WINDOW (window), "four horiz bars");
box1 = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
box2 = gtk_hbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_show (box2);
gtk_container_border_width (GTK_CONTAINER (window), 15);
/**** – Create the hbox ****/
hbox = gtk_hbox_new (FALSE, 0);
/**** Create the first radio button with a label ****/
radio1 = gtk_radio_button_new_with_label (NULL,"Male");
/*
– Create the rest of the radio buttons with labels –
*/
radio2 = gtk_radio_button_new_with_label (gtk_radio_button_group
(GTK_RADIO_BUTTON (radio1)),
"Female");
/*
Pack the two radio buttons into the hbox.
*/
gtk_box_pack_start (GTK_BOX (hbox), radio1, TRUE, TRUE, 2);
gtk_box_pack_start (GTK_BOX (hbox), radio2, TRUE, TRUE, 2);
// lykert scalr 1 to 5 ...
/*gtk_box_pack_start (GTK_BOX (hbox), radio5, TRUE, TRUE, 2); */
/*
Add the hbox to the window.
*/
//---gtk_container_add (GTK_CONTAINER (window), hbox); //FOO
/*
Add a border to the window to give the button a little room.
*/
gtk_container_border_width (GTK_CONTAINER (window), 15); //MARGINS SOLVE ...
/*
Display the widgets.
*/
gtk_widget_show (radio1);
gtk_widget_show (radio2);
gtk_widget_show (hbox);
gtk_widget_show (window);
/* adjustment widgets */
#ifdef XXXX
adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj7 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj11 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj13 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
box3 = gtk_vbox_new (FALSE, 10);
gtk_box_pack_start (GTK_BOX (box2), box3, TRUE, TRUE, 0);
gtk_widget_show (box3);
/*
Reuse the same adjustment BAR-1
*/
hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1));
gtk_widget_set_usize (GTK_WIDGET (hscale), 200, -1);
scale_set_default_values (GTK_SCALE (hscale));
gtk_box_pack_start (GTK_BOX (box3), hscale, TRUE, TRUE, 0);
g_signal_connect (GTK_OBJECT (adj1), "value_changed",
GTK_SIGNAL_FUNC (cb_get_value), NULL);
gtk_widget_show (hscale);
/**** BAR-2 ****/
hscale7 = gtk_hscale_new (GTK_ADJUSTMENT (adj7));
gtk_widget_set_usize (GTK_WIDGET (hscale7), 200, -1);
scale_set_default_values (GTK_SCALE (hscale7));
gtk_box_pack_start (GTK_BOX (box3), hscale7, TRUE, TRUE, 0);
gtk_widget_show (hscale7);
hscale13 = gtk_hscale_new (GTK_ADJUSTMENT (adj13));
gtk_widget_set_usize (GTK_WIDGET (hscale13), 200, -1);
scale_set_default_values (GTK_SCALE (hscale13));
gtk_box_pack_start (GTK_BOX (box3), hscale13, TRUE, TRUE, 0);
gtk_widget_show (hscale13);
#endif // XXX
// insert table stuff [[ paul Childs ]]
adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj7 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj11 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
adj13 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
table = gtk_table_new (4, 2, FALSE);
gtk_box_pack_start (GTK_BOX (box2), table, TRUE, TRUE, 0);
gtk_widget_show (table);
label=gtk_label_new("Pitch:"); /*delete the _() if you are not using gettext for translations*/
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1));
gtk_widget_set_usize (GTK_WIDGET (hscale), 200, -1);
scale_set_default_values (GTK_SCALE (hscale));
gtk_table_attach(GTK_TABLE(table), hscale, 1, 2, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
gtk_widget_show (hscale);
atk_widget=gtk_widget_get_accessible(hscale);
atk_label=gtk_widget_get_accessible(GTK_WIDGET(label));
atk_object_add_relationship(atk_label, ATK_RELATION_LABEL_FOR, atk_widget);
atk_object_add_relationship(atk_widget, ATK_RELATION_LABELLED_BY, atk_label);
// {SSSS} g_signal_connect (GTK_OBJECT (adj1), "value_changed", GTK_SIGNAL_FUNC (cb_get_value), NULL);
label=gtk_label_new("Volume:"); /*delete the _() if you are not using gettext for translations*/
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
hscale7 = gtk_hscale_new (GTK_ADJUSTMENT (adj7));
gtk_widget_set_usize (GTK_WIDGET (hscale7), 200, -1);
scale_set_default_values (GTK_SCALE (hscale7));
gtk_table_attach(GTK_TABLE(table), hscale7, 1, 2, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
gtk_widget_show (hscale7);
atk_widget=gtk_widget_get_accessible(hscale7);
atk_label=gtk_widget_get_accessible(GTK_WIDGET(label));
atk_object_add_relationship(atk_label, ATK_RELATION_LABEL_FOR, atk_widget);
atk_object_add_relationship(atk_widget, ATK_RELATION_LABELLED_BY, atk_label);
label=gtk_label_new("Speed WPM:"); /*delete the _() if you are not using gettext for translations*/
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
hscale11 = gtk_hscale_new (GTK_ADJUSTMENT (adj11));
gtk_widget_set_usize (GTK_WIDGET (hscale11), 200, -1);
scale_set_default_values (GTK_SCALE (hscale11));
gtk_table_attach(GTK_TABLE(table), hscale11, 1, 2, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
gtk_widget_show (hscale11);
atk_widget=gtk_widget_get_accessible(hscale11);
atk_label=gtk_widget_get_accessible(GTK_WIDGET(label));
atk_object_add_relationship(atk_label, ATK_RELATION_LABEL_FOR, atk_widget);
atk_object_add_relationship(atk_widget, ATK_RELATION_LABELLED_BY, atk_label);
label=gtk_label_new("Delay:"); /*delete the _() if you are not using gettext for translations*/
gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
hscale13 = gtk_hscale_new (GTK_ADJUSTMENT (adj13));
gtk_widget_set_usize (GTK_WIDGET (hscale13), 200, -1);
scale_set_default_values (GTK_SCALE (hscale13));
gtk_table_attach(GTK_TABLE(table), hscale13, 1, 2, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2);
gtk_widget_show (hscale13);
atk_widget=gtk_widget_get_accessible(hscale13);
atk_label=gtk_widget_get_accessible(GTK_WIDGET(label));
atk_object_add_relationship(atk_label, ATK_RELATION_LABEL_FOR, atk_widget);
atk_object_add_relationship(atk_widget, ATK_RELATION_LABELLED_BY, atk_label);
// end of p.c.'s atk table code ...
box2 = gtk_hbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_show (box2);
/**** END of horizontal bar stuff ****/
quitbox = gtk_vbox_new (FALSE, 10); // WAS "box2" reused
gtk_container_set_border_width (GTK_CONTAINER (quitbox), 10);
/**** "box1" below, so this button fits into the overall Window ****/
gtk_box_pack_start (GTK_BOX (box1), quitbox, FALSE, TRUE, 0);
gtk_widget_show (quitbox);
button = gtk_button_new_with_label ("Quit");
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
gtk_box_pack_start (GTK_BOX (quitbox), button, TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_widget_grab_default (button);
gtk_widget_show (button);
gtk_widget_show (window);
}
int
main (int argc, char *argv[])
{
gtk_init (&argc, &argv);
create_range_controls (); // Handles windows and h-bars
gtk_main ();
return (0);
}