diff options
author | MariaMatveeva <matveeva.maria@gmail.com> | 2013-10-21 02:37:13 -0700 |
---|---|---|
committer | MariaMatveeva <matveeva.maria@gmail.com> | 2013-10-21 02:37:13 -0700 |
commit | 2e9fae14dafe36b5bd4864f7da28732d0118b74c (patch) | |
tree | 0219afefbebb27db6dcd3522db0a25685c4e235d /bin | |
parent | adba712f21d378052614335916da7a9d31702d8e (diff) | |
parent | caf2225f7b7192a16fbe6917a0bc4e81bbe8b698 (diff) | |
download | uca-2e9fae14dafe36b5bd4864f7da28732d0118b74c.tar.gz uca-2e9fae14dafe36b5bd4864f7da28732d0118b74c.tar.bz2 uca-2e9fae14dafe36b5bd4864f7da28732d0118b74c.tar.xz uca-2e9fae14dafe36b5bd4864f7da28732d0118b74c.zip |
Merge pull request #4 from ufo-kit/color-map
Added jet.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/gui/control.c | 268 | ||||
-rw-r--r-- | bin/gui/control.glade | 195 |
2 files changed, 280 insertions, 183 deletions
diff --git a/bin/gui/control.c b/bin/gui/control.c index 0ea2a31..35e2267 100644 --- a/bin/gui/control.c +++ b/bin/gui/control.c @@ -46,6 +46,7 @@ typedef struct { GtkWidget *acquisition_expander; GtkWidget *properties_expander; GtkWidget *zoom_box; + GtkWidget *colormap_box; GtkLabel *mean_label; GtkLabel *sigma_label; GtkLabel *max_label; @@ -57,9 +58,6 @@ typedef struct { GtkAdjustment *count; GtkAdjustment *hadjustment, *vadjustment; - GtkPaned *paned; - GtkRequisition child_requisition; - GtkWidget *histogram_view; GtkToggleButton *histogram_button; GtkToggleButton *log_button; @@ -69,6 +67,7 @@ typedef struct { guchar *pixels; gint display_width, display_height; gint page_width, page_height; + gint colormap; gdouble zoom_factor; State state; guint n_recorded; @@ -83,92 +82,7 @@ static UcaPluginManager *plugin_manager; static gsize mem_size = 2048; static void -down_scale (ThreadData *data, gpointer buffer) -{ - gdouble min; - gdouble max; - gdouble factor; - gdouble dval; - gboolean do_log; - guint8 *output; - gint stride; - gint i = 0; - gint start_wval; - gint start_hval; - - egg_histogram_get_range (EGG_HISTOGRAM_VIEW (data->histogram_view), &min, &max); - factor = 255.0 / (max - min); - output = data->pixels; - stride = (gint) 1 / data->zoom_factor; - do_log = gtk_toggle_button_get_active (data->log_button); - - if (data->state == RUNNING) { - gint page_width = gtk_adjustment_get_page_size (GTK_ADJUSTMENT (data->hadjustment)); - gint page_height = gtk_adjustment_get_page_size (GTK_ADJUSTMENT (data->vadjustment)); - start_wval = gtk_adjustment_get_value (GTK_ADJUSTMENT (data->hadjustment)); - start_hval = gtk_adjustment_get_value (GTK_ADJUSTMENT (data->vadjustment)); - data->page_width = (page_width + start_wval); - data->page_height = (page_height + start_hval); - } - else { - start_wval = 0; - start_hval = 0; - data->page_width = data->display_width; - data->page_height = data->display_height; - } - - if (data->pixel_size == 1) { - guint8 *input = (guint8 *) buffer; - - for (gint y = 0; y < data->display_height; y++){ - gint offset = y * stride * data->width; - - for (gint x = 0; x < data->display_width; x++, offset += stride) { - if (y >= start_hval && y < data->page_height) { - if (x >= start_wval && x < data->page_width) { - - if (do_log) - dval = log ((input[offset] - min) * factor); - else - dval = (input[offset] - min) * factor; - } - } - - guchar val = (guchar) CLAMP(dval, 0.0, 255.0); - output[i++] = val; - output[i++] = val; - output[i++] = val; - } - } - } - else if (data->pixel_size == 2) { - guint16 *input = (guint16 *) buffer; - - for (gint y = 0; y < data->display_height; y++){ - gint offset = y * stride * data->width; - - for (gint x = 0; x < data->display_width; x++, offset += stride) { - if (y >= start_hval && y < data->page_height) { - if (x >= start_wval && x < data->page_width) { - - if (do_log) - dval = log ((input[offset] - min) * factor); - else - dval = (input[offset] - min) * factor; - } - } - - guchar val = (guchar) CLAMP(dval, 0.0, 255.0); - output[i++] = val; - output[i++] = val; - output[i++] = val; - } - } - } -} - -static void -up_scale (ThreadData *data, gpointer buffer) +up_and_down_scale (ThreadData *data, gpointer buffer) { gdouble min; gdouble max; @@ -178,6 +92,8 @@ up_scale (ThreadData *data, gpointer buffer) guint8 *output; gint i = 0; gint zoom; + gint stride; + gint offset; gint start_wval; gint start_hval; @@ -185,6 +101,7 @@ up_scale (ThreadData *data, gpointer buffer) factor = 255.0 / (max - min); output = data->pixels; zoom = (gint) data->zoom_factor; + stride = (gint) 1 / zoom; do_log = gtk_toggle_button_get_active (data->log_button); if (data->state == RUNNING) { @@ -206,10 +123,17 @@ up_scale (ThreadData *data, gpointer buffer) guint8 *input = (guint8 *) buffer; for (gint y = 0; y < data->display_height; y++) { + if (zoom <= 1){ + offset = y * stride * data->width; + } + for (gint x = 0; x < data->display_width; x++) { - gint offset = ((gint) (y / zoom) * data->width) + ((gint) (x / zoom)); + if (zoom <= 1) + offset += stride; + else + offset = ((gint) (y / zoom) * data->width) + ((gint) (x / zoom)); - if (y >= start_hval && y < data->page_height) { + if (y >= start_hval && y < data->page_height) { if (x >= start_wval && x < data->page_width) { if (do_log) @@ -218,11 +142,50 @@ up_scale (ThreadData *data, gpointer buffer) dval = (input[offset] - min) * factor; } } - guchar val = (guchar) CLAMP(dval, 0.0, 255.0); - output[i++] = val; - output[i++] = val; - output[i++] = val; + + if (data->colormap == 1) { + output[i++] = val; + output[i++] = val; + output[i++] = val; + } + else { + val = (float) val; + float red = 0; + float green = 0; + float blue = 0; + + if (val == 255) { + red = 255; + green = 255; + blue = 255; + } + else if (val == 0) { + } + else if (val <= 31.875) { + blue = 255 - 4 * (31.875 - val); + } + else if (val <= 95.625) { + green = 255 - 4 * (95.625 - val); + blue = 255; + } + else if (val <= 159.375) { + red = 255 - 4 * (159.375 - val); + green = 255; + blue = 255 + 4 * (95.625 - val); + } + else if (val <= 223.125) { + red = 255; + green = 255 + 4 * (159.375 - val); + } + else { + red = 255 + 4 * (223.125 - val); + } + + output[i++] = (guchar) red; + output[i++] = (guchar) green; + output[i++] = (guchar) blue; + } } } } @@ -230,10 +193,17 @@ up_scale (ThreadData *data, gpointer buffer) guint16 *input = (guint16 *) buffer; for (gint y = 0; y < data->display_height; y++) { + if (zoom <= 1){ + offset = y * stride * data->width; + } + for (gint x = 0; x < data->display_width; x++) { - gint offset = ((gint) (y / zoom) * data->width) + ((gint) (x / zoom)); + if (zoom <= 1) + offset += stride; + else + offset = ((gint) (y / zoom) * data->width) + ((gint) (x / zoom)); - if (y >= start_hval && y < data->page_height) { + if (y >= start_hval && y < data->page_height) { if (x >= start_wval && x < data->page_width) { if (do_log) @@ -242,11 +212,50 @@ up_scale (ThreadData *data, gpointer buffer) dval = (input[offset] - min) * factor; } } - guchar val = (guchar) CLAMP(dval, 0.0, 255.0); - output[i++] = val; - output[i++] = val; - output[i++] = val; + + if (data->colormap == 1) { + output[i++] = val; + output[i++] = val; + output[i++] = val; + } + else { + val = (float) val; + float red = 0; + float green = 0; + float blue = 0; + + if (val == 255) { + red = 65535; + green = 65535; + blue = 65535; + } + else if (val == 0) { + } + else if (val <= 31.875) { + blue = (255 - 4 * (31.875 - val)) * 257; + } + else if (val <= 95.625) { + green = (255 - 4 * (95.625 - val)) * 257; + blue = 65535; + } + else if (val <= 159.375) { + red = (255 - 4 * (159.375 - val)) * 257; + green = 65535; + blue = (255 + 4 * (95.625 - val)) * 257; + } + else if (val <= 223.125) { + red = 65535; + green = (255 + 4 * (159.375 - val)) * 257; + } + else { + red = (255 + 4 * (223.125 - val)) * 257; + } + + output[i++] = (guchar) red; + output[i++] = (guchar) green; + output[i++] = (guchar) blue; + } } } } @@ -308,15 +317,6 @@ get_statistics (ThreadData *data, gdouble *mean, gdouble *sigma, guint *_max, gu } static void -convert_grayscale_to_rgb (ThreadData *data, gpointer buffer) -{ - if (data->zoom_factor <= 1) - down_scale (data, buffer); - else - up_scale (data, buffer); -} - -static void update_pixbuf (ThreadData *data) { GString *string; @@ -392,6 +392,8 @@ set_tool_button_state (ThreadData *data) data->state == IDLE); gtk_widget_set_sensitive (data->zoom_box, data->state == IDLE); + gtk_widget_set_sensitive (data->colormap_box, + data->state == IDLE); } static gpointer @@ -409,7 +411,7 @@ preview_frames (void *args) uca_camera_grab (data->camera, buffer, &error); if (error == NULL) { - convert_grayscale_to_rgb (data, buffer); + up_and_down_scale (data, buffer); gdk_threads_enter (); update_pixbuf (data); @@ -506,7 +508,7 @@ update_current_frame (ThreadData *data) ring_buffer_set_current_pointer (data->buffer, index); buffer = ring_buffer_get_current_pointer (data->buffer); - convert_grayscale_to_rgb (data, buffer); + up_and_down_scale (data, buffer); update_pixbuf (data); } @@ -721,7 +723,30 @@ on_zoom_changed (GtkComboBox *widget, ThreadData *data) data->zoom_factor = factor; update_pixbuf_dimensions (data); - convert_grayscale_to_rgb (data, ring_buffer_get_current_pointer (data->buffer)); + up_and_down_scale (data, ring_buffer_get_current_pointer (data->buffer)); + update_pixbuf (data); +} + +static void +on_colormap_changed (GtkComboBox *widget, ThreadData *data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + gint map; + + enum { + DISPLAY2_COLUMN, + MAP_COLUMN + }; + + model = gtk_combo_box_get_model (widget); + gtk_combo_box_get_active_iter (widget, &iter); + gtk_tree_model_get (model, &iter, MAP_COLUMN, &map, -1); + + data->colormap = map; + update_pixbuf_dimensions (data); + + up_and_down_scale (data, ring_buffer_get_current_pointer (data->buffer)); update_pixbuf (data); } @@ -786,19 +811,20 @@ create_main_window (GtkBuilder *builder, const gchar* camera_name) td.properties_expander = GTK_WIDGET (gtk_builder_get_object (builder, "properties-expander")); td.zoom_box = GTK_WIDGET (gtk_builder_get_object (builder, "zoom-box")); + td.colormap_box = GTK_WIDGET (gtk_builder_get_object (builder, "colormap-box")); td.start_button = GTK_WIDGET (gtk_builder_get_object (builder, "start-button")); td.stop_button = GTK_WIDGET (gtk_builder_get_object (builder, "stop-button")); td.record_button = GTK_WIDGET (gtk_builder_get_object (builder, "record-button")); td.download_button = GTK_WIDGET (gtk_builder_get_object (builder, "download-button")); td.histogram_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "histogram-checkbutton")); - td.log_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "logarithmus-checkbutton")); + td.log_button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "logarithm-checkbutton")); td.frame_slider = GTK_ADJUSTMENT (gtk_builder_get_object (builder, "frames-adjustment")); td.count = GTK_ADJUSTMENT (gtk_builder_get_object (builder, "acquisitions-adjustment")); - td.hadjustment = GTK_ADJUSTMENT (gtk_builder_get_object(builder, "adjustment1")); - td.vadjustment = GTK_ADJUSTMENT (gtk_builder_get_object(builder, "adjustment2")); - td.page_width = gtk_adjustment_get_page_size(GTK_ADJUSTMENT(td.hadjustment)); - td.page_height = gtk_adjustment_get_page_size(GTK_ADJUSTMENT(td.vadjustment)); + td.hadjustment = GTK_ADJUSTMENT (gtk_builder_get_object(builder, "hadjustment")); + td.vadjustment = GTK_ADJUSTMENT (gtk_builder_get_object(builder, "vadjustment")); + td.page_width = gtk_adjustment_get_page_size(GTK_ADJUSTMENT(td.hadjustment)); + td.page_height = gtk_adjustment_get_page_size(GTK_ADJUSTMENT(td.vadjustment)); td.mean_label = GTK_LABEL (gtk_builder_get_object (builder, "mean-label")); td.sigma_label = GTK_LABEL (gtk_builder_get_object (builder, "sigma-label")); @@ -817,7 +843,7 @@ create_main_window (GtkBuilder *builder, const gchar* camera_name) egg_histogram_view_update (EGG_HISTOGRAM_VIEW (histogram_view), ring_buffer_get_current_pointer (ring_buffer)); - pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); + pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, width, height); gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); gtk_adjustment_set_value (max_bin_adjustment, pow (2, bits_per_sample) - 1); @@ -836,6 +862,7 @@ create_main_window (GtkBuilder *builder, const gchar* camera_name) td.width = td.display_width = width; td.height = td.display_height = height; td.zoom_factor = 1.0; + td.colormap = 1; td.histogram_view = histogram_view; td.data_in_camram = FALSE; td.main_window = window; @@ -865,6 +892,9 @@ create_main_window (GtkBuilder *builder, const gchar* camera_name) g_signal_connect (gtk_builder_get_object (builder, "zoom-box"), "changed", G_CALLBACK (on_zoom_changed), &td); + g_signal_connect (gtk_builder_get_object (builder, "colormap-box"), + "changed", G_CALLBACK (on_colormap_changed), &td); + g_signal_connect (td.frame_slider, "value-changed", G_CALLBACK (on_frame_slider_changed), &td); g_signal_connect (td.start_button, "clicked", G_CALLBACK (on_start_button_clicked), &td); g_signal_connect (td.stop_button, "clicked", G_CALLBACK (on_stop_button_clicked), &td); diff --git a/bin/gui/control.glade b/bin/gui/control.glade index 7a339cf..a8b90ca 100644 --- a/bin/gui/control.glade +++ b/bin/gui/control.glade @@ -6,16 +6,6 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> - <object class="GtkAdjustment" id="adjustment1"> - <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> - </object> - <object class="GtkAdjustment" id="adjustment2"> - <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> - </object> <object class="GtkListStore" id="camera-properties"> <columns> <!-- column-name PropertyName --> @@ -82,10 +72,10 @@ <child> <object class="GtkButton" id="cancel-button"> <property name="label">gtk-quit</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_stock">True</property> <signal name="clicked" handler="gtk_main_quit" swapped="no"/> </object> @@ -98,10 +88,10 @@ <child> <object class="GtkButton" id="proceed-button"> <property name="label">gtk-ok</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_stock">True</property> </object> <packing> @@ -121,6 +111,24 @@ </object> </child> </object> + <object class="GtkListStore" id="colormaps"> + <columns> + <!-- column-name display2 --> + <column type="gchararray"/> + <!-- column-name map --> + <column type="gint"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">grayscale</col> + <col id="1">1</col> + </row> + <row> + <col id="0" translatable="yes">jet</col> + <col id="1">2</col> + </row> + </data> + </object> <object class="GtkAdjustment" id="download-adjustment"> <property name="upper">100</property> <property name="step_increment">1</property> @@ -142,7 +150,19 @@ <property name="can_focus">False</property> <property name="layout_style">end</property> <child> - <placeholder/> + <object class="GtkButton" id="download-close-button"> + <property name="label">gtk-close</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> </child> </object> <packing> @@ -192,6 +212,9 @@ </child> </object> </child> + <action-widgets> + <action-widget response="0">download-close-button</action-widget> + </action-widgets> </object> <object class="GtkAdjustment" id="exposure-adjustment"> <property name="upper">100</property> @@ -202,6 +225,11 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="hadjustment"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkAdjustment" id="max-bin-value-adjustment"> <property name="upper">65535</property> <property name="value">256</property> @@ -213,11 +241,46 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="vadjustment"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkListStore" id="zoom-values"> + <columns> + <!-- column-name display --> + <column type="gchararray"/> + <!-- column-name factor --> + <column type="gdouble"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">400 %</col> + <col id="1">4</col> + </row> + <row> + <col id="0" translatable="yes">200 %</col> + <col id="1">2</col> + </row> + <row> + <col id="0" translatable="yes">100 %</col> + <col id="1">1</col> + </row> + <row> + <col id="0" translatable="yes">50 %</col> + <col id="1">0.5</col> + </row> + <row> + <col id="0" translatable="yes">25 %</col> + <col id="1">0.25</col> + </row> + </data> + </object> <object class="GtkWindow" id="window"> <property name="can_focus">False</property> <property name="title" translatable="yes">Camera Control</property> <property name="default_width">1024</property> - <property name="default_height">767</property> + <property name="default_height">768</property> <signal name="delete-event" handler="on_delete_event" swapped="no"/> <child> <object class="GtkVBox" id="vbox1"> @@ -229,9 +292,9 @@ <property name="can_focus">False</property> <child> <object class="GtkMenuItem" id="menuitem1"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">_File</property> <property name="use_underline">True</property> <child type="submenu"> @@ -241,9 +304,9 @@ <child> <object class="GtkImageMenuItem" id="imagemenuitem1"> <property name="label">gtk-new</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="use_stock">True</property> </object> @@ -251,9 +314,9 @@ <child> <object class="GtkImageMenuItem" id="imagemenuitem2"> <property name="label">gtk-open</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="use_stock">True</property> </object> @@ -261,9 +324,9 @@ <child> <object class="GtkImageMenuItem" id="save-item"> <property name="label">gtk-save-as</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="use_stock">True</property> </object> @@ -277,9 +340,9 @@ <child> <object class="GtkImageMenuItem" id="imagemenuitem_quit"> <property name="label">gtk-quit</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="use_stock">True</property> <signal name="activate" handler="gtk_main_quit" swapped="no"/> @@ -291,9 +354,9 @@ </child> <child> <object class="GtkMenuItem" id="menuitem4"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">_Help</property> <property name="use_underline">True</property> <child type="submenu"> @@ -303,9 +366,9 @@ <child> <object class="GtkImageMenuItem" id="imagemenuitem_about"> <property name="label">gtk-about</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> <property name="use_stock">True</property> </object> @@ -327,9 +390,9 @@ <property name="can_focus">False</property> <child> <object class="GtkToolButton" id="start-button"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Run</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-play</property> @@ -341,9 +404,9 @@ </child> <child> <object class="GtkToolButton" id="record-button"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Record</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-record</property> @@ -355,9 +418,9 @@ </child> <child> <object class="GtkToolButton" id="stop-button"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Stop</property> <property name="use_underline">True</property> <property name="stock_id">gtk-media-stop</property> @@ -369,9 +432,9 @@ </child> <child> <object class="GtkToolButton" id="download-button"> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> <property name="label" translatable="yes">Download</property> <property name="use_underline">True</property> <property name="icon_name">network-receive</property> @@ -399,8 +462,8 @@ <property name="height_request">480</property> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="hadjustment">adjustment1</property> - <property name="vadjustment">adjustment2</property> + <property name="hadjustment">hadjustment</property> + <property name="vadjustment">vadjustment</property> <property name="hscrollbar_policy">automatic</property> <property name="vscrollbar_policy">automatic</property> <child> @@ -419,8 +482,8 @@ </child> </object> <packing> - <property name="resize">False</property> - <property name="shrink">False</property> + <property name="resize">True</property> + <property name="shrink">True</property> </packing> </child> <child> @@ -580,10 +643,10 @@ <child> <object class="GtkCheckButton" id="repeat-checkbutton"> <property name="label" translatable="yes">Repeat</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="use_action_appearance">False</property> <property name="xalign">0</property> <property name="draw_indicator">True</property> </object> @@ -820,11 +883,11 @@ <child> <object class="GtkCheckButton" id="histogram-checkbutton"> <property name="label" translatable="yes">Live Update</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="border_width">6</property> - <property name="use_action_appearance">False</property> <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> @@ -1024,6 +1087,37 @@ <property name="position">1</property> </packing> </child> + <child> + <object class="GtkLabel" id="label24"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes"> Colormap:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="colormap-box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">colormaps</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> </object> <packing> <property name="expand">True</property> @@ -1032,13 +1126,16 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="logarithmus-checkbutton"> - <property name="label" translatable="yes">Logarithmus</property> + <placeholder/> + </child> + <child> + <object class="GtkCheckButton" id="logarithm-checkbutton"> + <property name="label" translatable="yes">Logarithm</property> + <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="border_width">10</property> - <property name="use_action_appearance">False</property> <property name="xalign">0</property> <property name="draw_indicator">True</property> </object> @@ -1115,34 +1212,4 @@ </object> </child> </object> - <object class="GtkListStore" id="zoom-values"> - <columns> - <!-- column-name display --> - <column type="gchararray"/> - <!-- column-name factor --> - <column type="gdouble"/> - </columns> - <data> - <row> - <col id="0" translatable="yes">400 %</col> - <col id="1">4</col> - </row> - <row> - <col id="0" translatable="yes">200 %</col> - <col id="1">2</col> - </row> - <row> - <col id="0" translatable="yes">100 %</col> - <col id="1">1</col> - </row> - <row> - <col id="0" translatable="yes">50 %</col> - <col id="1">0.5</col> - </row> - <row> - <col id="0" translatable="yes">25 %</col> - <col id="1">0.25</col> - </row> - </data> - </object> </interface> |