diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2008-01-03 14:58:08 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2008-01-03 14:58:08 (GMT) |
commit | 747c680560744a021f1b99455db33f906970c3fe (patch) | |
tree | 6b7cf0ec59e1e399b060ca16e657249f8c5add32 /Smoke/gtk_glyphs.c | |
parent | e1b9274194fcb0e5054948917628c5e1022b42c2 (diff) | |
download | 2iv35-747c680560744a021f1b99455db33f906970c3fe.zip 2iv35-747c680560744a021f1b99455db33f906970c3fe.tar.gz 2iv35-747c680560744a021f1b99455db33f906970c3fe.tar.bz2 |
dataset selection buttons now work
Diffstat (limited to 'Smoke/gtk_glyphs.c')
-rw-r--r-- | Smoke/gtk_glyphs.c | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/Smoke/gtk_glyphs.c b/Smoke/gtk_glyphs.c index b30a3e3..6049323 100644 --- a/Smoke/gtk_glyphs.c +++ b/Smoke/gtk_glyphs.c @@ -26,6 +26,20 @@ static gboolean select_alpha(GtkRange *adjustment, gpointer data) glyphs_set_alpha((float)gtk_range_get_value(adjustment)); } +static gboolean set_dataset_color(GtkButton *button, gpointer data) +{ + if (gtk_toggle_button_get_active(button)) { + glyphs_set_dataset_color((int)data); + } +} + +static gboolean set_dataset_direction(GtkButton *button, gpointer data) +{ + if (gtk_toggle_button_get_active(button)) { + glyphs_set_dataset_direction((int)data); + } +} + GtkWidget *create_glyphs_page(void) { @@ -43,25 +57,40 @@ GtkWidget *create_glyphs_page(void) page = gtk_vbox_new(FALSE, 0); - frame = gtk_frame_new("Scalarset"); + frame = gtk_frame_new("Color"); box = gtk_hbox_new(FALSE, 0); button = gtk_radio_button_new_with_label (NULL, "Rho"); + if (glyphs_get_dataset_color() == DATASET_RHO) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_RHO); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_dataset_color), (gpointer)DATASET_RHO); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); dataset_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(button)); button = gtk_radio_button_new_with_label(dataset_group, "Velocity"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_VEL); + if (glyphs_get_dataset_color() == DATASET_VEL) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + } + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_dataset_color), (gpointer)DATASET_VEL); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(button), "Force"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_FORCE); + if (glyphs_get_dataset_color() == DATASET_FORCE) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + } + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_dataset_color), (gpointer)DATASET_FORCE); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); @@ -71,19 +100,29 @@ GtkWidget *create_glyphs_page(void) gtk_box_pack_start (GTK_BOX(page), frame, FALSE, TRUE, 0); gtk_widget_show(frame); - frame = gtk_frame_new("Vectorset"); + frame = gtk_frame_new("Direction"); box = gtk_hbox_new(FALSE, 0); button = gtk_radio_button_new_with_label(NULL, "Velocity"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_vector), (gpointer)VECTOR_VEL); + if (glyphs_get_dataset_direction() == DATASET_FORCE) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + } + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_dataset_direction), (gpointer)DATASET_VEL); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); dataset_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(button)); button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(button), "Force"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_vector), (gpointer)VECTOR_FORCE); + if (glyphs_get_dataset_direction() == DATASET_FORCE) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + } + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_dataset_direction), (gpointer)DATASET_FORCE); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); |