diff options
Diffstat (limited to 'Smoke/gtk_isolines.c')
-rw-r--r-- | Smoke/gtk_isolines.c | 60 |
1 files changed, 51 insertions, 9 deletions
diff --git a/Smoke/gtk_isolines.c b/Smoke/gtk_isolines.c index 1f4dd6a..54344af 100644 --- a/Smoke/gtk_isolines.c +++ b/Smoke/gtk_isolines.c @@ -5,7 +5,7 @@ #include "palette.h" -#include "glyphs.h" +#include "isolines.h" #include "gtk_isolines.h" @@ -24,11 +24,21 @@ static gboolean select_num_colors(GtkRange *adjustment, gpointer data) static gboolean select_num_isolines(GtkRange *adjustment, gpointer data) { - printf("%f", gtk_range_get_value(adjustment)); isolines_set_nr((int)gtk_range_get_value(adjustment)); } +static gboolean select_min_threshold(GtkRange *adjustment, gpointer data) +{ + isolines_set_threshold_min(gtk_range_get_value(adjustment)); +} + + +static gboolean select_max_threshold(GtkRange *adjustment, gpointer data) +{ + isolines_set_threshold_max(gtk_range_get_value(adjustment)); +} + static gboolean select_alpha(GtkRange *adjustment, gpointer data) { isolines_set_alpha((float)gtk_range_get_value(adjustment)); @@ -51,7 +61,6 @@ GtkWidget *create_isolines_page(void) page = gtk_vbox_new(FALSE, 0); - frame = gtk_frame_new("Scalarset"); box = gtk_hbox_new(FALSE, 0); @@ -106,14 +115,12 @@ GtkWidget *create_isolines_page(void) frame = gtk_frame_new("Colors"); box = gtk_vbox_new(FALSE, 0); - label = gtk_label_new("Colormap"); gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0); gtk_widget_show(label); - combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(combo), PALETTE_NAME_BLACKWHITE); @@ -132,6 +139,16 @@ GtkWidget *create_isolines_page(void) gtk_box_pack_start(GTK_BOX(box), combo, FALSE, TRUE, 0); gtk_widget_show(combo); + 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("Isolines"); + + box = gtk_vbox_new(FALSE, 0); label = gtk_label_new("Number of Colors"); @@ -163,14 +180,14 @@ GtkWidget *create_isolines_page(void) //gtk_widget_show(color_scale); gtk_container_add(GTK_CONTAINER(frame), box); - gtk_widget_show(box); + gtk_widget_show(frame); - label = gtk_label_new("Number of isolines"); + label = gtk_label_new("Number of isolines"); gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0); gtk_widget_show(label); - adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(isolines_get_nr(), 0, 8, 0.5, 5, 0.1)); + adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(isolines_get_nr(), 0, 8, 1, 1, 0)); scale = gtk_hscale_new(adjustment); gtk_scale_set_digits(GTK_SCALE(scale), 0); g_signal_connect(GTK_RANGE(scale), "value-changed", G_CALLBACK(select_num_isolines), NULL); @@ -178,6 +195,32 @@ GtkWidget *create_isolines_page(void) gtk_box_pack_start(GTK_BOX(box), scale, FALSE, TRUE, 0); gtk_widget_show(scale); + label = gtk_label_new("Minimum threshold value"); + + gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0); + gtk_widget_show(label); + + adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(isolines_get_threshold_min(), 0.01, 4, 0.01, 0.1, 0)); + scale = gtk_hscale_new(adjustment); + gtk_scale_set_digits(GTK_SCALE(scale), 2); + g_signal_connect(GTK_RANGE(scale), "value-changed", G_CALLBACK(select_min_threshold), NULL); + + gtk_box_pack_start(GTK_BOX(box), scale, FALSE, TRUE, 0); + gtk_widget_show(scale); + + label = gtk_label_new("Maximum threshold value"); + + gtk_box_pack_start(GTK_BOX(box), label, FALSE, TRUE, 0); + gtk_widget_show(label); + + adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(isolines_get_threshold_max(), 0, 4, 0.01, 0.1, 0)); + scale = gtk_hscale_new(adjustment); + gtk_scale_set_digits(GTK_SCALE(scale), 2); + g_signal_connect(GTK_RANGE(scale), "value-changed", G_CALLBACK(select_max_threshold), NULL); + + gtk_box_pack_start(GTK_BOX(box), scale, FALSE, TRUE, 0); + gtk_widget_show(scale); + gtk_container_add(GTK_CONTAINER(frame), box); gtk_widget_show(box); @@ -185,6 +228,5 @@ GtkWidget *create_isolines_page(void) gtk_widget_show(frame); - return page; } |