1 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
3 /*----------------------------------------------------------------------
5 gpiv - Graphic program for Particle Image Velocimetry, based on gtk/gnome
8 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
11 This file is part of gpiv.
13 Gpiv is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 2, or (at your option)
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 ----------------------------------------------------------------------*/
30 * $Log: preferences.c,v $
31 * Revision 1.18 2008-10-09 14:43:37 gerber
32 * paralellized with OMP and MPI
34 * Revision 1.17 2008-04-28 12:00:58 gerber
35 * hdf-formatted files are now with .hdf extension (previously: .gpi)
37 * Revision 1.16 2007-12-19 08:42:35 gerber
40 * Revision 1.15 2007-11-23 16:24:08 gerber
41 * release 0.5.0: Kafka
43 * Revision 1.14 2007-03-22 16:00:32 gerber
44 * Added image processing tabulator
46 * Revision 1.13 2007/02/05 15:17:09 gerber
47 * auto stretching, broadcast display settings to buffers from preferences
49 * Revision 1.12 2007-01-29 11:27:44 gerber
50 * added image formats png, gif, tif png, bmp, improved buffer display
52 * Revision 1.11 2006-09-18 07:27:06 gerber
53 * *** empty log message ***
55 * Revision 1.10 2006/01/31 14:28:13 gerber
58 * Revision 1.8 2005/01/19 15:53:42 gerber
59 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
60 * by using RTAI and Realtime Linux, recording images from IEEE1394
61 * (Firewire) IIDC compliant camera's
63 * Revision 1.7 2004/10/15 19:24:05 gerber
64 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
66 * Revision 1.6 2004/06/14 21:19:23 gerber
67 * Image depth up to 16 bits.
68 * Improvement "single int" and "drag int" in Eval tab.
69 * Viewer's pop-up menu.
70 * Adaption for gpiv_matrix_* and gpiv_vector_*.
72 * See Changelog for further info.
74 * Revision 1.5 2003/09/01 11:17:15 gerber
75 * improved monitoring of interrogation process
77 * Revision 1.4 2003/08/22 15:24:52 gerber
78 * interactive spatial scaling
80 * Revision 1.3 2003/07/25 15:40:24 gerber
81 * removed/disabled setting of correlation in Eval tab, Correlation type in Image info tab
83 * Revision 1.2 2003/06/27 13:47:26 gerber
84 * display ruler, line/point evaluation
86 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
93 #endif /* HAVE_CONFIG_H */
98 #include "preferences.h"
99 #include "preferences_interface.h"
103 apply_gpivpar_console (GpivConsole
* gpiv
);
106 apply_gpivpar_display ();
110 on_checkbutton_gpivbuttons_activate(GtkWidget
*widget
,
113 /*-----------------------------------------------------------------------------
116 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
117 default_par
->console__view_gpivbuttons
= 1;
119 default_par
->console__view_gpivbuttons
= 0;
126 on_checkbutton_tab_activate(GtkWidget
*widget
,
129 /*-----------------------------------------------------------------------------
132 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
133 default_par
->console__view_tabulator
= 1;
135 default_par
->console__view_tabulator
= 0;
142 on_checkbutton_hdf_activate(GtkWidget
*widget
,
145 /*-----------------------------------------------------------------------------
148 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
149 default_par
->hdf
= 1;
151 default_par
->hdf
= 0;
158 on_radiobutton_datafmt(GtkWidget
*widget
,
161 /*-----------------------------------------------------------------------------
164 gint select
= atoi(gtk_object_get_data(GTK_OBJECT(widget
),
166 default_par
->hdf
= select
;
167 if (gpiv_par
->verbose
) g_message("on_radiobutton_datafmt:: %d", default_par
->hdf
);
173 on_radiobutton_imgfmt(GtkWidget
*widget
,
176 /*-----------------------------------------------------------------------------
179 gint fmt_select
= atoi(gtk_object_get_data(GTK_OBJECT(widget
),
181 gpiv_par
->img_fmt
= fmt_select
;
183 if (fmt_select
== IMG_FMT_PNG
) {
184 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_PNG");
185 } else if (fmt_select
== IMG_FMT_HDF
) {
186 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_HDF");
187 } else if (fmt_select
== IMG_FMT_RAW
) {
188 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_RAW");
190 g_message("INVALID IMG_FMT");
197 on_checkbutton_xcorr_activate(GtkWidget
*widget
,
200 /*-----------------------------------------------------------------------------
203 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
204 default_par
->x_corr
= 1;
206 default_par
->x_corr
= 0;
213 on_checkbutton_tooltips_activate(GtkWidget
*widget
,
216 /*-----------------------------------------------------------------------------
219 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
220 default_par
->console__show_tooltips
= 1;
222 default_par
->console__show_tooltips
= 0;
230 on_checkbutton_process_cam_activate(GtkWidget
*widget
,
233 /*-----------------------------------------------------------------------------
236 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
237 default_par
->process__cam
= TRUE
;
239 default_par
->process__cam
= FALSE
;
242 #endif /* ENABLE_CAM */
247 on_checkbutton_process_trig_activate(GtkWidget
*widget
,
250 /*-----------------------------------------------------------------------------
253 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
254 default_par
->process__trig
= TRUE
;
256 default_par
->process__trig
= FALSE
;
259 #endif /* ENABLE_TRIG */
262 #ifdef ENABLE_IMGPROC
264 on_checkbutton_process_imgproc_activate(GtkWidget
*widget
,
267 /*-----------------------------------------------------------------------------
270 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
271 default_par
->process__imgproc
= TRUE
;
273 default_par
->process__imgproc
= FALSE
;
276 #endif /* ENABLE_IMGPROC */
280 on_checkbutton_process_piv_activate(GtkWidget
*widget
,
283 /*-----------------------------------------------------------------------------
286 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
287 default_par
->process__piv
= TRUE
;
289 default_par
->process__piv
= FALSE
;
296 on_checkbutton_process_gradient_activate(GtkWidget
*widget
,
299 /*-----------------------------------------------------------------------------
302 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
303 default_par
->process__gradient
= TRUE
;
305 default_par
->process__gradient
= FALSE
;
312 on_checkbutton_process_resstats_activate(GtkWidget
*widget
,
315 /*-----------------------------------------------------------------------------
318 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
319 default_par
->process__resstats
= TRUE
;
321 default_par
->process__resstats
= FALSE
;
328 on_checkbutton_process_errvec_activate(GtkWidget
*widget
,
331 /*-----------------------------------------------------------------------------
334 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
335 default_par
->process__errvec
= TRUE
;
337 default_par
->process__errvec
= FALSE
;
344 on_checkbutton_process_peaklck_activate(GtkWidget
*widget
,
347 /*-----------------------------------------------------------------------------
350 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
351 default_par
->process__peaklock
= TRUE
;
353 default_par
->process__peaklock
= FALSE
;
360 on_checkbutton_process_subtract_activate(GtkWidget
*widget
,
363 /*-----------------------------------------------------------------------------
366 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
367 default_par
->process__subtract
= TRUE
;
369 default_par
->process__subtract
= FALSE
;
376 on_checkbutton_process_scale_activate(GtkWidget
*widget
,
379 /*-----------------------------------------------------------------------------
382 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
383 default_par
->process__scale
= TRUE
;
385 default_par
->process__scale
= FALSE
;
392 on_checkbutton_process_avg_activate(GtkWidget
*widget
,
395 /*-----------------------------------------------------------------------------
398 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
399 default_par
->process__average
= TRUE
;
401 default_par
->process__average
= FALSE
;
408 on_checkbutton_process_vorstra_activate(GtkWidget
*widget
,
411 /*-----------------------------------------------------------------------------
414 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
415 default_par
->process__vorstra
= TRUE
;
417 default_par
->process__vorstra
= FALSE
;
424 on_spinbutton_bins_activate(GtkWidget
*widget
,
427 /*-----------------------------------------------------------------------------
435 on_spinbutton_nodes(GtkSpinButton
*widget
,
438 /*-----------------------------------------------------------------------------
441 default_par
->mpi_nodes
= gtk_spin_button_get_value_as_int (widget
);
447 on_radiobutton_display_vecscale(GtkWidget
*widget
,
450 /*-----------------------------------------------------------------------------
453 default_par
->display__vector_scale
=
454 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
461 on_radiobutton_display_veccolor(GtkWidget
*widget
,
464 /*-----------------------------------------------------------------------------
467 default_par
->display__vector_color
=
468 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
475 on_radiobutton_display_zoomscale(GtkWidget
*widget
,
478 /*-----------------------------------------------------------------------------
481 default_par
->display__zoom_index
=
482 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
489 on_radiobutton_display_background(GtkWidget
*widget
,
492 /*-----------------------------------------------------------------------------
495 default_par
->display__backgrnd
=
496 atoi (gtk_object_get_data (GTK_OBJECT (widget
), "bgcolor"));
497 if (gpiv_par
->verbose
) g_message ("on_radiobutton_display_background:: display__backgrnd = %d",
498 default_par
->display__backgrnd
);
504 on_checkbutton_display_display_intregs(GtkWidget
*widget
,
507 /*-----------------------------------------------------------------------------
511 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
512 default_par
->display__intregs
= TRUE
;
514 default_par
->display__intregs
= FALSE
;
521 on_checkbutton_display_display_piv(GtkWidget
*widget
,
524 /*-----------------------------------------------------------------------------
527 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
528 default_par
->display__piv
= TRUE
;
530 default_par
->display__piv
= FALSE
;
537 on_radiobutton_display_scalar(GtkWidget
*widget
,
540 /*-----------------------------------------------------------------------------
543 default_par
->display__scalar
=
544 atoi (gtk_object_get_data (GTK_OBJECT (widget
), "scalar"));
545 if (gpiv_par
->verbose
) g_message ("on_radiobutton_display_scalar:: display__scalar = %d",
546 default_par
->display__scalar
);
552 on_checkbutton_display_view_menubar_activate (GtkWidget
*widget
,
555 /*-----------------------------------------------------------------------------
558 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
559 default_par
->display__view_menubar
= 1;
561 default_par
->display__view_menubar
= 0;
568 on_checkbutton_display_view_rulers_activate (GtkWidget
*widget
,
571 /*-----------------------------------------------------------------------------
574 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
575 default_par
->display__view_rulers
= 1;
577 default_par
->display__view_rulers
= 0;
584 on_checkbutton_display_stretch_auto_activate (GtkWidget
*widget
,
587 /*-----------------------------------------------------------------------------
590 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
591 default_par
->display__stretch_auto
= TRUE
;
593 default_par
->display__stretch_auto
= FALSE
;
600 on_preferences_response(GtkDialog
*dialog
,
604 /*-----------------------------------------------------------------------------
607 GpivConsole
*gpiv
= gtk_object_get_data(GTK_OBJECT(dialog
), "gpiv");
608 Pref
*pref
= gtk_object_get_data(GTK_OBJECT(dialog
), "pref");
609 g_assert( response
== GTK_RESPONSE_OK
610 || response
== GTK_RESPONSE_APPLY
611 || response
== GTK_RESPONSE_CANCEL
);
614 case GTK_RESPONSE_OK
:
617 gtk_widget_destroy(GTK_WIDGET (dialog
));
620 case GTK_RESPONSE_APPLY
:
624 case GTK_RESPONSE_CANCEL
:
625 gtk_widget_destroy(GTK_WIDGET (dialog
));
629 g_warning("on_preferences_response: should not arrive here");
638 apply_gpivpar (GpivConsole
* gpiv
)
639 /* ----------------------------------------------------------------------------
640 * Updates actual parameters
645 apply_gpivpar_console(gpiv
);
647 for (i
= 0; i
< nbufs
; i
++) {
648 display_act
= display
[i
];
649 if (display_act
!= NULL
) {
650 if (gpiv_par
->verbose
) g_message("apply_gpivpar:: ibuf = %d apply_gpivpar_display", i
);
651 apply_gpivpar_display ();
657 apply_gpivpar_console(GpivConsole
*gpiv
)
658 /* ----------------------------------------------------------------------------
659 * Updates actual parameters for the console
662 GtkWidget
*settings_menu_gpiv0
=
663 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "settings_menu_gpiv0");
664 GtkWidget
*settings_menu_gpiv1
=
665 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "settings_menu_gpiv1");
666 GtkWidget
*help_menu_gpiv0
=
667 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "help_menu_gpiv0");
668 GtkWidget
*help_menu_gpiv_popup0
=
669 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "help_menu_gpiv_popup0");
672 parameters_set(gpiv_par
, FALSE
);
673 cp_undef_parameters(default_par
, gpiv_par
);
676 if (default_par
->console__view_gpivbuttons
== 1) {
677 gtk_widget_show(gpiv
->handlebox1
);
678 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
679 (settings_menu_gpiv0
), TRUE
);
681 gtk_widget_hide(gpiv
->handlebox1
);
682 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
683 (settings_menu_gpiv0
), FALSE
);
686 if (default_par
->console__view_tabulator
== 1) {
687 gtk_widget_show(gpiv
->notebook
);
688 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
689 (settings_menu_gpiv1
), TRUE
);
691 gtk_widget_hide(gpiv
->notebook
);
692 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
693 (settings_menu_gpiv1
), FALSE
);
696 if (default_par
->console__show_tooltips
== 1) {
697 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
698 (help_menu_gpiv0
), TRUE
);
699 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
700 (help_menu_gpiv_popup0
), TRUE
);
702 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
703 (help_menu_gpiv0
), FALSE
);
704 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
705 (help_menu_gpiv_popup0
), FALSE
);
708 gtk_spin_button_set_value(GTK_SPIN_BUTTON
709 (gpiv
->pivvalid
->spinbutton_histo_bins
),
710 default_par
->console__nbins
);
716 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
717 (gpiv
->button_toolbar_cam
),
718 default_par
->process__cam
);
719 #endif /* ENABLE_CAM */
722 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
723 (gpiv
->button_toolbar_trig
),
724 default_par
->process__trig
);
725 #endif /* ENABLE_TRIG */
727 #ifdef ENABLE_IMGPROC
728 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
729 (gpiv
->button_toolbar_imgproc
),
730 default_par
->process__imgproc
);
731 #endif /* ENABLE_IMGPROC */
733 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
734 (gpiv
->button_toolbar_piv
),
735 default_par
->process__piv
);
737 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
738 (gpiv
->button_toolbar_gradient
),
739 default_par
->process__gradient
);
741 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
742 (gpiv
->button_toolbar_resstats
),
743 default_par
->process__resstats
);
745 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
746 (gpiv
->button_toolbar_errvec
),
747 default_par
->process__errvec
);
749 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
750 (gpiv
->button_toolbar_peaklock
),
751 default_par
->process__peaklock
);
753 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
754 (gpiv
->button_toolbar_scale
),
755 default_par
->process__scale
);
757 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
758 (gpiv
->button_toolbar_average
),
759 default_par
->process__average
);
761 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
762 (gpiv
->button_toolbar_subavg
),
763 default_par
->process__subtract
);
765 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
766 (gpiv
->button_toolbar_vorstra
),
767 default_par
->process__vorstra
);
773 apply_gpivpar_display (void)
774 /* ----------------------------------------------------------------------------
775 * Updates actual parameters for the actual display
778 GtkWidget
*view_menubar_popup_menu
=
779 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
780 "view_menubar_popup_menu");
781 GtkWidget
*view_rulers_popup_menu
=
782 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
783 "view_rulers_popup_menu");
785 GtkWidget
*stretch_auto_popup_menu
=
786 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
787 "stretch_auto_popup_menu");
791 /* for (i = 0; i < nbufs; i++) { */
792 /* display_act = display[i]; */
793 /* if (display_act != NULL) { */
794 if (display_act
->pida
->exist_piv
795 && display_act
->display_piv
) {
796 update_all_vectors(display_act
->pida
);
800 if (display_act
->display_intregs
) {
801 if (default_par
->display__intregs
== 1) {
802 create_all_intregs2(display_act
);
803 create_all_intregs1(display_act
);
805 hide_all_intregs1(display_act
);
806 hide_all_intregs2(display_act
);
811 if (display_act
->pida
->exist_piv
) {
812 if (default_par
->display__piv
) {
813 create_all_vectors(display_act
->pida
);
815 hide_all_vectors(display_act
->pida
);
820 if (display_act
->pida
->exist_vor
) {
821 if (default_par
->display__scalar
== SHOW_SC_VORTICITY
) {
822 create_all_scalars (display_act
, GPIV_VORTICITY
);
824 hide_all_scalars (display_act
, GPIV_VORTICITY
);
829 if (display_act
->pida
->exist_sstrain
) {
830 if (default_par
->display__scalar
== SHOW_SC_SSTRAIN
) {
831 create_all_scalars (display_act
, GPIV_S_STRAIN
);
833 hide_all_scalars (display_act
, GPIV_S_STRAIN
);
838 if (display_act
->pida
->exist_nstrain
) {
839 if (default_par
->display__scalar
== SHOW_SC_NSTRAIN
) {
840 create_all_scalars (display_act
, GPIV_N_STRAIN
);
842 hide_all_scalars (display_act
, GPIV_N_STRAIN
);
846 if (default_par
->display__view_menubar
== 1) {
847 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
848 (view_menubar_popup_menu
),
851 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
852 (view_menubar_popup_menu
),
856 if (default_par
->display__view_rulers
== 1) {
857 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
858 (view_rulers_popup_menu
),
861 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
862 (view_rulers_popup_menu
),
866 if (default_par
->display__stretch_auto
== TRUE
) {
867 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
868 (stretch_auto_popup_menu
),
871 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
872 (stretch_auto_popup_menu
),
881 store_defaultpar (void
883 /* ----------------------------------------------------------------------------
884 * Store parameters as defaults
887 gnome_config_push_prefix ("/gpiv/General/");
888 /* gnome_config_set_bool ("print_par", print_par); */
889 gnome_config_set_bool ("console__show_tooltips", default_par
->console__show_tooltips
);
890 gnome_config_set_bool ("console__view_gpivbuttons", default_par
->console__view_gpivbuttons
);
891 gnome_config_set_bool ("console__view_tabulator", default_par
->console__view_tabulator
);
892 gnome_config_set_int ("console__nbins", default_par
->console__nbins
);
893 gnome_config_set_bool ("img_fmt", default_par
->img_fmt
);
894 gnome_config_set_bool ("hdf", default_par
->hdf
);
896 gnome_config_set_int ("mpi_nodes", default_par
->mpi_nodes
);
897 #endif /* ENABLE_MPI */
900 gnome_config_pop_prefix ();
901 gnome_config_push_prefix ("/gpiv/Image/");
902 gnome_config_set_bool ("x_corr", default_par
->x_corr
);
905 gnome_config_pop_prefix ();
906 gnome_config_push_prefix ("/gpiv/Processes/");
908 gnome_config_set_bool ("process__cam", default_par
->process__cam
);
909 #endif /* ENABLE_CAM */
911 gnome_config_set_bool ("process__trig", default_par
->process__trig
);
912 #endif /* ENABLE_TRIG */
913 #ifdef ENABLE_IMGPROC
914 gnome_config_set_bool ("process__imgproc", default_par
->process__imgproc
);
915 #endif /* ENABLE_IMGPROC */
916 gnome_config_set_bool ("process__piv", default_par
->process__piv
);
917 gnome_config_set_bool ("process__gradient", default_par
->process__gradient
);
918 gnome_config_set_bool ("process__resstats", default_par
->process__resstats
);
919 gnome_config_set_bool ("process__errvec", default_par
->process__errvec
);
920 gnome_config_set_bool ("process__peaklock", default_par
->process__peaklock
);
921 gnome_config_set_bool ("process__scale", default_par
->process__scale
);
922 gnome_config_set_bool ("process__average", default_par
->process__average
);
923 gnome_config_set_bool ("process__subtract", default_par
->process__subtract
);
924 gnome_config_set_bool ("process__vorstra", default_par
->process__vorstra
);
927 gnome_config_pop_prefix ();
928 gnome_config_push_prefix ("/gpiv/Display/");
929 gnome_config_set_bool ("display__view_menubar", default_par
->display__view_menubar
);
930 gnome_config_set_bool ("display__view_rulers", default_par
->display__view_rulers
);
931 gnome_config_set_bool ("display__stretch_auto", default_par
->display__stretch_auto
);
932 gnome_config_set_int ("display__vector_scale", default_par
->display__vector_scale
);
933 gnome_config_set_int ("display__vector_color", default_par
->display__vector_color
);
934 gnome_config_set_int ("display__zoom_index", default_par
->display__zoom_index
);
935 gnome_config_set_int ("display__backgrnd", default_par
->display__backgrnd
);
936 gnome_config_set_bool ("display__intregs", default_par
->display__intregs
);
937 gnome_config_set_bool ("display__piv", default_par
->display__piv
);
938 gnome_config_set_int ("display__scalar", default_par
->display__scalar
);
941 gnome_config_pop_prefix ();
942 gnome_config_sync ();