diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2008-01-09 13:02:54 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2008-01-09 13:02:54 (GMT) |
commit | 29e82f50f6f23b1a344b486f377d918425e37188 (patch) | |
tree | 6d5ff663d8ef89898d5584eab9f63f45126b145a /Smoke/gtk_main.c | |
parent | 4f8eda57dc837193ea25737b28d3514b3858639f (diff) | |
download | 2iv35-29e82f50f6f23b1a344b486f377d918425e37188.zip 2iv35-29e82f50f6f23b1a344b486f377d918425e37188.tar.gz 2iv35-29e82f50f6f23b1a344b486f377d918425e37188.tar.bz2 |
simulation reset added; colormap autoscaling moved to fluids main loop
Diffstat (limited to 'Smoke/gtk_main.c')
-rw-r--r-- | Smoke/gtk_main.c | 117 |
1 files changed, 66 insertions, 51 deletions
diff --git a/Smoke/gtk_main.c b/Smoke/gtk_main.c index 679ba12..f2ba7d0 100644 --- a/Smoke/gtk_main.c +++ b/Smoke/gtk_main.c @@ -139,6 +139,12 @@ static gboolean select_zoom_speed(GtkRange *adjustment, gpointer data) return TRUE; } +static gboolean reset_simulation(GtkWidget *button, gpointer data) { + fluids_reset_simulation(); + + return TRUE; +} + GtkWidget *create_main_page(void) { @@ -154,64 +160,73 @@ GtkWidget *create_main_page(void) page = gtk_vbox_new(FALSE, 0); - box = gtk_vbox_new(FALSE, 0); - button = gtk_check_button_new_with_label("Draw Grid"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), renderer_get_render_grid()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_grid), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_check_button_new_with_label("Draw Smoke"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), smoke_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_smoke), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_check_button_new_with_label("Draw Glyphs"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), glyphs_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_glyphs), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + frame = gtk_frame_new("Simulation"); - button = gtk_check_button_new_with_label("Draw Isolines"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), isolines_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_isolines), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_check_button_new_with_label("Draw Streamlines"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), streamlines_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_streamlines), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + box = gtk_vbox_new(FALSE, 0); + button = gtk_check_button_new_with_label("Draw Grid"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), renderer_get_render_grid()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_grid), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); + + button = gtk_check_button_new_with_label("Draw Smoke"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), smoke_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_smoke), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); + + button = gtk_check_button_new_with_label("Draw Glyphs"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), glyphs_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_glyphs), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); - button = gtk_check_button_new_with_label("Draw Flowvis"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), flowvis_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_flowvis), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + button = gtk_check_button_new_with_label("Draw Isolines"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), isolines_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_isolines), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); + + button = gtk_check_button_new_with_label("Draw Streamlines"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), streamlines_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_streamlines), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); - button = gtk_check_button_new_with_label("Toggle Calculation"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), fluids_get_calculate()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_calculate), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + button = gtk_check_button_new_with_label("Draw Flowvis"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), flowvis_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_flowvis), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); - button = gtk_check_button_new_with_label("Draw Normals Vectors"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), normals_get_render()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_normals), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + button = gtk_check_button_new_with_label("Toggle Calculation"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), fluids_get_calculate()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_calculate), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); - button = gtk_check_button_new_with_label("Draw Normals2 Vectors"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), normals_get_render2()); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_normals2), NULL); - gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); + button = gtk_check_button_new_with_label("Draw Normals Vectors"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), normals_get_render()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_normals), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); - gtk_box_pack_start (GTK_BOX(page), box, FALSE, TRUE, 0); - gtk_widget_show(box); + button = gtk_check_button_new_with_label("Draw Normals2 Vectors"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), normals_get_render2()); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_normals2), NULL); + gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); + + button = gtk_button_new_with_label("Reset Simulation"); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(reset_simulation), NULL); + gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); + gtk_widget_show(button); + + gtk_container_add(GTK_CONTAINER(frame), box); + gtk_widget_show(box); + gtk_box_pack_start (GTK_BOX(page), frame, FALSE, TRUE, 0); + gtk_widget_show(frame); frame = gtk_frame_new("Dataset"); |