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 Gerber van der Graaf
10 This file is part of gpiv.
12 Gpiv is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2, or (at your option)
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 ----------------------------------------------------------------------*/
29 * $Log: preferences.c,v $
30 * Revision 1.18 2008-10-09 14:43:37 gerber
31 * paralellized with OMP and MPI
33 * Revision 1.17 2008-04-28 12:00:58 gerber
34 * hdf-formatted files are now with .hdf extension (previously: .gpi)
36 * Revision 1.16 2007-12-19 08:42:35 gerber
39 * Revision 1.15 2007-11-23 16:24:08 gerber
40 * release 0.5.0: Kafka
42 * Revision 1.14 2007-03-22 16:00:32 gerber
43 * Added image processing tabulator
45 * Revision 1.13 2007/02/05 15:17:09 gerber
46 * auto stretching, broadcast display settings to buffers from preferences
48 * Revision 1.12 2007-01-29 11:27:44 gerber
49 * added image formats png, gif, tif png, bmp, improved buffer display
51 * Revision 1.11 2006-09-18 07:27:06 gerber
52 * *** empty log message ***
54 * Revision 1.10 2006/01/31 14:28:13 gerber
57 * Revision 1.8 2005/01/19 15:53:42 gerber
58 * Initiation of Data Acquisition (DAC); trigerring of lasers and camera
59 * by using RTAI and Realtime Linux, recording images from IEEE1394
60 * (Firewire) IIDC compliant camera's
62 * Revision 1.7 2004/10/15 19:24:05 gerber
63 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
65 * Revision 1.6 2004/06/14 21:19:23 gerber
66 * Image depth up to 16 bits.
67 * Improvement "single int" and "drag int" in Eval tab.
68 * Viewer's pop-up menu.
69 * Adaption for gpiv_matrix_* and gpiv_vector_*.
71 * See Changelog for further info.
73 * Revision 1.5 2003/09/01 11:17:15 gerber
74 * improved monitoring of interrogation process
76 * Revision 1.4 2003/08/22 15:24:52 gerber
77 * interactive spatial scaling
79 * Revision 1.3 2003/07/25 15:40:24 gerber
80 * removed/disabled setting of correlation in Eval tab, Correlation type in Image info tab
82 * Revision 1.2 2003/06/27 13:47:26 gerber
83 * display ruler, line/point evaluation
85 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
92 #endif /* HAVE_CONFIG_H */
97 #include "preferences.h"
98 #include "preferences_interface.h"
102 apply_gpivpar_console (GpivConsole
* gpiv
);
105 apply_gpivpar_display ();
109 on_checkbutton_gpivbuttons_activate(GtkWidget
*widget
,
112 /*-----------------------------------------------------------------------------
115 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
116 default_par
->console__view_gpivbuttons
= 1;
118 default_par
->console__view_gpivbuttons
= 0;
125 on_checkbutton_tab_activate(GtkWidget
*widget
,
128 /*-----------------------------------------------------------------------------
131 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
132 default_par
->console__view_tabulator
= 1;
134 default_par
->console__view_tabulator
= 0;
141 on_checkbutton_hdf_activate(GtkWidget
*widget
,
144 /*-----------------------------------------------------------------------------
147 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
148 default_par
->hdf
= 1;
150 default_par
->hdf
= 0;
157 on_radiobutton_datafmt(GtkWidget
*widget
,
160 /*-----------------------------------------------------------------------------
163 gint select
= atoi(gtk_object_get_data(GTK_OBJECT(widget
),
165 default_par
->hdf
= select
;
166 if (gpiv_par
->verbose
) g_message("on_radiobutton_datafmt:: %d", default_par
->hdf
);
172 on_radiobutton_imgfmt(GtkWidget
*widget
,
175 /*-----------------------------------------------------------------------------
178 gint fmt_select
= atoi(gtk_object_get_data(GTK_OBJECT(widget
),
180 gpiv_par
->img_fmt
= fmt_select
;
182 if (fmt_select
== IMG_FMT_PNG
) {
183 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_PNG");
184 } else if (fmt_select
== IMG_FMT_HDF
) {
185 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_HDF");
186 } else if (fmt_select
== IMG_FMT_RAW
) {
187 if (gpiv_par
->verbose
) g_message("on_radiobutton_imgfmt:: img_fmt = IMG_FMT_RAW");
189 g_message("INVALID IMG_FMT");
196 on_checkbutton_xcorr_activate(GtkWidget
*widget
,
199 /*-----------------------------------------------------------------------------
202 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
203 default_par
->x_corr
= 1;
205 default_par
->x_corr
= 0;
212 on_checkbutton_tooltips_activate(GtkWidget
*widget
,
215 /*-----------------------------------------------------------------------------
218 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
219 default_par
->console__show_tooltips
= 1;
221 default_par
->console__show_tooltips
= 0;
229 on_checkbutton_process_cam_activate(GtkWidget
*widget
,
232 /*-----------------------------------------------------------------------------
235 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
236 default_par
->process__cam
= TRUE
;
238 default_par
->process__cam
= FALSE
;
241 #endif /* ENABLE_CAM */
246 on_checkbutton_process_trig_activate(GtkWidget
*widget
,
249 /*-----------------------------------------------------------------------------
252 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
253 default_par
->process__trig
= TRUE
;
255 default_par
->process__trig
= FALSE
;
258 #endif /* ENABLE_TRIG */
261 #ifdef ENABLE_IMGPROC
263 on_checkbutton_process_imgproc_activate(GtkWidget
*widget
,
266 /*-----------------------------------------------------------------------------
269 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
270 default_par
->process__imgproc
= TRUE
;
272 default_par
->process__imgproc
= FALSE
;
275 #endif /* ENABLE_IMGPROC */
279 on_checkbutton_process_piv_activate(GtkWidget
*widget
,
282 /*-----------------------------------------------------------------------------
285 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
286 default_par
->process__piv
= TRUE
;
288 default_par
->process__piv
= FALSE
;
295 on_checkbutton_process_gradient_activate(GtkWidget
*widget
,
298 /*-----------------------------------------------------------------------------
301 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
302 default_par
->process__gradient
= TRUE
;
304 default_par
->process__gradient
= FALSE
;
311 on_checkbutton_process_resstats_activate(GtkWidget
*widget
,
314 /*-----------------------------------------------------------------------------
317 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
318 default_par
->process__resstats
= TRUE
;
320 default_par
->process__resstats
= FALSE
;
327 on_checkbutton_process_errvec_activate(GtkWidget
*widget
,
330 /*-----------------------------------------------------------------------------
333 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
334 default_par
->process__errvec
= TRUE
;
336 default_par
->process__errvec
= FALSE
;
343 on_checkbutton_process_peaklck_activate(GtkWidget
*widget
,
346 /*-----------------------------------------------------------------------------
349 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
350 default_par
->process__peaklock
= TRUE
;
352 default_par
->process__peaklock
= FALSE
;
359 on_checkbutton_process_subtract_activate(GtkWidget
*widget
,
362 /*-----------------------------------------------------------------------------
365 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
366 default_par
->process__subtract
= TRUE
;
368 default_par
->process__subtract
= FALSE
;
375 on_checkbutton_process_scale_activate(GtkWidget
*widget
,
378 /*-----------------------------------------------------------------------------
381 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
382 default_par
->process__scale
= TRUE
;
384 default_par
->process__scale
= FALSE
;
391 on_checkbutton_process_avg_activate(GtkWidget
*widget
,
394 /*-----------------------------------------------------------------------------
397 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
398 default_par
->process__average
= TRUE
;
400 default_par
->process__average
= FALSE
;
407 on_checkbutton_process_vorstra_activate(GtkWidget
*widget
,
410 /*-----------------------------------------------------------------------------
413 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
414 default_par
->process__vorstra
= TRUE
;
416 default_par
->process__vorstra
= FALSE
;
423 on_spinbutton_bins_activate(GtkWidget
*widget
,
426 /*-----------------------------------------------------------------------------
434 on_spinbutton_nodes(GtkSpinButton
*widget
,
437 /*-----------------------------------------------------------------------------
440 default_par
->mpi_nodes
= gtk_spin_button_get_value_as_int (widget
);
446 on_radiobutton_display_vecscale(GtkWidget
*widget
,
449 /*-----------------------------------------------------------------------------
452 default_par
->display__vector_scale
=
453 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
460 on_radiobutton_display_veccolor(GtkWidget
*widget
,
463 /*-----------------------------------------------------------------------------
466 default_par
->display__vector_color
=
467 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
474 on_radiobutton_display_zoomscale(GtkWidget
*widget
,
477 /*-----------------------------------------------------------------------------
480 default_par
->display__zoom_index
=
481 atoi(gtk_object_get_data(GTK_OBJECT(widget
),
488 on_radiobutton_display_background(GtkWidget
*widget
,
491 /*-----------------------------------------------------------------------------
494 default_par
->display__backgrnd
=
495 atoi (gtk_object_get_data (GTK_OBJECT (widget
), "bgcolor"));
496 if (gpiv_par
->verbose
) g_message ("on_radiobutton_display_background:: display__backgrnd = %d",
497 default_par
->display__backgrnd
);
503 on_checkbutton_display_display_intregs(GtkWidget
*widget
,
506 /*-----------------------------------------------------------------------------
510 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
511 default_par
->display__intregs
= TRUE
;
513 default_par
->display__intregs
= FALSE
;
520 on_checkbutton_display_display_piv(GtkWidget
*widget
,
523 /*-----------------------------------------------------------------------------
526 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
527 default_par
->display__piv
= TRUE
;
529 default_par
->display__piv
= FALSE
;
536 on_radiobutton_display_scalar(GtkWidget
*widget
,
539 /*-----------------------------------------------------------------------------
542 default_par
->display__scalar
=
543 atoi (gtk_object_get_data (GTK_OBJECT (widget
), "scalar"));
544 if (gpiv_par
->verbose
) g_message ("on_radiobutton_display_scalar:: display__scalar = %d",
545 default_par
->display__scalar
);
551 on_checkbutton_display_view_menubar_activate (GtkWidget
*widget
,
554 /*-----------------------------------------------------------------------------
557 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
558 default_par
->display__view_menubar
= 1;
560 default_par
->display__view_menubar
= 0;
567 on_checkbutton_display_view_rulers_activate (GtkWidget
*widget
,
570 /*-----------------------------------------------------------------------------
573 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
574 default_par
->display__view_rulers
= 1;
576 default_par
->display__view_rulers
= 0;
583 on_checkbutton_display_stretch_auto_activate (GtkWidget
*widget
,
586 /*-----------------------------------------------------------------------------
589 if (GTK_TOGGLE_BUTTON(widget
)->active
) {
590 default_par
->display__stretch_auto
= TRUE
;
592 default_par
->display__stretch_auto
= FALSE
;
599 on_preferences_response(GtkDialog
*dialog
,
603 /*-----------------------------------------------------------------------------
606 GpivConsole
*gpiv
= gtk_object_get_data(GTK_OBJECT(dialog
), "gpiv");
607 Pref
*pref
= gtk_object_get_data(GTK_OBJECT(dialog
), "pref");
608 g_assert( response
== GTK_RESPONSE_OK
609 || response
== GTK_RESPONSE_APPLY
610 || response
== GTK_RESPONSE_CANCEL
);
613 case GTK_RESPONSE_OK
:
616 gtk_widget_destroy(GTK_WIDGET (dialog
));
619 case GTK_RESPONSE_APPLY
:
623 case GTK_RESPONSE_CANCEL
:
624 gtk_widget_destroy(GTK_WIDGET (dialog
));
628 g_warning("on_preferences_response: should not arrive here");
637 apply_gpivpar (GpivConsole
* gpiv
)
638 /* ----------------------------------------------------------------------------
639 * Updates actual parameters
644 apply_gpivpar_console(gpiv
);
646 for (i
= 0; i
< nbufs
; i
++) {
647 display_act
= display
[i
];
648 if (display_act
!= NULL
) {
649 if (gpiv_par
->verbose
) g_message("apply_gpivpar:: ibuf = %d apply_gpivpar_display", i
);
650 apply_gpivpar_display ();
656 apply_gpivpar_console(GpivConsole
*gpiv
)
657 /* ----------------------------------------------------------------------------
658 * Updates actual parameters for the console
661 GtkWidget
*settings_menu_gpiv0
=
662 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "settings_menu_gpiv0");
663 GtkWidget
*settings_menu_gpiv1
=
664 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "settings_menu_gpiv1");
665 GtkWidget
*help_menu_gpiv0
=
666 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "help_menu_gpiv0");
667 GtkWidget
*help_menu_gpiv_popup0
=
668 gtk_object_get_data (GTK_OBJECT (gpiv
->console
), "help_menu_gpiv_popup0");
671 parameters_set(gpiv_par
, FALSE
);
672 cp_undef_parameters(default_par
, gpiv_par
);
675 if (default_par
->console__view_gpivbuttons
== 1) {
676 gtk_widget_show(gpiv
->handlebox1
);
677 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
678 (settings_menu_gpiv0
), TRUE
);
680 gtk_widget_hide(gpiv
->handlebox1
);
681 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
682 (settings_menu_gpiv0
), FALSE
);
685 if (default_par
->console__view_tabulator
== 1) {
686 gtk_widget_show(gpiv
->notebook
);
687 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
688 (settings_menu_gpiv1
), TRUE
);
690 gtk_widget_hide(gpiv
->notebook
);
691 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
692 (settings_menu_gpiv1
), FALSE
);
695 if (default_par
->console__show_tooltips
== 1) {
696 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
697 (help_menu_gpiv0
), TRUE
);
698 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
699 (help_menu_gpiv_popup0
), TRUE
);
701 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
702 (help_menu_gpiv0
), FALSE
);
703 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
704 (help_menu_gpiv_popup0
), FALSE
);
707 gtk_spin_button_set_value(GTK_SPIN_BUTTON
708 (gpiv
->pivvalid
->spinbutton_histo_bins
),
709 default_par
->console__nbins
);
715 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
716 (gpiv
->button_toolbar_cam
),
717 default_par
->process__cam
);
718 #endif /* ENABLE_CAM */
721 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
722 (gpiv
->button_toolbar_trig
),
723 default_par
->process__trig
);
724 #endif /* ENABLE_TRIG */
726 #ifdef ENABLE_IMGPROC
727 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
728 (gpiv
->button_toolbar_imgproc
),
729 default_par
->process__imgproc
);
730 #endif /* ENABLE_IMGPROC */
732 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON
733 (gpiv
->button_toolbar_piv
),
734 default_par
->process__piv
);
736 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
737 (gpiv
->button_toolbar_gradient
),
738 default_par
->process__gradient
);
740 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
741 (gpiv
->button_toolbar_resstats
),
742 default_par
->process__resstats
);
744 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
745 (gpiv
->button_toolbar_errvec
),
746 default_par
->process__errvec
);
748 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
749 (gpiv
->button_toolbar_peaklock
),
750 default_par
->process__peaklock
);
752 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
753 (gpiv
->button_toolbar_scale
),
754 default_par
->process__scale
);
756 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
757 (gpiv
->button_toolbar_average
),
758 default_par
->process__average
);
760 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
761 (gpiv
->button_toolbar_subavg
),
762 default_par
->process__subtract
);
764 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON
765 (gpiv
->button_toolbar_vorstra
),
766 default_par
->process__vorstra
);
772 apply_gpivpar_display (void)
773 /* ----------------------------------------------------------------------------
774 * Updates actual parameters for the actual display
777 GtkWidget
*view_menubar_popup_menu
=
778 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
779 "view_menubar_popup_menu");
780 GtkWidget
*view_rulers_popup_menu
=
781 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
782 "view_rulers_popup_menu");
784 GtkWidget
*stretch_auto_popup_menu
=
785 gtk_object_get_data(GTK_OBJECT(display_act
->mwin
),
786 "stretch_auto_popup_menu");
790 /* for (i = 0; i < nbufs; i++) { */
791 /* display_act = display[i]; */
792 /* if (display_act != NULL) { */
793 if (display_act
->pida
->exist_piv
794 && display_act
->display_piv
) {
795 update_all_vectors(display_act
->pida
);
799 if (display_act
->display_intregs
) {
800 if (default_par
->display__intregs
== 1) {
801 create_all_intregs2(display_act
);
802 create_all_intregs1(display_act
);
804 hide_all_intregs1(display_act
);
805 hide_all_intregs2(display_act
);
810 if (display_act
->pida
->exist_piv
) {
811 if (default_par
->display__piv
) {
812 create_all_vectors(display_act
->pida
);
814 hide_all_vectors(display_act
->pida
);
819 if (display_act
->pida
->exist_vor
) {
820 if (default_par
->display__scalar
== SHOW_SC_VORTICITY
) {
821 create_all_scalars (display_act
, GPIV_VORTICITY
);
823 hide_all_scalars (display_act
, GPIV_VORTICITY
);
828 if (display_act
->pida
->exist_sstrain
) {
829 if (default_par
->display__scalar
== SHOW_SC_SSTRAIN
) {
830 create_all_scalars (display_act
, GPIV_S_STRAIN
);
832 hide_all_scalars (display_act
, GPIV_S_STRAIN
);
837 if (display_act
->pida
->exist_nstrain
) {
838 if (default_par
->display__scalar
== SHOW_SC_NSTRAIN
) {
839 create_all_scalars (display_act
, GPIV_N_STRAIN
);
841 hide_all_scalars (display_act
, GPIV_N_STRAIN
);
845 if (default_par
->display__view_menubar
== 1) {
846 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
847 (view_menubar_popup_menu
),
850 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
851 (view_menubar_popup_menu
),
855 if (default_par
->display__view_rulers
== 1) {
856 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
857 (view_rulers_popup_menu
),
860 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
861 (view_rulers_popup_menu
),
865 if (default_par
->display__stretch_auto
== TRUE
) {
866 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
867 (stretch_auto_popup_menu
),
870 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM
871 (stretch_auto_popup_menu
),
880 store_defaultpar (void
882 /* ----------------------------------------------------------------------------
883 * Store parameters as defaults
886 gnome_config_push_prefix ("/gpiv/General/");
887 /* gnome_config_set_bool ("print_par", print_par); */
888 gnome_config_set_bool ("console__show_tooltips", default_par
->console__show_tooltips
);
889 gnome_config_set_bool ("console__view_gpivbuttons", default_par
->console__view_gpivbuttons
);
890 gnome_config_set_bool ("console__view_tabulator", default_par
->console__view_tabulator
);
891 gnome_config_set_int ("console__nbins", default_par
->console__nbins
);
892 gnome_config_set_bool ("img_fmt", default_par
->img_fmt
);
893 gnome_config_set_bool ("hdf", default_par
->hdf
);
895 gnome_config_set_int ("mpi_nodes", default_par
->mpi_nodes
);
896 #endif /* ENABLE_MPI */
899 gnome_config_pop_prefix ();
900 gnome_config_push_prefix ("/gpiv/Image/");
901 gnome_config_set_bool ("x_corr", default_par
->x_corr
);
904 gnome_config_pop_prefix ();
905 gnome_config_push_prefix ("/gpiv/Processes/");
907 gnome_config_set_bool ("process__cam", default_par
->process__cam
);
908 #endif /* ENABLE_CAM */
910 gnome_config_set_bool ("process__trig", default_par
->process__trig
);
911 #endif /* ENABLE_TRIG */
912 #ifdef ENABLE_IMGPROC
913 gnome_config_set_bool ("process__imgproc", default_par
->process__imgproc
);
914 #endif /* ENABLE_IMGPROC */
915 gnome_config_set_bool ("process__piv", default_par
->process__piv
);
916 gnome_config_set_bool ("process__gradient", default_par
->process__gradient
);
917 gnome_config_set_bool ("process__resstats", default_par
->process__resstats
);
918 gnome_config_set_bool ("process__errvec", default_par
->process__errvec
);
919 gnome_config_set_bool ("process__peaklock", default_par
->process__peaklock
);
920 gnome_config_set_bool ("process__scale", default_par
->process__scale
);
921 gnome_config_set_bool ("process__average", default_par
->process__average
);
922 gnome_config_set_bool ("process__subtract", default_par
->process__subtract
);
923 gnome_config_set_bool ("process__vorstra", default_par
->process__vorstra
);
926 gnome_config_pop_prefix ();
927 gnome_config_push_prefix ("/gpiv/Display/");
928 gnome_config_set_bool ("display__view_menubar", default_par
->display__view_menubar
);
929 gnome_config_set_bool ("display__view_rulers", default_par
->display__view_rulers
);
930 gnome_config_set_bool ("display__stretch_auto", default_par
->display__stretch_auto
);
931 gnome_config_set_int ("display__vector_scale", default_par
->display__vector_scale
);
932 gnome_config_set_int ("display__vector_color", default_par
->display__vector_color
);
933 gnome_config_set_int ("display__zoom_index", default_par
->display__zoom_index
);
934 gnome_config_set_int ("display__backgrnd", default_par
->display__backgrnd
);
935 gnome_config_set_bool ("display__intregs", default_par
->display__intregs
);
936 gnome_config_set_bool ("display__piv", default_par
->display__piv
);
937 gnome_config_set_int ("display__scalar", default_par
->display__scalar
);
940 gnome_config_pop_prefix ();
941 gnome_config_sync ();