"Fossies" - the Fresh Open Source Software Archive 
Member "gfsview-snapshot-121130/view/glade/interface.c" (30 Nov 2012, 141103 Bytes) of package /linux/privat/gfsview-snapshot-121130.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "interface.c" see the
Fossies "Dox" file reference documentation.
1 /*
2 * DO NOT EDIT THIS FILE - it is generated by Glade.
3 */
4
5 #ifdef HAVE_CONFIG_H
6 # include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13 #include <stdio.h>
14
15 #include <gdk/gdkkeysyms.h>
16 #include <gtk/gtk.h>
17
18 #include "callbacks.h"
19 #include "interface.h"
20 #include "support.h"
21
22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
23 g_object_set_data_full (G_OBJECT (component), name, \
24 gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
25
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27 g_object_set_data (G_OBJECT (component), name, widget)
28
29 GtkWidget*
30 create_scalar_params (void)
31 {
32 GtkWidget *scalar_params;
33 GtkWidget *table1;
34 GtkWidget *label1;
35 GtkWidget *label2;
36 GtkWidget *label3;
37 GtkWidget *amin;
38 GtkWidget *amax;
39 GtkObject *spinbuttonmin_adj;
40 GtkWidget *spinbuttonmin;
41 GtkObject *spinbuttonmax_adj;
42 GtkWidget *spinbuttonmax;
43 GtkWidget *label4;
44 GtkWidget *colormap;
45 GtkWidget *convertwidget2;
46 GtkWidget *hbox3;
47 GtkWidget *entry1;
48 GtkWidget *button3;
49 GtkWidget *label116;
50 GtkWidget *show;
51
52 scalar_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
53 gtk_container_set_border_width (GTK_CONTAINER (scalar_params), 4);
54 gtk_window_set_title (GTK_WINDOW (scalar_params), "Scalar");
55
56 table1 = gtk_table_new (5, 3, FALSE);
57 gtk_widget_show (table1);
58 gtk_container_add (GTK_CONTAINER (scalar_params), table1);
59 gtk_table_set_row_spacings (GTK_TABLE (table1), 4);
60 gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
61
62 label1 = gtk_label_new ("Scalar");
63 gtk_widget_show (label1);
64 gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 0, 1,
65 (GtkAttachOptions) (GTK_FILL),
66 (GtkAttachOptions) (0), 0, 0);
67 gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
68
69 label2 = gtk_label_new ("Minimum");
70 gtk_widget_show (label2);
71 gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2,
72 (GtkAttachOptions) (GTK_FILL),
73 (GtkAttachOptions) (0), 0, 0);
74 gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
75
76 label3 = gtk_label_new ("Maximum");
77 gtk_widget_show (label3);
78 gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 2, 3,
79 (GtkAttachOptions) (GTK_FILL),
80 (GtkAttachOptions) (0), 0, 0);
81 gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5);
82
83 amin = gtk_check_button_new_with_mnemonic ("Auto");
84 gtk_widget_show (amin);
85 gtk_table_attach (GTK_TABLE (table1), amin, 1, 2, 1, 2,
86 (GtkAttachOptions) (GTK_FILL),
87 (GtkAttachOptions) (0), 0, 0);
88 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (amin), TRUE);
89
90 amax = gtk_check_button_new_with_mnemonic ("Auto");
91 gtk_widget_show (amax);
92 gtk_table_attach (GTK_TABLE (table1), amax, 1, 2, 2, 3,
93 (GtkAttachOptions) (GTK_FILL),
94 (GtkAttachOptions) (0), 0, 0);
95 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (amax), TRUE);
96
97 spinbuttonmin_adj = gtk_adjustment_new (0, -1.00000001505e+30, 1.00000001505e+30, 1, 10, 0);
98 spinbuttonmin = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonmin_adj), 1, 5);
99 gtk_widget_show (spinbuttonmin);
100 gtk_table_attach (GTK_TABLE (table1), spinbuttonmin, 2, 3, 1, 2,
101 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
102 (GtkAttachOptions) (0), 0, 0);
103 gtk_widget_set_sensitive (spinbuttonmin, FALSE);
104 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonmin), TRUE);
105 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonmin), GTK_UPDATE_IF_VALID);
106
107 spinbuttonmax_adj = gtk_adjustment_new (0, -1.00000001505e+30, 1.00000001505e+30, 1, 10, 0);
108 spinbuttonmax = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonmax_adj), 1, 5);
109 gtk_widget_show (spinbuttonmax);
110 gtk_table_attach (GTK_TABLE (table1), spinbuttonmax, 2, 3, 2, 3,
111 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
112 (GtkAttachOptions) (0), 0, 0);
113 gtk_widget_set_sensitive (spinbuttonmax, FALSE);
114 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonmax), TRUE);
115 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonmax), GTK_UPDATE_IF_VALID);
116
117 label4 = gtk_label_new ("Colormap");
118 gtk_widget_show (label4);
119 gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 3, 4,
120 (GtkAttachOptions) (GTK_FILL),
121 (GtkAttachOptions) (0), 0, 0);
122 gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_CENTER);
123 gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
124
125 colormap = gtk_option_menu_new ();
126 gtk_widget_show (colormap);
127 gtk_table_attach (GTK_TABLE (table1), colormap, 1, 2, 3, 4,
128 (GtkAttachOptions) (GTK_FILL),
129 (GtkAttachOptions) (0), 0, 0);
130
131 convertwidget2 = gtk_menu_new ();
132
133 gtk_option_menu_set_menu (GTK_OPTION_MENU (colormap), convertwidget2);
134
135 hbox3 = gtk_hbox_new (FALSE, 0);
136 gtk_widget_show (hbox3);
137 gtk_table_attach (GTK_TABLE (table1), hbox3, 2, 3, 3, 4,
138 (GtkAttachOptions) (GTK_FILL),
139 (GtkAttachOptions) (GTK_FILL), 0, 0);
140
141 entry1 = gtk_entry_new ();
142 gtk_widget_show (entry1);
143 gtk_box_pack_start (GTK_BOX (hbox3), entry1, TRUE, TRUE, 0);
144 gtk_widget_set_sensitive (entry1, FALSE);
145
146 button3 = gtk_button_new_with_mnemonic ("Browse");
147 gtk_widget_show (button3);
148 gtk_box_pack_start (GTK_BOX (hbox3), button3, FALSE, FALSE, 0);
149 gtk_widget_set_sensitive (button3, FALSE);
150
151 label116 = gtk_label_new ("Colorscale");
152 gtk_widget_show (label116);
153 gtk_table_attach (GTK_TABLE (table1), label116, 0, 1, 4, 5,
154 (GtkAttachOptions) (GTK_FILL),
155 (GtkAttachOptions) (0), 0, 0);
156 gtk_misc_set_alignment (GTK_MISC (label116), 0, 0.5);
157
158 show = gtk_check_button_new_with_mnemonic ("show");
159 gtk_widget_show (show);
160 gtk_table_attach (GTK_TABLE (table1), show, 1, 2, 4, 5,
161 (GtkAttachOptions) (GTK_FILL),
162 (GtkAttachOptions) (0), 0, 0);
163
164 g_signal_connect ((gpointer) amin, "toggled",
165 G_CALLBACK (on_amin_toggled),
166 NULL);
167 g_signal_connect ((gpointer) amin, "toggled",
168 G_CALLBACK (expose_gl),
169 NULL);
170 g_signal_connect ((gpointer) amax, "toggled",
171 G_CALLBACK (on_amax_toggled),
172 NULL);
173 g_signal_connect ((gpointer) amax, "toggled",
174 G_CALLBACK (expose_gl),
175 NULL);
176 g_signal_connect ((gpointer) spinbuttonmin, "value_changed",
177 G_CALLBACK (on_spinbuttonmin_changed),
178 NULL);
179 g_signal_connect ((gpointer) spinbuttonmin, "changed",
180 G_CALLBACK (mark_edited),
181 NULL);
182 g_signal_connect ((gpointer) spinbuttonmin, "value_changed",
183 G_CALLBACK (unmark_edited),
184 NULL);
185 g_signal_connect ((gpointer) spinbuttonmin, "move_cursor",
186 G_CALLBACK (mark_edited),
187 NULL);
188 g_signal_connect ((gpointer) spinbuttonmax, "value_changed",
189 G_CALLBACK (on_spinbuttonmax_changed),
190 NULL);
191 g_signal_connect ((gpointer) spinbuttonmax, "changed",
192 G_CALLBACK (mark_edited),
193 NULL);
194 g_signal_connect ((gpointer) spinbuttonmax, "value_changed",
195 G_CALLBACK (unmark_edited),
196 NULL);
197 g_signal_connect ((gpointer) spinbuttonmax, "move_cursor",
198 G_CALLBACK (mark_edited),
199 NULL);
200 g_signal_connect ((gpointer) show, "toggled",
201 G_CALLBACK (on_showscale_toggled),
202 NULL);
203
204 /* Store pointers to all widgets, for use by lookup_widget(). */
205 GLADE_HOOKUP_OBJECT_NO_REF (scalar_params, scalar_params, "scalar_params");
206 GLADE_HOOKUP_OBJECT (scalar_params, table1, "table1");
207 GLADE_HOOKUP_OBJECT (scalar_params, label1, "label1");
208 GLADE_HOOKUP_OBJECT (scalar_params, label2, "label2");
209 GLADE_HOOKUP_OBJECT (scalar_params, label3, "label3");
210 GLADE_HOOKUP_OBJECT (scalar_params, amin, "amin");
211 GLADE_HOOKUP_OBJECT (scalar_params, amax, "amax");
212 GLADE_HOOKUP_OBJECT (scalar_params, spinbuttonmin, "spinbuttonmin");
213 GLADE_HOOKUP_OBJECT (scalar_params, spinbuttonmax, "spinbuttonmax");
214 GLADE_HOOKUP_OBJECT (scalar_params, label4, "label4");
215 GLADE_HOOKUP_OBJECT (scalar_params, colormap, "colormap");
216 GLADE_HOOKUP_OBJECT (scalar_params, convertwidget2, "convertwidget2");
217 GLADE_HOOKUP_OBJECT (scalar_params, hbox3, "hbox3");
218 GLADE_HOOKUP_OBJECT (scalar_params, entry1, "entry1");
219 GLADE_HOOKUP_OBJECT (scalar_params, button3, "button3");
220 GLADE_HOOKUP_OBJECT (scalar_params, label116, "label116");
221 GLADE_HOOKUP_OBJECT (scalar_params, show, "show");
222
223 return scalar_params;
224 }
225
226 GtkWidget*
227 create_view (void)
228 {
229 GtkWidget *view;
230 GtkWidget *vbox1;
231 GtkWidget *menubar1;
232 GtkWidget *file1;
233 GtkWidget *file1_menu;
234 GtkWidget *open1;
235 GtkWidget *save1;
236 GtkWidget *separator5;
237 GtkWidget *exit1;
238 GtkWidget *edit1;
239 GtkWidget *edit1_menu;
240 GtkWidget *properties1;
241 GtkWidget *separator1;
242 GtkWidget *delete3;
243 GtkWidget *image2;
244 GtkWidget *clear1;
245 GtkWidget *objects1;
246 GtkWidget *objects1_menu;
247 GtkWidget *vector1;
248 GtkWidget *scalar1;
249 GtkWidget *mesh1;
250 GtkWidget *special1;
251 GtkWidget *view1;
252 GtkWidget *view1_menu;
253 GtkWidget *front1;
254 GtkWidget *back1;
255 GtkWidget *top1;
256 GtkWidget *bottom1;
257 GtkWidget *left1;
258 GtkWidget *right1;
259 GtkWidget *separator3;
260 GtkWidget *preferences1;
261 GtkWidget *tools1;
262 GtkWidget *tools1_menu;
263 GtkWidget *substract1;
264 GtkWidget *help1;
265 GtkWidget *help1_menu;
266 GtkWidget *about1;
267 GtkWidget *toolbar;
268 GtkIconSize tmp_toolbar_icon_size;
269 GtkWidget *hpaned1;
270 GtkWidget *scrolledwindow2;
271 GtkWidget *gl_list;
272 GtkWidget *vbox2;
273 GtkWidget *frame1;
274 GtkWidget *statusbar1;
275 GtkAccelGroup *accel_group;
276
277 accel_group = gtk_accel_group_new ();
278
279 view = gtk_window_new (GTK_WINDOW_TOPLEVEL);
280 gtk_container_set_border_width (GTK_CONTAINER (view), 4);
281 gtk_window_set_title (GTK_WINDOW (view), "GfsView");
282 gtk_window_set_default_size (GTK_WINDOW (view), 700, 490);
283
284 vbox1 = gtk_vbox_new (FALSE, 0);
285 gtk_widget_show (vbox1);
286 gtk_container_add (GTK_CONTAINER (view), vbox1);
287
288 menubar1 = gtk_menu_bar_new ();
289 gtk_widget_show (menubar1);
290 gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
291
292 file1 = gtk_menu_item_new_with_mnemonic ("File");
293 gtk_widget_show (file1);
294 gtk_container_add (GTK_CONTAINER (menubar1), file1);
295
296 file1_menu = gtk_menu_new ();
297 gtk_menu_item_set_submenu (GTK_MENU_ITEM (file1), file1_menu);
298
299 open1 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
300 gtk_widget_show (open1);
301 gtk_container_add (GTK_CONTAINER (file1_menu), open1);
302
303 save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group);
304 gtk_widget_show (save1);
305 gtk_container_add (GTK_CONTAINER (file1_menu), save1);
306
307 separator5 = gtk_separator_menu_item_new ();
308 gtk_widget_show (separator5);
309 gtk_container_add (GTK_CONTAINER (file1_menu), separator5);
310 gtk_widget_set_sensitive (separator5, FALSE);
311
312 exit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
313 gtk_widget_show (exit1);
314 gtk_container_add (GTK_CONTAINER (file1_menu), exit1);
315
316 edit1 = gtk_menu_item_new_with_mnemonic ("Edit");
317 gtk_widget_show (edit1);
318 gtk_container_add (GTK_CONTAINER (menubar1), edit1);
319
320 edit1_menu = gtk_menu_new ();
321 gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit1), edit1_menu);
322
323 properties1 = gtk_image_menu_item_new_from_stock ("gtk-properties", accel_group);
324 gtk_widget_show (properties1);
325 gtk_container_add (GTK_CONTAINER (edit1_menu), properties1);
326
327 separator1 = gtk_separator_menu_item_new ();
328 gtk_widget_show (separator1);
329 gtk_container_add (GTK_CONTAINER (edit1_menu), separator1);
330 gtk_widget_set_sensitive (separator1, FALSE);
331
332 delete3 = gtk_image_menu_item_new_with_mnemonic ("Delete");
333 gtk_widget_show (delete3);
334 gtk_container_add (GTK_CONTAINER (edit1_menu), delete3);
335 gtk_widget_add_accelerator (delete3, "activate", accel_group,
336 GDK_Delete, (GdkModifierType) 0,
337 GTK_ACCEL_VISIBLE);
338
339 image2 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU);
340 gtk_widget_show (image2);
341 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (delete3), image2);
342
343 clear1 = gtk_image_menu_item_new_from_stock ("gtk-clear", accel_group);
344 gtk_widget_show (clear1);
345 gtk_container_add (GTK_CONTAINER (edit1_menu), clear1);
346
347 objects1 = gtk_menu_item_new_with_mnemonic ("Objects");
348 gtk_widget_show (objects1);
349 gtk_container_add (GTK_CONTAINER (menubar1), objects1);
350
351 objects1_menu = gtk_menu_new ();
352 gtk_menu_item_set_submenu (GTK_MENU_ITEM (objects1), objects1_menu);
353
354 vector1 = gtk_menu_item_new_with_mnemonic ("Vector");
355 gtk_widget_show (vector1);
356 gtk_container_add (GTK_CONTAINER (objects1_menu), vector1);
357
358 scalar1 = gtk_menu_item_new_with_mnemonic ("Scalar");
359 gtk_widget_show (scalar1);
360 gtk_container_add (GTK_CONTAINER (objects1_menu), scalar1);
361
362 mesh1 = gtk_menu_item_new_with_mnemonic ("Mesh");
363 gtk_widget_show (mesh1);
364 gtk_container_add (GTK_CONTAINER (objects1_menu), mesh1);
365
366 special1 = gtk_menu_item_new_with_mnemonic ("Special");
367 gtk_widget_show (special1);
368 gtk_container_add (GTK_CONTAINER (objects1_menu), special1);
369
370 view1 = gtk_menu_item_new_with_mnemonic ("View");
371 gtk_widget_show (view1);
372 gtk_container_add (GTK_CONTAINER (menubar1), view1);
373
374 view1_menu = gtk_menu_new ();
375 gtk_menu_item_set_submenu (GTK_MENU_ITEM (view1), view1_menu);
376
377 front1 = gtk_menu_item_new_with_mnemonic ("Front");
378 gtk_widget_show (front1);
379 gtk_container_add (GTK_CONTAINER (view1_menu), front1);
380 gtk_widget_add_accelerator (front1, "activate", accel_group,
381 GDK_F, (GdkModifierType) GDK_CONTROL_MASK,
382 GTK_ACCEL_VISIBLE);
383
384 back1 = gtk_menu_item_new_with_mnemonic ("Back");
385 gtk_widget_show (back1);
386 gtk_container_add (GTK_CONTAINER (view1_menu), back1);
387 gtk_widget_add_accelerator (back1, "activate", accel_group,
388 GDK_B, (GdkModifierType) GDK_CONTROL_MASK,
389 GTK_ACCEL_VISIBLE);
390
391 top1 = gtk_menu_item_new_with_mnemonic ("Top");
392 gtk_widget_show (top1);
393 gtk_container_add (GTK_CONTAINER (view1_menu), top1);
394 gtk_widget_add_accelerator (top1, "activate", accel_group,
395 GDK_T, (GdkModifierType) GDK_CONTROL_MASK,
396 GTK_ACCEL_VISIBLE);
397
398 bottom1 = gtk_menu_item_new_with_mnemonic ("Bottom");
399 gtk_widget_show (bottom1);
400 gtk_container_add (GTK_CONTAINER (view1_menu), bottom1);
401 gtk_widget_add_accelerator (bottom1, "activate", accel_group,
402 GDK_M, (GdkModifierType) GDK_CONTROL_MASK,
403 GTK_ACCEL_VISIBLE);
404
405 left1 = gtk_menu_item_new_with_mnemonic ("Left");
406 gtk_widget_show (left1);
407 gtk_container_add (GTK_CONTAINER (view1_menu), left1);
408 gtk_widget_add_accelerator (left1, "activate", accel_group,
409 GDK_L, (GdkModifierType) GDK_CONTROL_MASK,
410 GTK_ACCEL_VISIBLE);
411
412 right1 = gtk_menu_item_new_with_mnemonic ("Right");
413 gtk_widget_show (right1);
414 gtk_container_add (GTK_CONTAINER (view1_menu), right1);
415 gtk_widget_add_accelerator (right1, "activate", accel_group,
416 GDK_R, (GdkModifierType) GDK_CONTROL_MASK,
417 GTK_ACCEL_VISIBLE);
418
419 separator3 = gtk_separator_menu_item_new ();
420 gtk_widget_show (separator3);
421 gtk_container_add (GTK_CONTAINER (view1_menu), separator3);
422 gtk_widget_set_sensitive (separator3, FALSE);
423
424 preferences1 = gtk_image_menu_item_new_from_stock ("gtk-preferences", accel_group);
425 gtk_widget_show (preferences1);
426 gtk_container_add (GTK_CONTAINER (view1_menu), preferences1);
427
428 tools1 = gtk_menu_item_new_with_mnemonic ("Tools");
429 gtk_widget_show (tools1);
430 gtk_container_add (GTK_CONTAINER (menubar1), tools1);
431
432 tools1_menu = gtk_menu_new ();
433 gtk_menu_item_set_submenu (GTK_MENU_ITEM (tools1), tools1_menu);
434
435 substract1 = gtk_menu_item_new_with_mnemonic ("Substract...");
436 gtk_widget_show (substract1);
437 gtk_container_add (GTK_CONTAINER (tools1_menu), substract1);
438
439 help1 = gtk_menu_item_new_with_mnemonic ("Help");
440 gtk_widget_show (help1);
441 gtk_container_add (GTK_CONTAINER (menubar1), help1);
442
443 help1_menu = gtk_menu_new ();
444 gtk_menu_item_set_submenu (GTK_MENU_ITEM (help1), help1_menu);
445
446 about1 = gtk_menu_item_new_with_mnemonic ("About...");
447 gtk_widget_show (about1);
448 gtk_container_add (GTK_CONTAINER (help1_menu), about1);
449
450 toolbar = gtk_toolbar_new ();
451 gtk_widget_show (toolbar);
452 gtk_box_pack_start (GTK_BOX (vbox1), toolbar, FALSE, FALSE, 0);
453 gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH);
454 tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar));
455
456 hpaned1 = gtk_hpaned_new ();
457 gtk_widget_show (hpaned1);
458 gtk_box_pack_start (GTK_BOX (vbox1), hpaned1, TRUE, TRUE, 0);
459
460 scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
461 gtk_widget_show (scrolledwindow2);
462 gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow2, FALSE, TRUE);
463 gtk_widget_set_size_request (scrolledwindow2, 120, -1);
464 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
465
466 gl_list = gtk_tree_view_new ();
467 gtk_widget_show (gl_list);
468 gtk_container_add (GTK_CONTAINER (scrolledwindow2), gl_list);
469 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (gl_list), FALSE);
470
471 vbox2 = gtk_vbox_new (FALSE, 0);
472 gtk_widget_show (vbox2);
473 gtk_paned_pack2 (GTK_PANED (hpaned1), vbox2, TRUE, TRUE);
474
475 frame1 = gtk_frame_new (NULL);
476 gtk_widget_show (frame1);
477 gtk_box_pack_start (GTK_BOX (vbox2), frame1, TRUE, TRUE, 0);
478 gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
479
480 statusbar1 = gtk_statusbar_new ();
481 gtk_widget_show (statusbar1);
482 gtk_box_pack_start (GTK_BOX (vbox2), statusbar1, FALSE, FALSE, 0);
483 gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (statusbar1), FALSE);
484
485 g_signal_connect ((gpointer) view, "delete_event",
486 G_CALLBACK (main_quit),
487 NULL);
488 g_signal_connect ((gpointer) open1, "activate",
489 G_CALLBACK (on_open1_activate),
490 NULL);
491 g_signal_connect ((gpointer) save1, "activate",
492 G_CALLBACK (on_save1_activate),
493 NULL);
494 g_signal_connect ((gpointer) exit1, "activate",
495 G_CALLBACK (main_quit),
496 NULL);
497 g_signal_connect ((gpointer) properties1, "activate",
498 G_CALLBACK (on_properties1_activate),
499 NULL);
500 g_signal_connect ((gpointer) delete3, "activate",
501 G_CALLBACK (on_delete_activate),
502 NULL);
503 g_signal_connect ((gpointer) clear1, "activate",
504 G_CALLBACK (on_clear1_activate),
505 NULL);
506 g_signal_connect ((gpointer) front1, "activate",
507 G_CALLBACK (on_front1_activate),
508 NULL);
509 g_signal_connect ((gpointer) back1, "activate",
510 G_CALLBACK (on_back1_activate),
511 NULL);
512 g_signal_connect ((gpointer) top1, "activate",
513 G_CALLBACK (on_top1_activate),
514 NULL);
515 g_signal_connect ((gpointer) bottom1, "activate",
516 G_CALLBACK (on_bottom1_activate),
517 NULL);
518 g_signal_connect ((gpointer) left1, "activate",
519 G_CALLBACK (on_left1_activate),
520 NULL);
521 g_signal_connect ((gpointer) right1, "activate",
522 G_CALLBACK (on_right1_activate),
523 NULL);
524 g_signal_connect ((gpointer) preferences1, "activate",
525 G_CALLBACK (on_preferences1_activate),
526 NULL);
527 g_signal_connect ((gpointer) substract1, "activate",
528 G_CALLBACK (on_substract1_activate),
529 NULL);
530 g_signal_connect ((gpointer) about1, "activate",
531 G_CALLBACK (on_about1_activate),
532 NULL);
533
534 /* Store pointers to all widgets, for use by lookup_widget(). */
535 GLADE_HOOKUP_OBJECT_NO_REF (view, view, "view");
536 GLADE_HOOKUP_OBJECT (view, vbox1, "vbox1");
537 GLADE_HOOKUP_OBJECT (view, menubar1, "menubar1");
538 GLADE_HOOKUP_OBJECT (view, file1, "file1");
539 GLADE_HOOKUP_OBJECT (view, file1_menu, "file1_menu");
540 GLADE_HOOKUP_OBJECT (view, open1, "open1");
541 GLADE_HOOKUP_OBJECT (view, save1, "save1");
542 GLADE_HOOKUP_OBJECT (view, separator5, "separator5");
543 GLADE_HOOKUP_OBJECT (view, exit1, "exit1");
544 GLADE_HOOKUP_OBJECT (view, edit1, "edit1");
545 GLADE_HOOKUP_OBJECT (view, edit1_menu, "edit1_menu");
546 GLADE_HOOKUP_OBJECT (view, properties1, "properties1");
547 GLADE_HOOKUP_OBJECT (view, separator1, "separator1");
548 GLADE_HOOKUP_OBJECT (view, delete3, "delete3");
549 GLADE_HOOKUP_OBJECT (view, image2, "image2");
550 GLADE_HOOKUP_OBJECT (view, clear1, "clear1");
551 GLADE_HOOKUP_OBJECT (view, objects1, "objects1");
552 GLADE_HOOKUP_OBJECT (view, objects1_menu, "objects1_menu");
553 GLADE_HOOKUP_OBJECT (view, vector1, "vector1");
554 GLADE_HOOKUP_OBJECT (view, scalar1, "scalar1");
555 GLADE_HOOKUP_OBJECT (view, mesh1, "mesh1");
556 GLADE_HOOKUP_OBJECT (view, special1, "special1");
557 GLADE_HOOKUP_OBJECT (view, view1, "view1");
558 GLADE_HOOKUP_OBJECT (view, view1_menu, "view1_menu");
559 GLADE_HOOKUP_OBJECT (view, front1, "front1");
560 GLADE_HOOKUP_OBJECT (view, back1, "back1");
561 GLADE_HOOKUP_OBJECT (view, top1, "top1");
562 GLADE_HOOKUP_OBJECT (view, bottom1, "bottom1");
563 GLADE_HOOKUP_OBJECT (view, left1, "left1");
564 GLADE_HOOKUP_OBJECT (view, right1, "right1");
565 GLADE_HOOKUP_OBJECT (view, separator3, "separator3");
566 GLADE_HOOKUP_OBJECT (view, preferences1, "preferences1");
567 GLADE_HOOKUP_OBJECT (view, tools1, "tools1");
568 GLADE_HOOKUP_OBJECT (view, tools1_menu, "tools1_menu");
569 GLADE_HOOKUP_OBJECT (view, substract1, "substract1");
570 GLADE_HOOKUP_OBJECT (view, help1, "help1");
571 GLADE_HOOKUP_OBJECT (view, help1_menu, "help1_menu");
572 GLADE_HOOKUP_OBJECT (view, about1, "about1");
573 GLADE_HOOKUP_OBJECT (view, toolbar, "toolbar");
574 GLADE_HOOKUP_OBJECT (view, hpaned1, "hpaned1");
575 GLADE_HOOKUP_OBJECT (view, scrolledwindow2, "scrolledwindow2");
576 GLADE_HOOKUP_OBJECT (view, gl_list, "gl_list");
577 GLADE_HOOKUP_OBJECT (view, vbox2, "vbox2");
578 GLADE_HOOKUP_OBJECT (view, frame1, "frame1");
579 GLADE_HOOKUP_OBJECT (view, statusbar1, "statusbar1");
580
581 gtk_window_add_accel_group (GTK_WINDOW (view), accel_group);
582
583 return view;
584 }
585
586 GtkWidget*
587 create_vector_params (void)
588 {
589 GtkWidget *vector_params;
590 GtkWidget *table2;
591 GtkObject *scale_adj;
592 GtkWidget *scale;
593 GtkWidget *label11;
594 GtkWidget *label12;
595 GtkWidget *color;
596 GtkWidget *convertwidget6;
597
598 vector_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
599 gtk_container_set_border_width (GTK_CONTAINER (vector_params), 4);
600 gtk_window_set_title (GTK_WINDOW (vector_params), "Vector");
601
602 table2 = gtk_table_new (5, 2, FALSE);
603 gtk_widget_show (table2);
604 gtk_container_add (GTK_CONTAINER (vector_params), table2);
605 gtk_table_set_row_spacings (GTK_TABLE (table2), 4);
606 gtk_table_set_col_spacings (GTK_TABLE (table2), 4);
607
608 scale_adj = gtk_adjustment_new (1, 0, 10000, 0.10000000149, 1, 0);
609 scale = gtk_spin_button_new (GTK_ADJUSTMENT (scale_adj), 0.10000000149, 1);
610 gtk_widget_show (scale);
611 gtk_table_attach (GTK_TABLE (table2), scale, 1, 2, 3, 4,
612 (GtkAttachOptions) (GTK_FILL),
613 (GtkAttachOptions) (0), 0, 0);
614 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (scale), TRUE);
615
616 label11 = gtk_label_new ("Scale");
617 gtk_widget_show (label11);
618 gtk_table_attach (GTK_TABLE (table2), label11, 0, 1, 3, 4,
619 (GtkAttachOptions) (GTK_FILL),
620 (GtkAttachOptions) (0), 0, 0);
621 gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_CENTER);
622 gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
623
624 label12 = gtk_label_new ("Color");
625 gtk_widget_show (label12);
626 gtk_table_attach (GTK_TABLE (table2), label12, 0, 1, 4, 5,
627 (GtkAttachOptions) (GTK_FILL),
628 (GtkAttachOptions) (0), 0, 0);
629 gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_CENTER);
630 gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
631
632 color = gtk_option_menu_new ();
633 gtk_widget_show (color);
634 gtk_table_attach (GTK_TABLE (table2), color, 1, 2, 4, 5,
635 (GtkAttachOptions) (GTK_FILL),
636 (GtkAttachOptions) (0), 0, 0);
637
638 convertwidget6 = gtk_menu_new ();
639
640 gtk_option_menu_set_menu (GTK_OPTION_MENU (color), convertwidget6);
641
642 g_signal_connect ((gpointer) scale, "value_changed",
643 G_CALLBACK (on_scale_changed),
644 NULL);
645 g_signal_connect ((gpointer) scale, "changed",
646 G_CALLBACK (mark_edited),
647 NULL);
648 g_signal_connect ((gpointer) scale, "move_cursor",
649 G_CALLBACK (mark_edited),
650 NULL);
651 g_signal_connect ((gpointer) scale, "value_changed",
652 G_CALLBACK (unmark_edited),
653 NULL);
654
655 /* Store pointers to all widgets, for use by lookup_widget(). */
656 GLADE_HOOKUP_OBJECT_NO_REF (vector_params, vector_params, "vector_params");
657 GLADE_HOOKUP_OBJECT (vector_params, table2, "table2");
658 GLADE_HOOKUP_OBJECT (vector_params, scale, "scale");
659 GLADE_HOOKUP_OBJECT (vector_params, label11, "label11");
660 GLADE_HOOKUP_OBJECT (vector_params, label12, "label12");
661 GLADE_HOOKUP_OBJECT (vector_params, color, "color");
662 GLADE_HOOKUP_OBJECT (vector_params, convertwidget6, "convertwidget6");
663
664 return vector_params;
665 }
666
667 GtkWidget*
668 create_gl_params (void)
669 {
670 GtkWidget *gl_params;
671 GtkWidget *table;
672 GtkWidget *default_color_label;
673 GtkWidget *default_color;
674 GtkWidget *maxlevel_label;
675 GtkObject *maxlevel_adj;
676 GtkWidget *maxlevel;
677 GtkWidget *finest;
678 GtkWidget *shading_label;
679 GtkWidget *shading;
680 GtkWidget *menu1;
681 GtkWidget *constant1;
682 GtkWidget *flat1;
683 GtkWidget *smooth1;
684 GtkWidget *csmooth1;
685 GtkWidget *label117;
686 GtkObject *linewidth_adj;
687 GtkWidget *linewidth;
688
689 gl_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
690 gtk_container_set_border_width (GTK_CONTAINER (gl_params), 4);
691 gtk_window_set_title (GTK_WINDOW (gl_params), "window1");
692
693 table = gtk_table_new (4, 3, FALSE);
694 gtk_widget_show (table);
695 gtk_container_add (GTK_CONTAINER (gl_params), table);
696 gtk_table_set_row_spacings (GTK_TABLE (table), 4);
697 gtk_table_set_col_spacings (GTK_TABLE (table), 4);
698
699 default_color_label = gtk_label_new ("Default color");
700 gtk_widget_show (default_color_label);
701 gtk_table_attach (GTK_TABLE (table), default_color_label, 0, 1, 0, 1,
702 (GtkAttachOptions) (GTK_FILL),
703 (GtkAttachOptions) (0), 0, 0);
704 gtk_misc_set_alignment (GTK_MISC (default_color_label), 0, 0.5);
705
706 default_color = gtk_button_new ();
707 gtk_widget_show (default_color);
708 gtk_table_attach (GTK_TABLE (table), default_color, 1, 2, 0, 1,
709 (GtkAttachOptions) (GTK_FILL),
710 (GtkAttachOptions) (0), 0, 0);
711 gtk_widget_set_size_request (default_color, -1, 26);
712
713 maxlevel_label = gtk_label_new ("Maximum level");
714 gtk_widget_show (maxlevel_label);
715 gtk_table_attach (GTK_TABLE (table), maxlevel_label, 0, 1, 3, 4,
716 (GtkAttachOptions) (GTK_FILL),
717 (GtkAttachOptions) (0), 0, 0);
718 gtk_misc_set_alignment (GTK_MISC (maxlevel_label), 0, 0.5);
719
720 maxlevel_adj = gtk_adjustment_new (100, 0, 100, 1, 10, 0);
721 maxlevel = gtk_spin_button_new (GTK_ADJUSTMENT (maxlevel_adj), 1, 0);
722 gtk_widget_show (maxlevel);
723 gtk_table_attach (GTK_TABLE (table), maxlevel, 1, 2, 3, 4,
724 (GtkAttachOptions) (GTK_FILL),
725 (GtkAttachOptions) (0), 0, 0);
726 gtk_widget_set_sensitive (maxlevel, FALSE);
727 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (maxlevel), TRUE);
728 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (maxlevel), GTK_UPDATE_IF_VALID);
729
730 finest = gtk_check_button_new_with_mnemonic ("Finest");
731 gtk_widget_show (finest);
732 gtk_table_attach (GTK_TABLE (table), finest, 2, 3, 3, 4,
733 (GtkAttachOptions) (GTK_FILL),
734 (GtkAttachOptions) (0), 0, 0);
735 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (finest), TRUE);
736
737 shading_label = gtk_label_new ("Shading");
738 gtk_widget_show (shading_label);
739 gtk_table_attach (GTK_TABLE (table), shading_label, 0, 1, 2, 3,
740 (GtkAttachOptions) (GTK_FILL),
741 (GtkAttachOptions) (0), 0, 0);
742 gtk_misc_set_alignment (GTK_MISC (shading_label), 0, 0.5);
743
744 shading = gtk_option_menu_new ();
745 gtk_widget_show (shading);
746 gtk_table_attach (GTK_TABLE (table), shading, 1, 2, 2, 3,
747 (GtkAttachOptions) (GTK_FILL),
748 (GtkAttachOptions) (0), 0, 0);
749
750 menu1 = gtk_menu_new ();
751
752 constant1 = gtk_menu_item_new_with_mnemonic ("Constant");
753 gtk_widget_show (constant1);
754 gtk_container_add (GTK_CONTAINER (menu1), constant1);
755
756 flat1 = gtk_menu_item_new_with_mnemonic ("Flat");
757 gtk_widget_show (flat1);
758 gtk_container_add (GTK_CONTAINER (menu1), flat1);
759
760 smooth1 = gtk_menu_item_new_with_mnemonic ("Smooth");
761 gtk_widget_show (smooth1);
762 gtk_container_add (GTK_CONTAINER (menu1), smooth1);
763
764 csmooth1 = gtk_menu_item_new_with_mnemonic ("CSmooth");
765 gtk_widget_show (csmooth1);
766 gtk_container_add (GTK_CONTAINER (menu1), csmooth1);
767
768 gtk_option_menu_set_menu (GTK_OPTION_MENU (shading), menu1);
769
770 label117 = gtk_label_new ("Line width");
771 gtk_widget_show (label117);
772 gtk_table_attach (GTK_TABLE (table), label117, 0, 1, 1, 2,
773 (GtkAttachOptions) (GTK_FILL),
774 (GtkAttachOptions) (0), 0, 0);
775 gtk_misc_set_alignment (GTK_MISC (label117), 0, 0.5);
776
777 linewidth_adj = gtk_adjustment_new (1, 1, 10, 1, 10, 0);
778 linewidth = gtk_spin_button_new (GTK_ADJUSTMENT (linewidth_adj), 1, 0);
779 gtk_widget_show (linewidth);
780 gtk_table_attach (GTK_TABLE (table), linewidth, 1, 2, 1, 2,
781 (GtkAttachOptions) (GTK_FILL),
782 (GtkAttachOptions) (0), 0, 0);
783 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (linewidth), TRUE);
784 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (linewidth), GTK_UPDATE_IF_VALID);
785
786 g_signal_connect ((gpointer) default_color, "clicked",
787 G_CALLBACK (on_color_clicked),
788 NULL);
789 g_signal_connect ((gpointer) maxlevel, "value_changed",
790 G_CALLBACK (on_maxlevel_changed),
791 NULL);
792 g_signal_connect ((gpointer) finest, "toggled",
793 G_CALLBACK (on_finest_toggled),
794 NULL);
795 g_signal_connect ((gpointer) constant1, "activate",
796 G_CALLBACK (on_constant1_activate),
797 NULL);
798 g_signal_connect ((gpointer) flat1, "activate",
799 G_CALLBACK (on_flat1_activate),
800 NULL);
801 g_signal_connect ((gpointer) smooth1, "activate",
802 G_CALLBACK (on_smooth1_activate),
803 NULL);
804 g_signal_connect ((gpointer) csmooth1, "activate",
805 G_CALLBACK (on_csmooth1_activate),
806 NULL);
807 g_signal_connect ((gpointer) linewidth, "value_changed",
808 G_CALLBACK (on_linewidth_value_changed),
809 NULL);
810
811 /* Store pointers to all widgets, for use by lookup_widget(). */
812 GLADE_HOOKUP_OBJECT_NO_REF (gl_params, gl_params, "gl_params");
813 GLADE_HOOKUP_OBJECT (gl_params, table, "table");
814 GLADE_HOOKUP_OBJECT (gl_params, default_color_label, "default_color_label");
815 GLADE_HOOKUP_OBJECT (gl_params, default_color, "default_color");
816 GLADE_HOOKUP_OBJECT (gl_params, maxlevel_label, "maxlevel_label");
817 GLADE_HOOKUP_OBJECT (gl_params, maxlevel, "maxlevel");
818 GLADE_HOOKUP_OBJECT (gl_params, finest, "finest");
819 GLADE_HOOKUP_OBJECT (gl_params, shading_label, "shading_label");
820 GLADE_HOOKUP_OBJECT (gl_params, shading, "shading");
821 GLADE_HOOKUP_OBJECT (gl_params, menu1, "menu1");
822 GLADE_HOOKUP_OBJECT (gl_params, constant1, "constant1");
823 GLADE_HOOKUP_OBJECT (gl_params, flat1, "flat1");
824 GLADE_HOOKUP_OBJECT (gl_params, smooth1, "smooth1");
825 GLADE_HOOKUP_OBJECT (gl_params, csmooth1, "csmooth1");
826 GLADE_HOOKUP_OBJECT (gl_params, label117, "label117");
827 GLADE_HOOKUP_OBJECT (gl_params, linewidth, "linewidth");
828
829 return gl_params;
830 }
831
832 GtkWidget*
833 create_color_selector (void)
834 {
835 GtkWidget *color_selector;
836 GtkWidget *vbox4;
837 GtkWidget *colorselection1;
838 GtkWidget *hseparator1;
839 GtkWidget *hbuttonbox1;
840 GtkWidget *button6;
841 GtkWidget *button7;
842
843 color_selector = gtk_window_new (GTK_WINDOW_TOPLEVEL);
844 gtk_window_set_title (GTK_WINDOW (color_selector), "Color selector");
845
846 vbox4 = gtk_vbox_new (FALSE, 0);
847 gtk_widget_show (vbox4);
848 gtk_container_add (GTK_CONTAINER (color_selector), vbox4);
849
850 colorselection1 = gtk_color_selection_new ();
851 gtk_widget_show (colorselection1);
852 gtk_box_pack_start (GTK_BOX (vbox4), colorselection1, FALSE, FALSE, 0);
853 gtk_container_set_border_width (GTK_CONTAINER (colorselection1), 4);
854 gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (colorselection1), TRUE);
855
856 hseparator1 = gtk_hseparator_new ();
857 gtk_widget_show (hseparator1);
858 gtk_box_pack_start (GTK_BOX (vbox4), hseparator1, TRUE, TRUE, 0);
859
860 hbuttonbox1 = gtk_hbutton_box_new ();
861 gtk_widget_show (hbuttonbox1);
862 gtk_box_pack_start (GTK_BOX (vbox4), hbuttonbox1, FALSE, FALSE, 0);
863 gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 4);
864 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_SPREAD);
865
866 button6 = gtk_button_new_from_stock ("gtk-ok");
867 gtk_widget_show (button6);
868 gtk_container_add (GTK_CONTAINER (hbuttonbox1), button6);
869 GTK_WIDGET_SET_FLAGS (button6, GTK_CAN_DEFAULT);
870
871 button7 = gtk_button_new_from_stock ("gtk-cancel");
872 gtk_widget_show (button7);
873 gtk_container_add (GTK_CONTAINER (hbuttonbox1), button7);
874 GTK_WIDGET_SET_FLAGS (button7, GTK_CAN_DEFAULT);
875
876 g_signal_connect ((gpointer) button6, "clicked",
877 G_CALLBACK (on_color_selector_clicked),
878 NULL);
879 g_signal_connect_swapped ((gpointer) button7, "clicked",
880 G_CALLBACK (gtk_widget_hide),
881 GTK_OBJECT (color_selector));
882
883 /* Store pointers to all widgets, for use by lookup_widget(). */
884 GLADE_HOOKUP_OBJECT_NO_REF (color_selector, color_selector, "color_selector");
885 GLADE_HOOKUP_OBJECT (color_selector, vbox4, "vbox4");
886 GLADE_HOOKUP_OBJECT (color_selector, colorselection1, "colorselection1");
887 GLADE_HOOKUP_OBJECT (color_selector, hseparator1, "hseparator1");
888 GLADE_HOOKUP_OBJECT (color_selector, hbuttonbox1, "hbuttonbox1");
889 GLADE_HOOKUP_OBJECT (color_selector, button6, "button6");
890 GLADE_HOOKUP_OBJECT (color_selector, button7, "button7");
891
892 return color_selector;
893 }
894
895 GtkWidget*
896 create_preferences (void)
897 {
898 GtkWidget *preferences;
899 GtkWidget *notebook1;
900 GtkWidget *table3;
901 GtkWidget *label17;
902 GtkWidget *bgcolor;
903 GtkWidget *label98;
904 GtkWidget *label99;
905 GtkWidget *sz_label;
906 GtkObject *sx_adj;
907 GtkWidget *sx;
908 GtkObject *sy_adj;
909 GtkWidget *sy;
910 GtkObject *sz_adj;
911 GtkWidget *sz;
912 GtkWidget *label16;
913 GtkWidget *table20;
914 GtkWidget *label33;
915 GtkObject *reactivity_adj;
916 GtkWidget *reactivity;
917 GtkWidget *label26;
918 GtkObject *lc_adj;
919 GtkWidget *lc;
920 GtkWidget *label18;
921 GtkObject *resolution_adj;
922 GtkWidget *resolution;
923 GtkWidget *scripting_label;
924 GtkWidget *scripting;
925 GtkWidget *scripting_on;
926 GSList *scripting_on_group = NULL;
927 GtkWidget *scripting_off;
928 GtkWidget *label53;
929 GtkTooltips *tooltips;
930
931 tooltips = gtk_tooltips_new ();
932
933 preferences = gtk_window_new (GTK_WINDOW_TOPLEVEL);
934 gtk_container_set_border_width (GTK_CONTAINER (preferences), 4);
935 gtk_window_set_title (GTK_WINDOW (preferences), "Preferences");
936
937 notebook1 = gtk_notebook_new ();
938 gtk_widget_show (notebook1);
939 gtk_container_add (GTK_CONTAINER (preferences), notebook1);
940
941 table3 = gtk_table_new (4, 2, FALSE);
942 gtk_widget_show (table3);
943 gtk_container_add (GTK_CONTAINER (notebook1), table3);
944 gtk_container_set_border_width (GTK_CONTAINER (table3), 4);
945 gtk_table_set_row_spacings (GTK_TABLE (table3), 4);
946 gtk_table_set_col_spacings (GTK_TABLE (table3), 4);
947
948 label17 = gtk_label_new ("Background color");
949 gtk_widget_show (label17);
950 gtk_table_attach (GTK_TABLE (table3), label17, 0, 1, 0, 1,
951 (GtkAttachOptions) (GTK_FILL),
952 (GtkAttachOptions) (0), 0, 0);
953 gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
954
955 bgcolor = gtk_button_new ();
956 gtk_widget_show (bgcolor);
957 gtk_table_attach (GTK_TABLE (table3), bgcolor, 1, 2, 0, 1,
958 (GtkAttachOptions) (GTK_FILL),
959 (GtkAttachOptions) (0), 0, 0);
960 gtk_widget_set_size_request (bgcolor, -1, 26);
961
962 label98 = gtk_label_new ("X scaling");
963 gtk_widget_show (label98);
964 gtk_table_attach (GTK_TABLE (table3), label98, 0, 1, 1, 2,
965 (GtkAttachOptions) (GTK_FILL),
966 (GtkAttachOptions) (0), 0, 0);
967 gtk_misc_set_alignment (GTK_MISC (label98), 0, 0.5);
968
969 label99 = gtk_label_new ("Y scaling");
970 gtk_widget_show (label99);
971 gtk_table_attach (GTK_TABLE (table3), label99, 0, 1, 2, 3,
972 (GtkAttachOptions) (GTK_FILL),
973 (GtkAttachOptions) (0), 0, 0);
974 gtk_misc_set_alignment (GTK_MISC (label99), 0, 0.5);
975
976 sz_label = gtk_label_new ("Z scaling");
977 gtk_widget_show (sz_label);
978 gtk_table_attach (GTK_TABLE (table3), sz_label, 0, 1, 3, 4,
979 (GtkAttachOptions) (GTK_FILL),
980 (GtkAttachOptions) (0), 0, 0);
981 gtk_misc_set_alignment (GTK_MISC (sz_label), 0, 0.5);
982
983 sx_adj = gtk_adjustment_new (1, 0.00999999977648, 100, 0.10000000149, 1, 0);
984 sx = gtk_spin_button_new (GTK_ADJUSTMENT (sx_adj), 1, 2);
985 gtk_widget_show (sx);
986 gtk_table_attach (GTK_TABLE (table3), sx, 1, 2, 1, 2,
987 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
988 (GtkAttachOptions) (0), 0, 0);
989 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (sx), TRUE);
990 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (sx), GTK_UPDATE_IF_VALID);
991
992 sy_adj = gtk_adjustment_new (1, 0.00999999977648, 100, 0.10000000149, 1, 0);
993 sy = gtk_spin_button_new (GTK_ADJUSTMENT (sy_adj), 1, 2);
994 gtk_widget_show (sy);
995 gtk_table_attach (GTK_TABLE (table3), sy, 1, 2, 2, 3,
996 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
997 (GtkAttachOptions) (0), 0, 0);
998 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (sy), TRUE);
999 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (sy), GTK_UPDATE_IF_VALID);
1000
1001 sz_adj = gtk_adjustment_new (1, 0.00999999977648, 100, 0.10000000149, 1, 0);
1002 sz = gtk_spin_button_new (GTK_ADJUSTMENT (sz_adj), 1, 2);
1003 gtk_widget_show (sz);
1004 gtk_table_attach (GTK_TABLE (table3), sz, 1, 2, 3, 4,
1005 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1006 (GtkAttachOptions) (0), 0, 0);
1007 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (sz), TRUE);
1008 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (sz), GTK_UPDATE_IF_VALID);
1009
1010 label16 = gtk_label_new ("Basic");
1011 gtk_widget_show (label16);
1012 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label16);
1013
1014 table20 = gtk_table_new (4, 2, FALSE);
1015 gtk_widget_show (table20);
1016 gtk_container_add (GTK_CONTAINER (notebook1), table20);
1017 gtk_container_set_border_width (GTK_CONTAINER (table20), 4);
1018 gtk_table_set_row_spacings (GTK_TABLE (table20), 4);
1019 gtk_table_set_col_spacings (GTK_TABLE (table20), 4);
1020
1021 label33 = gtk_label_new ("Reactivity");
1022 gtk_widget_show (label33);
1023 gtk_table_attach (GTK_TABLE (table20), label33, 0, 1, 3, 4,
1024 (GtkAttachOptions) (GTK_FILL),
1025 (GtkAttachOptions) (0), 0, 0);
1026 gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
1027
1028 reactivity_adj = gtk_adjustment_new (0.10000000149, 0.00999999977648, 1, 0.00999999977648, 0.10000000149, 0);
1029 reactivity = gtk_spin_button_new (GTK_ADJUSTMENT (reactivity_adj), 1, 2);
1030 gtk_widget_show (reactivity);
1031 gtk_table_attach (GTK_TABLE (table20), reactivity, 1, 2, 3, 4,
1032 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1033 (GtkAttachOptions) (0), 0, 0);
1034 gtk_tooltips_set_tip (tooltips, reactivity, "Maximum update time (sec)", NULL);
1035 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (reactivity), TRUE);
1036
1037 label26 = gtk_label_new ("Lines closer");
1038 gtk_widget_show (label26);
1039 gtk_table_attach (GTK_TABLE (table20), label26, 0, 1, 2, 3,
1040 (GtkAttachOptions) (GTK_FILL),
1041 (GtkAttachOptions) (0), 0, 0);
1042 gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
1043
1044 lc_adj = gtk_adjustment_new (0.001, 0, 0.1, 0.001, 0.01, 0);
1045 lc = gtk_spin_button_new (GTK_ADJUSTMENT (lc_adj), 0.00999999977648, 3);
1046 gtk_widget_show (lc);
1047 gtk_table_attach (GTK_TABLE (table20), lc, 1, 2, 2, 3,
1048 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1049 (GtkAttachOptions) (0), 0, 0);
1050 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (lc), TRUE);
1051 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (lc), GTK_UPDATE_IF_VALID);
1052
1053 label18 = gtk_label_new ("Resolution");
1054 gtk_widget_show (label18);
1055 gtk_table_attach (GTK_TABLE (table20), label18, 0, 1, 1, 2,
1056 (GtkAttachOptions) (GTK_FILL),
1057 (GtkAttachOptions) (0), 0, 0);
1058 gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
1059
1060 resolution_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 0);
1061 resolution = gtk_spin_button_new (GTK_ADJUSTMENT (resolution_adj), 1, 0);
1062 gtk_widget_show (resolution);
1063 gtk_table_attach (GTK_TABLE (table20), resolution, 1, 2, 1, 2,
1064 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1065 (GtkAttachOptions) (0), 0, 0);
1066 gtk_tooltips_set_tip (tooltips, resolution, "Resolution in pixels", NULL);
1067 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (resolution), TRUE);
1068 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (resolution), GTK_UPDATE_IF_VALID);
1069
1070 scripting_label = gtk_label_new ("Scripting");
1071 gtk_widget_show (scripting_label);
1072 gtk_table_attach (GTK_TABLE (table20), scripting_label, 0, 1, 0, 1,
1073 (GtkAttachOptions) (GTK_FILL),
1074 (GtkAttachOptions) (0), 0, 0);
1075 gtk_misc_set_alignment (GTK_MISC (scripting_label), 0, 0.5);
1076
1077 scripting = gtk_hbox_new (FALSE, 4);
1078 gtk_widget_show (scripting);
1079 gtk_table_attach (GTK_TABLE (table20), scripting, 1, 2, 0, 1,
1080 (GtkAttachOptions) (GTK_FILL),
1081 (GtkAttachOptions) (GTK_FILL), 0, 0);
1082
1083 scripting_on = gtk_radio_button_new_with_mnemonic (NULL, "on");
1084 gtk_widget_show (scripting_on);
1085 gtk_box_pack_start (GTK_BOX (scripting), scripting_on, FALSE, FALSE, 0);
1086 gtk_radio_button_set_group (GTK_RADIO_BUTTON (scripting_on), scripting_on_group);
1087 scripting_on_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (scripting_on));
1088
1089 scripting_off = gtk_radio_button_new_with_mnemonic (NULL, "off");
1090 gtk_widget_show (scripting_off);
1091 gtk_box_pack_start (GTK_BOX (scripting), scripting_off, FALSE, FALSE, 0);
1092 gtk_radio_button_set_group (GTK_RADIO_BUTTON (scripting_off), scripting_on_group);
1093 scripting_on_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (scripting_off));
1094
1095 label53 = gtk_label_new ("Advanced");
1096 gtk_widget_show (label53);
1097 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label53);
1098
1099 g_signal_connect ((gpointer) bgcolor, "clicked",
1100 G_CALLBACK (on_bgcolor_clicked),
1101 NULL);
1102 g_signal_connect ((gpointer) sx, "value_changed",
1103 G_CALLBACK (on_x_scaling_changed),
1104 NULL);
1105 g_signal_connect ((gpointer) sy, "value_changed",
1106 G_CALLBACK (on_y_scaling_changed),
1107 NULL);
1108 g_signal_connect ((gpointer) sz, "value_changed",
1109 G_CALLBACK (on_z_scaling_changed),
1110 NULL);
1111 g_signal_connect ((gpointer) reactivity, "value_changed",
1112 G_CALLBACK (on_reactivity_changed),
1113 NULL);
1114 g_signal_connect ((gpointer) lc, "value_changed",
1115 G_CALLBACK (on_lines_closer_changed),
1116 NULL);
1117 g_signal_connect ((gpointer) resolution, "value_changed",
1118 G_CALLBACK (on_resolution_changed),
1119 NULL);
1120 g_signal_connect ((gpointer) scripting_on, "toggled",
1121 G_CALLBACK (on_scripting_toggled),
1122 NULL);
1123
1124 /* Store pointers to all widgets, for use by lookup_widget(). */
1125 GLADE_HOOKUP_OBJECT_NO_REF (preferences, preferences, "preferences");
1126 GLADE_HOOKUP_OBJECT (preferences, notebook1, "notebook1");
1127 GLADE_HOOKUP_OBJECT (preferences, table3, "table3");
1128 GLADE_HOOKUP_OBJECT (preferences, label17, "label17");
1129 GLADE_HOOKUP_OBJECT (preferences, bgcolor, "bgcolor");
1130 GLADE_HOOKUP_OBJECT (preferences, label98, "label98");
1131 GLADE_HOOKUP_OBJECT (preferences, label99, "label99");
1132 GLADE_HOOKUP_OBJECT (preferences, sz_label, "sz_label");
1133 GLADE_HOOKUP_OBJECT (preferences, sx, "sx");
1134 GLADE_HOOKUP_OBJECT (preferences, sy, "sy");
1135 GLADE_HOOKUP_OBJECT (preferences, sz, "sz");
1136 GLADE_HOOKUP_OBJECT (preferences, label16, "label16");
1137 GLADE_HOOKUP_OBJECT (preferences, table20, "table20");
1138 GLADE_HOOKUP_OBJECT (preferences, label33, "label33");
1139 GLADE_HOOKUP_OBJECT (preferences, reactivity, "reactivity");
1140 GLADE_HOOKUP_OBJECT (preferences, label26, "label26");
1141 GLADE_HOOKUP_OBJECT (preferences, lc, "lc");
1142 GLADE_HOOKUP_OBJECT (preferences, label18, "label18");
1143 GLADE_HOOKUP_OBJECT (preferences, resolution, "resolution");
1144 GLADE_HOOKUP_OBJECT (preferences, scripting_label, "scripting_label");
1145 GLADE_HOOKUP_OBJECT (preferences, scripting, "scripting");
1146 GLADE_HOOKUP_OBJECT (preferences, scripting_on, "scripting_on");
1147 GLADE_HOOKUP_OBJECT (preferences, scripting_off, "scripting_off");
1148 GLADE_HOOKUP_OBJECT (preferences, label53, "label53");
1149 GLADE_HOOKUP_OBJECT_NO_REF (preferences, tooltips, "tooltips");
1150
1151 return preferences;
1152 }
1153
1154 GtkWidget*
1155 create_bg_color_selector (void)
1156 {
1157 GtkWidget *bg_color_selector;
1158 GtkWidget *vbox5;
1159 GtkWidget *colorselection2;
1160 GtkWidget *hseparator2;
1161 GtkWidget *hbuttonbox2;
1162 GtkWidget *button9;
1163 GtkWidget *button10;
1164
1165 bg_color_selector = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1166 gtk_window_set_title (GTK_WINDOW (bg_color_selector), "Color selector");
1167
1168 vbox5 = gtk_vbox_new (FALSE, 0);
1169 gtk_widget_show (vbox5);
1170 gtk_container_add (GTK_CONTAINER (bg_color_selector), vbox5);
1171
1172 colorselection2 = gtk_color_selection_new ();
1173 gtk_widget_show (colorselection2);
1174 gtk_box_pack_start (GTK_BOX (vbox5), colorselection2, FALSE, FALSE, 0);
1175 gtk_container_set_border_width (GTK_CONTAINER (colorselection2), 4);
1176 gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (colorselection2), TRUE);
1177
1178 hseparator2 = gtk_hseparator_new ();
1179 gtk_widget_show (hseparator2);
1180 gtk_box_pack_start (GTK_BOX (vbox5), hseparator2, TRUE, TRUE, 0);
1181
1182 hbuttonbox2 = gtk_hbutton_box_new ();
1183 gtk_widget_show (hbuttonbox2);
1184 gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox2, FALSE, FALSE, 0);
1185 gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 4);
1186 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_SPREAD);
1187
1188 button9 = gtk_button_new_from_stock ("gtk-ok");
1189 gtk_widget_show (button9);
1190 gtk_container_add (GTK_CONTAINER (hbuttonbox2), button9);
1191 GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT);
1192
1193 button10 = gtk_button_new_from_stock ("gtk-cancel");
1194 gtk_widget_show (button10);
1195 gtk_container_add (GTK_CONTAINER (hbuttonbox2), button10);
1196 GTK_WIDGET_SET_FLAGS (button10, GTK_CAN_DEFAULT);
1197
1198 g_signal_connect ((gpointer) button9, "clicked",
1199 G_CALLBACK (on_bg_color_selector_clicked),
1200 NULL);
1201 g_signal_connect_swapped ((gpointer) button10, "clicked",
1202 G_CALLBACK (gtk_widget_hide),
1203 GTK_OBJECT (bg_color_selector));
1204
1205 /* Store pointers to all widgets, for use by lookup_widget(). */
1206 GLADE_HOOKUP_OBJECT_NO_REF (bg_color_selector, bg_color_selector, "bg_color_selector");
1207 GLADE_HOOKUP_OBJECT (bg_color_selector, vbox5, "vbox5");
1208 GLADE_HOOKUP_OBJECT (bg_color_selector, colorselection2, "colorselection2");
1209 GLADE_HOOKUP_OBJECT (bg_color_selector, hseparator2, "hseparator2");
1210 GLADE_HOOKUP_OBJECT (bg_color_selector, hbuttonbox2, "hbuttonbox2");
1211 GLADE_HOOKUP_OBJECT (bg_color_selector, button9, "button9");
1212 GLADE_HOOKUP_OBJECT (bg_color_selector, button10, "button10");
1213
1214 return bg_color_selector;
1215 }
1216
1217 GtkWidget*
1218 create_gl2ps (void)
1219 {
1220 GtkWidget *gl2ps;
1221 GtkWidget *vbox6;
1222 GtkWidget *notebook2;
1223 GtkWidget *table5;
1224 GtkWidget *label22;
1225 GtkWidget *entry2;
1226 GtkWidget *button14;
1227 GtkWidget *label23;
1228 GtkWidget *format;
1229 GtkWidget *menu2;
1230 GtkWidget *portable_pixmap1;
1231 GtkWidget *postscript1;
1232 GtkWidget *encapsulated_postscript1;
1233 GtkWidget *portable_document_format1;
1234 GtkWidget *scalable_vector_graphics;
1235 GtkWidget *gnuplot1;
1236 GtkWidget *wavefront_obj1;
1237 GtkWidget *kml_obj;
1238 GtkWidget *latex1;
1239 GtkWidget *gfsview;
1240 GtkWidget *gerris;
1241 GtkWidget *orientationlabel;
1242 GtkWidget *orientationmenu;
1243 GtkWidget *menu4;
1244 GtkWidget *portrait1;
1245 GtkWidget *landscape1;
1246 GtkWidget *label25;
1247 GtkObject *spinbutton1_adj;
1248 GtkWidget *spinbutton1;
1249 GtkWidget *label20;
1250 GtkWidget *vbox11;
1251 GtkWidget *ppm_options;
1252 GtkWidget *label74;
1253 GtkWidget *screen;
1254 GtkWidget *size;
1255 GtkWidget *label76;
1256 GtkObject *width_adj;
1257 GtkWidget *width;
1258 GtkWidget *label73;
1259 GtkObject *height_adj;
1260 GtkWidget *height;
1261 GtkWidget *keep_ratio;
1262 GtkWidget *gl2ps_options;
1263 GtkWidget *label24;
1264 GtkWidget *sort;
1265 GtkWidget *menu3;
1266 GtkWidget *none1;
1267 GtkWidget *barycenter1;
1268 GtkWidget *bsp_tree1;
1269 GtkWidget *checkbutton1;
1270 GtkWidget *checkbutton2;
1271 GtkWidget *checkbutton3;
1272 GtkWidget *checkbutton4;
1273 GtkWidget *checkbutton5;
1274 GtkWidget *label21;
1275 GtkWidget *hseparator3;
1276 GtkWidget *hbuttonbox3;
1277 GtkWidget *button12;
1278 GtkWidget *button13;
1279 GtkTooltips *tooltips;
1280
1281 tooltips = gtk_tooltips_new ();
1282
1283 gl2ps = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1284 gtk_container_set_border_width (GTK_CONTAINER (gl2ps), 4);
1285 gtk_window_set_title (GTK_WINDOW (gl2ps), "Save as");
1286
1287 vbox6 = gtk_vbox_new (FALSE, 0);
1288 gtk_widget_show (vbox6);
1289 gtk_container_add (GTK_CONTAINER (gl2ps), vbox6);
1290
1291 notebook2 = gtk_notebook_new ();
1292 gtk_widget_show (notebook2);
1293 gtk_box_pack_start (GTK_BOX (vbox6), notebook2, TRUE, TRUE, 0);
1294
1295 table5 = gtk_table_new (4, 3, FALSE);
1296 gtk_widget_show (table5);
1297 gtk_container_add (GTK_CONTAINER (notebook2), table5);
1298 gtk_container_set_border_width (GTK_CONTAINER (table5), 4);
1299 gtk_table_set_row_spacings (GTK_TABLE (table5), 4);
1300 gtk_table_set_col_spacings (GTK_TABLE (table5), 4);
1301
1302 label22 = gtk_label_new ("Path");
1303 gtk_widget_show (label22);
1304 gtk_table_attach (GTK_TABLE (table5), label22, 0, 1, 0, 1,
1305 (GtkAttachOptions) (GTK_FILL),
1306 (GtkAttachOptions) (0), 0, 0);
1307 gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5);
1308
1309 entry2 = gtk_entry_new ();
1310 gtk_widget_show (entry2);
1311 gtk_table_attach (GTK_TABLE (table5), entry2, 1, 2, 0, 1,
1312 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1313 (GtkAttachOptions) (0), 0, 0);
1314
1315 button14 = gtk_button_new_with_mnemonic ("Browse...");
1316 gtk_widget_show (button14);
1317 gtk_table_attach (GTK_TABLE (table5), button14, 2, 3, 0, 1,
1318 (GtkAttachOptions) (GTK_FILL),
1319 (GtkAttachOptions) (0), 0, 0);
1320
1321 label23 = gtk_label_new ("Format");
1322 gtk_widget_show (label23);
1323 gtk_table_attach (GTK_TABLE (table5), label23, 0, 1, 1, 2,
1324 (GtkAttachOptions) (GTK_FILL),
1325 (GtkAttachOptions) (0), 0, 0);
1326 gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
1327
1328 format = gtk_option_menu_new ();
1329 gtk_widget_show (format);
1330 gtk_table_attach (GTK_TABLE (table5), format, 1, 2, 1, 2,
1331 (GtkAttachOptions) (GTK_FILL),
1332 (GtkAttachOptions) (0), 0, 0);
1333
1334 menu2 = gtk_menu_new ();
1335
1336 portable_pixmap1 = gtk_menu_item_new_with_mnemonic ("Portable PixMap (PPM)");
1337 gtk_widget_show (portable_pixmap1);
1338 gtk_container_add (GTK_CONTAINER (menu2), portable_pixmap1);
1339
1340 postscript1 = gtk_menu_item_new_with_mnemonic ("Postscript (PS)");
1341 gtk_widget_show (postscript1);
1342 gtk_container_add (GTK_CONTAINER (menu2), postscript1);
1343
1344 encapsulated_postscript1 = gtk_menu_item_new_with_mnemonic ("Encapsulated Postscript (EPS)");
1345 gtk_widget_show (encapsulated_postscript1);
1346 gtk_container_add (GTK_CONTAINER (menu2), encapsulated_postscript1);
1347
1348 portable_document_format1 = gtk_menu_item_new_with_mnemonic ("Portable Document Format (PDF)");
1349 gtk_widget_show (portable_document_format1);
1350 gtk_container_add (GTK_CONTAINER (menu2), portable_document_format1);
1351
1352 scalable_vector_graphics = gtk_menu_item_new_with_mnemonic ("Scalable Vector Graphics (SVG)");
1353 gtk_widget_show (scalable_vector_graphics);
1354 gtk_container_add (GTK_CONTAINER (menu2), scalable_vector_graphics);
1355
1356 gnuplot1 = gtk_menu_item_new_with_mnemonic ("Gnuplot");
1357 gtk_widget_show (gnuplot1);
1358 gtk_container_add (GTK_CONTAINER (menu2), gnuplot1);
1359
1360 wavefront_obj1 = gtk_menu_item_new_with_mnemonic ("Wavefront OBJ");
1361 gtk_widget_show (wavefront_obj1);
1362 gtk_container_add (GTK_CONTAINER (menu2), wavefront_obj1);
1363
1364 kml_obj = gtk_menu_item_new_with_mnemonic ("Google Earth KML");
1365 gtk_widget_show (kml_obj);
1366 gtk_container_add (GTK_CONTAINER (menu2), kml_obj);
1367
1368 latex1 = gtk_menu_item_new_with_mnemonic ("Latex (Text only)");
1369 gtk_widget_show (latex1);
1370 gtk_container_add (GTK_CONTAINER (menu2), latex1);
1371
1372 gfsview = gtk_menu_item_new_with_mnemonic ("GfsView (GFV)");
1373 gtk_widget_show (gfsview);
1374 gtk_container_add (GTK_CONTAINER (menu2), gfsview);
1375
1376 gerris = gtk_menu_item_new_with_mnemonic ("Gerris (GFS)");
1377 gtk_widget_show (gerris);
1378 gtk_container_add (GTK_CONTAINER (menu2), gerris);
1379
1380 gtk_option_menu_set_menu (GTK_OPTION_MENU (format), menu2);
1381
1382 orientationlabel = gtk_label_new ("Orientation");
1383 gtk_widget_show (orientationlabel);
1384 gtk_table_attach (GTK_TABLE (table5), orientationlabel, 0, 1, 2, 3,
1385 (GtkAttachOptions) (GTK_FILL),
1386 (GtkAttachOptions) (0), 0, 0);
1387 gtk_misc_set_alignment (GTK_MISC (orientationlabel), 0, 0.5);
1388
1389 orientationmenu = gtk_option_menu_new ();
1390 gtk_widget_show (orientationmenu);
1391 gtk_table_attach (GTK_TABLE (table5), orientationmenu, 1, 2, 2, 3,
1392 (GtkAttachOptions) (GTK_FILL),
1393 (GtkAttachOptions) (0), 0, 0);
1394
1395 menu4 = gtk_menu_new ();
1396
1397 portrait1 = gtk_menu_item_new_with_mnemonic ("Portrait");
1398 gtk_widget_show (portrait1);
1399 gtk_container_add (GTK_CONTAINER (menu4), portrait1);
1400
1401 landscape1 = gtk_menu_item_new_with_mnemonic ("Landscape");
1402 gtk_widget_show (landscape1);
1403 gtk_container_add (GTK_CONTAINER (menu4), landscape1);
1404
1405 gtk_option_menu_set_menu (GTK_OPTION_MENU (orientationmenu), menu4);
1406
1407 label25 = gtk_label_new ("Line width");
1408 gtk_widget_show (label25);
1409 gtk_table_attach (GTK_TABLE (table5), label25, 0, 1, 3, 4,
1410 (GtkAttachOptions) (GTK_FILL),
1411 (GtkAttachOptions) (0), 0, 0);
1412 gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
1413
1414 spinbutton1_adj = gtk_adjustment_new (1, 0.10000000149, 100, 0.10000000149, 1, 0);
1415 spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 1);
1416 gtk_widget_show (spinbutton1);
1417 gtk_table_attach (GTK_TABLE (table5), spinbutton1, 1, 2, 3, 4,
1418 (GtkAttachOptions) (GTK_FILL),
1419 (GtkAttachOptions) (0), 0, 0);
1420 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton1), TRUE);
1421
1422 label20 = gtk_label_new ("Basic");
1423 gtk_widget_show (label20);
1424 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), label20);
1425
1426 vbox11 = gtk_vbox_new (FALSE, 0);
1427 gtk_widget_show (vbox11);
1428 gtk_container_add (GTK_CONTAINER (notebook2), vbox11);
1429
1430 ppm_options = gtk_table_new (2, 2, FALSE);
1431 gtk_widget_show (ppm_options);
1432 gtk_box_pack_start (GTK_BOX (vbox11), ppm_options, FALSE, TRUE, 0);
1433 gtk_container_set_border_width (GTK_CONTAINER (ppm_options), 4);
1434 gtk_table_set_row_spacings (GTK_TABLE (ppm_options), 4);
1435 gtk_table_set_col_spacings (GTK_TABLE (ppm_options), 4);
1436
1437 label74 = gtk_label_new ("Size");
1438 gtk_widget_show (label74);
1439 gtk_table_attach (GTK_TABLE (ppm_options), label74, 0, 1, 0, 1,
1440 (GtkAttachOptions) (GTK_FILL),
1441 (GtkAttachOptions) (0), 0, 0);
1442 gtk_misc_set_alignment (GTK_MISC (label74), 0, 0.5);
1443
1444 screen = gtk_check_button_new_with_mnemonic ("Screen");
1445 gtk_widget_show (screen);
1446 gtk_table_attach (GTK_TABLE (ppm_options), screen, 1, 2, 0, 1,
1447 (GtkAttachOptions) (GTK_FILL),
1448 (GtkAttachOptions) (0), 0, 0);
1449 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (screen), TRUE);
1450
1451 size = gtk_hbox_new (FALSE, 4);
1452 gtk_widget_show (size);
1453 gtk_table_attach (GTK_TABLE (ppm_options), size, 1, 2, 1, 2,
1454 (GtkAttachOptions) (GTK_FILL),
1455 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
1456
1457 label76 = gtk_label_new ("Width");
1458 gtk_widget_show (label76);
1459 gtk_box_pack_start (GTK_BOX (size), label76, FALSE, FALSE, 0);
1460
1461 width_adj = gtk_adjustment_new (1280, 2, 2048, 2, 10, 0);
1462 width = gtk_spin_button_new (GTK_ADJUSTMENT (width_adj), 1, 0);
1463 gtk_widget_show (width);
1464 gtk_box_pack_start (GTK_BOX (size), width, TRUE, TRUE, 0);
1465 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (width), TRUE);
1466 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (width), GTK_UPDATE_IF_VALID);
1467 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (width), TRUE);
1468
1469 label73 = gtk_label_new ("Height");
1470 gtk_widget_show (label73);
1471 gtk_box_pack_start (GTK_BOX (size), label73, FALSE, FALSE, 0);
1472
1473 height_adj = gtk_adjustment_new (1024, 2, 2048, 2, 10, 0);
1474 height = gtk_spin_button_new (GTK_ADJUSTMENT (height_adj), 1, 0);
1475 gtk_widget_show (height);
1476 gtk_box_pack_start (GTK_BOX (size), height, TRUE, TRUE, 0);
1477 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (height), TRUE);
1478 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (height), GTK_UPDATE_IF_VALID);
1479 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (height), TRUE);
1480
1481 keep_ratio = gtk_check_button_new_with_mnemonic ("Keep ratio");
1482 gtk_widget_show (keep_ratio);
1483 gtk_box_pack_start (GTK_BOX (size), keep_ratio, FALSE, FALSE, 0);
1484 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (keep_ratio), TRUE);
1485
1486 gl2ps_options = gtk_table_new (6, 2, FALSE);
1487 gtk_widget_show (gl2ps_options);
1488 gtk_box_pack_start (GTK_BOX (vbox11), gl2ps_options, TRUE, TRUE, 0);
1489 gtk_container_set_border_width (GTK_CONTAINER (gl2ps_options), 4);
1490 gtk_table_set_row_spacings (GTK_TABLE (gl2ps_options), 4);
1491 gtk_table_set_col_spacings (GTK_TABLE (gl2ps_options), 4);
1492
1493 label24 = gtk_label_new ("Depth-sorting");
1494 gtk_widget_show (label24);
1495 gtk_table_attach (GTK_TABLE (gl2ps_options), label24, 0, 1, 0, 1,
1496 (GtkAttachOptions) (GTK_FILL),
1497 (GtkAttachOptions) (0), 0, 0);
1498 gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
1499
1500 sort = gtk_option_menu_new ();
1501 gtk_widget_show (sort);
1502 gtk_table_attach (GTK_TABLE (gl2ps_options), sort, 1, 2, 0, 1,
1503 (GtkAttachOptions) (GTK_FILL),
1504 (GtkAttachOptions) (0), 0, 0);
1505
1506 menu3 = gtk_menu_new ();
1507
1508 none1 = gtk_menu_item_new_with_mnemonic ("None");
1509 gtk_widget_show (none1);
1510 gtk_container_add (GTK_CONTAINER (menu3), none1);
1511
1512 barycenter1 = gtk_menu_item_new_with_mnemonic ("Barycenter");
1513 gtk_widget_show (barycenter1);
1514 gtk_container_add (GTK_CONTAINER (menu3), barycenter1);
1515
1516 bsp_tree1 = gtk_menu_item_new_with_mnemonic ("BSP tree");
1517 gtk_widget_show (bsp_tree1);
1518 gtk_container_add (GTK_CONTAINER (menu3), bsp_tree1);
1519
1520 gtk_option_menu_set_menu (GTK_OPTION_MENU (sort), menu3);
1521
1522 checkbutton1 = gtk_check_button_new_with_mnemonic ("Line offset");
1523 gtk_widget_show (checkbutton1);
1524 gtk_table_attach (GTK_TABLE (gl2ps_options), checkbutton1, 0, 1, 1, 2,
1525 (GtkAttachOptions) (GTK_FILL),
1526 (GtkAttachOptions) (0), 0, 0);
1527 gtk_tooltips_set_tip (tooltips, checkbutton1, "Simple line offset", NULL);
1528 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton1), TRUE);
1529
1530 checkbutton2 = gtk_check_button_new_with_mnemonic ("Best root");
1531 gtk_widget_show (checkbutton2);
1532 gtk_table_attach (GTK_TABLE (gl2ps_options), checkbutton2, 0, 1, 2, 3,
1533 (GtkAttachOptions) (GTK_FILL),
1534 (GtkAttachOptions) (0), 0, 0);
1535 gtk_tooltips_set_tip (tooltips, checkbutton2, "Optimizes BSP tree", NULL);
1536 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton2), TRUE);
1537
1538 checkbutton3 = gtk_check_button_new_with_mnemonic ("No text");
1539 gtk_widget_show (checkbutton3);
1540 gtk_table_attach (GTK_TABLE (gl2ps_options), checkbutton3, 0, 1, 3, 4,
1541 (GtkAttachOptions) (GTK_FILL),
1542 (GtkAttachOptions) (0), 0, 0);
1543 gtk_tooltips_set_tip (tooltips, checkbutton3, "Suppresses text strings", NULL);
1544
1545 checkbutton4 = gtk_check_button_new_with_mnemonic ("No pixmap");
1546 gtk_widget_show (checkbutton4);
1547 gtk_table_attach (GTK_TABLE (gl2ps_options), checkbutton4, 0, 1, 4, 5,
1548 (GtkAttachOptions) (GTK_FILL),
1549 (GtkAttachOptions) (0), 0, 0);
1550 gtk_tooltips_set_tip (tooltips, checkbutton4, "Suppresses pixmaps", NULL);
1551
1552 checkbutton5 = gtk_check_button_new_with_mnemonic ("No PS3 shading");
1553 gtk_widget_show (checkbutton5);
1554 gtk_table_attach (GTK_TABLE (gl2ps_options), checkbutton5, 0, 1, 5, 6,
1555 (GtkAttachOptions) (GTK_FILL),
1556 (GtkAttachOptions) (0), 0, 0);
1557 gtk_tooltips_set_tip (tooltips, checkbutton5, "Do not use PS Level 3 shfill operator", NULL);
1558
1559 label21 = gtk_label_new ("Options");
1560 gtk_widget_show (label21);
1561 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label21);
1562
1563 hseparator3 = gtk_hseparator_new ();
1564 gtk_widget_show (hseparator3);
1565 gtk_box_pack_start (GTK_BOX (vbox6), hseparator3, FALSE, FALSE, 0);
1566
1567 hbuttonbox3 = gtk_hbutton_box_new ();
1568 gtk_widget_show (hbuttonbox3);
1569 gtk_box_pack_start (GTK_BOX (vbox6), hbuttonbox3, FALSE, FALSE, 0);
1570 gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 4);
1571 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_SPREAD);
1572
1573 button12 = gtk_button_new_from_stock ("gtk-save");
1574 gtk_widget_show (button12);
1575 gtk_container_add (GTK_CONTAINER (hbuttonbox3), button12);
1576 GTK_WIDGET_SET_FLAGS (button12, GTK_CAN_DEFAULT);
1577
1578 button13 = gtk_button_new_from_stock ("gtk-cancel");
1579 gtk_widget_show (button13);
1580 gtk_container_add (GTK_CONTAINER (hbuttonbox3), button13);
1581 GTK_WIDGET_SET_FLAGS (button13, GTK_CAN_DEFAULT);
1582
1583 g_signal_connect ((gpointer) entry2, "changed",
1584 G_CALLBACK (on_entry2_changed),
1585 NULL);
1586 g_signal_connect ((gpointer) button14, "clicked",
1587 G_CALLBACK (on_browse_clicked),
1588 NULL);
1589 g_signal_connect ((gpointer) portable_pixmap1, "activate",
1590 G_CALLBACK (on_portable_pixmap1_activate),
1591 NULL);
1592 g_signal_connect ((gpointer) postscript1, "activate",
1593 G_CALLBACK (on_postscript1_activate),
1594 NULL);
1595 g_signal_connect ((gpointer) encapsulated_postscript1, "activate",
1596 G_CALLBACK (on_encapsulated_postscript1_activate),
1597 NULL);
1598 g_signal_connect ((gpointer) portable_document_format1, "activate",
1599 G_CALLBACK (on_portable_document_format1_activate),
1600 NULL);
1601 g_signal_connect ((gpointer) scalable_vector_graphics, "activate",
1602 G_CALLBACK (on_scalable_vector_graphics_activate),
1603 NULL);
1604 g_signal_connect ((gpointer) gnuplot1, "activate",
1605 G_CALLBACK (on_gnuplot1_activate),
1606 NULL);
1607 g_signal_connect ((gpointer) wavefront_obj1, "activate",
1608 G_CALLBACK (on_wavefront_obj1_activate),
1609 NULL);
1610 g_signal_connect ((gpointer) kml_obj, "activate",
1611 G_CALLBACK (on_kml_obj_activate),
1612 NULL);
1613 g_signal_connect ((gpointer) latex1, "activate",
1614 G_CALLBACK (on_latex1_activate),
1615 NULL);
1616 g_signal_connect ((gpointer) gfsview, "activate",
1617 G_CALLBACK (on_gfsview_activate),
1618 NULL);
1619 g_signal_connect ((gpointer) gerris, "activate",
1620 G_CALLBACK (on_gerris_activate),
1621 NULL);
1622 g_signal_connect ((gpointer) portrait1, "activate",
1623 G_CALLBACK (on_portrait1_activate),
1624 NULL);
1625 g_signal_connect ((gpointer) landscape1, "activate",
1626 G_CALLBACK (on_landscape1_activate),
1627 NULL);
1628 g_signal_connect ((gpointer) spinbutton1, "value_changed",
1629 G_CALLBACK (on_line_width_changed),
1630 NULL);
1631 g_signal_connect ((gpointer) screen, "toggled",
1632 G_CALLBACK (on_screen_ppm_toggled),
1633 NULL);
1634 g_signal_connect ((gpointer) width, "value_changed",
1635 G_CALLBACK (on_width_value_changed),
1636 NULL);
1637 g_signal_connect ((gpointer) height, "value_changed",
1638 G_CALLBACK (on_height_value_changed),
1639 NULL);
1640 g_signal_connect ((gpointer) keep_ratio, "toggled",
1641 G_CALLBACK (on_keep_ratio_toggled),
1642 NULL);
1643 g_signal_connect ((gpointer) none1, "activate",
1644 G_CALLBACK (on_none1_activate),
1645 NULL);
1646 g_signal_connect ((gpointer) barycenter1, "activate",
1647 G_CALLBACK (on_barycenter1_activate),
1648 NULL);
1649 g_signal_connect ((gpointer) bsp_tree1, "activate",
1650 G_CALLBACK (on_bsp_tree1_activate),
1651 NULL);
1652 g_signal_connect ((gpointer) checkbutton1, "toggled",
1653 G_CALLBACK (on_line_offset_toggled),
1654 NULL);
1655 g_signal_connect ((gpointer) checkbutton2, "toggled",
1656 G_CALLBACK (on_best_root_toggled),
1657 NULL);
1658 g_signal_connect ((gpointer) checkbutton3, "toggled",
1659 G_CALLBACK (on_no_text_toggled),
1660 NULL);
1661 g_signal_connect ((gpointer) checkbutton4, "toggled",
1662 G_CALLBACK (on_no_pixmap_toggled),
1663 NULL);
1664 g_signal_connect ((gpointer) checkbutton5, "toggled",
1665 G_CALLBACK (on_no_ps3_toggled),
1666 NULL);
1667 g_signal_connect ((gpointer) button12, "clicked",
1668 G_CALLBACK (on_save_as_button_clicked),
1669 NULL);
1670 g_signal_connect_swapped ((gpointer) button13, "clicked",
1671 G_CALLBACK (gtk_widget_hide),
1672 GTK_OBJECT (gl2ps));
1673
1674 /* Store pointers to all widgets, for use by lookup_widget(). */
1675 GLADE_HOOKUP_OBJECT_NO_REF (gl2ps, gl2ps, "gl2ps");
1676 GLADE_HOOKUP_OBJECT (gl2ps, vbox6, "vbox6");
1677 GLADE_HOOKUP_OBJECT (gl2ps, notebook2, "notebook2");
1678 GLADE_HOOKUP_OBJECT (gl2ps, table5, "table5");
1679 GLADE_HOOKUP_OBJECT (gl2ps, label22, "label22");
1680 GLADE_HOOKUP_OBJECT (gl2ps, entry2, "entry2");
1681 GLADE_HOOKUP_OBJECT (gl2ps, button14, "button14");
1682 GLADE_HOOKUP_OBJECT (gl2ps, label23, "label23");
1683 GLADE_HOOKUP_OBJECT (gl2ps, format, "format");
1684 GLADE_HOOKUP_OBJECT (gl2ps, menu2, "menu2");
1685 GLADE_HOOKUP_OBJECT (gl2ps, portable_pixmap1, "portable_pixmap1");
1686 GLADE_HOOKUP_OBJECT (gl2ps, postscript1, "postscript1");
1687 GLADE_HOOKUP_OBJECT (gl2ps, encapsulated_postscript1, "encapsulated_postscript1");
1688 GLADE_HOOKUP_OBJECT (gl2ps, portable_document_format1, "portable_document_format1");
1689 GLADE_HOOKUP_OBJECT (gl2ps, scalable_vector_graphics, "scalable_vector_graphics");
1690 GLADE_HOOKUP_OBJECT (gl2ps, gnuplot1, "gnuplot1");
1691 GLADE_HOOKUP_OBJECT (gl2ps, wavefront_obj1, "wavefront_obj1");
1692 GLADE_HOOKUP_OBJECT (gl2ps, latex1, "latex1");
1693 GLADE_HOOKUP_OBJECT (gl2ps, gfsview, "gfsview");
1694 GLADE_HOOKUP_OBJECT (gl2ps, gerris, "gerris");
1695 GLADE_HOOKUP_OBJECT (gl2ps, orientationlabel, "orientationlabel");
1696 GLADE_HOOKUP_OBJECT (gl2ps, orientationmenu, "orientationmenu");
1697 GLADE_HOOKUP_OBJECT (gl2ps, menu4, "menu4");
1698 GLADE_HOOKUP_OBJECT (gl2ps, portrait1, "portrait1");
1699 GLADE_HOOKUP_OBJECT (gl2ps, landscape1, "landscape1");
1700 GLADE_HOOKUP_OBJECT (gl2ps, label25, "label25");
1701 GLADE_HOOKUP_OBJECT (gl2ps, spinbutton1, "spinbutton1");
1702 GLADE_HOOKUP_OBJECT (gl2ps, label20, "label20");
1703 GLADE_HOOKUP_OBJECT (gl2ps, vbox11, "vbox11");
1704 GLADE_HOOKUP_OBJECT (gl2ps, ppm_options, "ppm_options");
1705 GLADE_HOOKUP_OBJECT (gl2ps, label74, "label74");
1706 GLADE_HOOKUP_OBJECT (gl2ps, screen, "screen");
1707 GLADE_HOOKUP_OBJECT (gl2ps, size, "size");
1708 GLADE_HOOKUP_OBJECT (gl2ps, label76, "label76");
1709 GLADE_HOOKUP_OBJECT (gl2ps, width, "width");
1710 GLADE_HOOKUP_OBJECT (gl2ps, label73, "label73");
1711 GLADE_HOOKUP_OBJECT (gl2ps, height, "height");
1712 GLADE_HOOKUP_OBJECT (gl2ps, keep_ratio, "keep_ratio");
1713 GLADE_HOOKUP_OBJECT (gl2ps, gl2ps_options, "gl2ps_options");
1714 GLADE_HOOKUP_OBJECT (gl2ps, label24, "label24");
1715 GLADE_HOOKUP_OBJECT (gl2ps, sort, "sort");
1716 GLADE_HOOKUP_OBJECT (gl2ps, menu3, "menu3");
1717 GLADE_HOOKUP_OBJECT (gl2ps, none1, "none1");
1718 GLADE_HOOKUP_OBJECT (gl2ps, barycenter1, "barycenter1");
1719 GLADE_HOOKUP_OBJECT (gl2ps, bsp_tree1, "bsp_tree1");
1720 GLADE_HOOKUP_OBJECT (gl2ps, checkbutton1, "checkbutton1");
1721 GLADE_HOOKUP_OBJECT (gl2ps, checkbutton2, "checkbutton2");
1722 GLADE_HOOKUP_OBJECT (gl2ps, checkbutton3, "checkbutton3");
1723 GLADE_HOOKUP_OBJECT (gl2ps, checkbutton4, "checkbutton4");
1724 GLADE_HOOKUP_OBJECT (gl2ps, checkbutton5, "checkbutton5");
1725 GLADE_HOOKUP_OBJECT (gl2ps, label21, "label21");
1726 GLADE_HOOKUP_OBJECT (gl2ps, hseparator3, "hseparator3");
1727 GLADE_HOOKUP_OBJECT (gl2ps, hbuttonbox3, "hbuttonbox3");
1728 GLADE_HOOKUP_OBJECT (gl2ps, button12, "button12");
1729 GLADE_HOOKUP_OBJECT (gl2ps, button13, "button13");
1730 GLADE_HOOKUP_OBJECT_NO_REF (gl2ps, tooltips, "tooltips");
1731
1732 gtk_widget_grab_default (button12);
1733 return gl2ps;
1734 }
1735
1736 GtkWidget*
1737 create_about (void)
1738 {
1739 GtkWidget *about;
1740 GtkWidget *vbox7;
1741 GtkWidget *vbox8;
1742 GtkWidget *image1;
1743 GtkWidget *label28;
1744 GtkWidget *label27;
1745 GtkWidget *hseparator4;
1746 GtkWidget *hbuttonbox4;
1747 GtkWidget *button15;
1748
1749 about = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1750 gtk_container_set_border_width (GTK_CONTAINER (about), 4);
1751 gtk_window_set_title (GTK_WINDOW (about), "About GfsView");
1752
1753 vbox7 = gtk_vbox_new (FALSE, 4);
1754 gtk_widget_show (vbox7);
1755 gtk_container_add (GTK_CONTAINER (about), vbox7);
1756
1757 vbox8 = gtk_vbox_new (FALSE, 16);
1758 gtk_widget_show (vbox8);
1759 gtk_box_pack_start (GTK_BOX (vbox7), vbox8, TRUE, TRUE, 0);
1760 gtk_container_set_border_width (GTK_CONTAINER (vbox8), 8);
1761
1762 image1 = create_pixmap (about, "gerris_small.png");
1763 gtk_widget_show (image1);
1764 gtk_box_pack_start (GTK_BOX (vbox8), image1, FALSE, FALSE, 0);
1765
1766 label28 = gtk_label_new ("GfsView is a viewer for Gerris simulation files");
1767 gtk_widget_show (label28);
1768 gtk_box_pack_start (GTK_BOX (vbox8), label28, FALSE, FALSE, 0);
1769
1770 label27 = gtk_label_new ("<small>(C) 2004-2010 St\303\251phane Popinet, NIWA</small>");
1771 gtk_widget_show (label27);
1772 gtk_box_pack_start (GTK_BOX (vbox8), label27, FALSE, FALSE, 0);
1773 gtk_label_set_use_markup (GTK_LABEL (label27), TRUE);
1774
1775 hseparator4 = gtk_hseparator_new ();
1776 gtk_widget_show (hseparator4);
1777 gtk_box_pack_start (GTK_BOX (vbox7), hseparator4, FALSE, FALSE, 0);
1778
1779 hbuttonbox4 = gtk_hbutton_box_new ();
1780 gtk_widget_show (hbuttonbox4);
1781 gtk_box_pack_start (GTK_BOX (vbox7), hbuttonbox4, FALSE, FALSE, 0);
1782 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_END);
1783
1784 button15 = gtk_button_new_from_stock ("gtk-ok");
1785 gtk_widget_show (button15);
1786 gtk_container_add (GTK_CONTAINER (hbuttonbox4), button15);
1787 GTK_WIDGET_SET_FLAGS (button15, GTK_CAN_DEFAULT);
1788
1789 g_signal_connect_swapped ((gpointer) button15, "clicked",
1790 G_CALLBACK (gtk_widget_hide),
1791 GTK_OBJECT (about));
1792
1793 /* Store pointers to all widgets, for use by lookup_widget(). */
1794 GLADE_HOOKUP_OBJECT_NO_REF (about, about, "about");
1795 GLADE_HOOKUP_OBJECT (about, vbox7, "vbox7");
1796 GLADE_HOOKUP_OBJECT (about, vbox8, "vbox8");
1797 GLADE_HOOKUP_OBJECT (about, image1, "image1");
1798 GLADE_HOOKUP_OBJECT (about, label28, "label28");
1799 GLADE_HOOKUP_OBJECT (about, label27, "label27");
1800 GLADE_HOOKUP_OBJECT (about, hseparator4, "hseparator4");
1801 GLADE_HOOKUP_OBJECT (about, hbuttonbox4, "hbuttonbox4");
1802 GLADE_HOOKUP_OBJECT (about, button15, "button15");
1803
1804 return about;
1805 }
1806
1807 GtkWidget*
1808 create_isoline_params (void)
1809 {
1810 GtkWidget *isoline_params;
1811 GtkWidget *table1;
1812 GtkWidget *label29;
1813 GtkWidget *label30;
1814 GtkWidget *label31;
1815 GtkWidget *amin;
1816 GtkWidget *amax;
1817 GtkObject *spinbuttonmin_adj;
1818 GtkWidget *spinbuttonmin;
1819 GtkObject *spinbuttonmax_adj;
1820 GtkWidget *spinbuttonmax;
1821 GtkWidget *label32;
1822 GtkObject *spinbuttoniso_adj;
1823 GtkWidget *spinbuttoniso;
1824 GtkWidget *entryiso;
1825
1826 isoline_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1827 gtk_container_set_border_width (GTK_CONTAINER (isoline_params), 4);
1828 gtk_window_set_title (GTK_WINDOW (isoline_params), "Isoline");
1829
1830 table1 = gtk_table_new (4, 3, FALSE);
1831 gtk_widget_show (table1);
1832 gtk_container_add (GTK_CONTAINER (isoline_params), table1);
1833 gtk_table_set_row_spacings (GTK_TABLE (table1), 4);
1834 gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
1835
1836 label29 = gtk_label_new ("Scalar");
1837 gtk_widget_show (label29);
1838 gtk_table_attach (GTK_TABLE (table1), label29, 0, 1, 0, 1,
1839 (GtkAttachOptions) (GTK_FILL),
1840 (GtkAttachOptions) (0), 0, 0);
1841 gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5);
1842
1843 label30 = gtk_label_new ("Minimum");
1844 gtk_widget_show (label30);
1845 gtk_table_attach (GTK_TABLE (table1), label30, 0, 1, 1, 2,
1846 (GtkAttachOptions) (GTK_FILL),
1847 (GtkAttachOptions) (0), 0, 0);
1848 gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
1849
1850 label31 = gtk_label_new ("Maximum");
1851 gtk_widget_show (label31);
1852 gtk_table_attach (GTK_TABLE (table1), label31, 0, 1, 2, 3,
1853 (GtkAttachOptions) (GTK_FILL),
1854 (GtkAttachOptions) (0), 0, 0);
1855 gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
1856
1857 amin = gtk_check_button_new_with_mnemonic ("Auto");
1858 gtk_widget_show (amin);
1859 gtk_table_attach (GTK_TABLE (table1), amin, 1, 2, 1, 2,
1860 (GtkAttachOptions) (GTK_FILL),
1861 (GtkAttachOptions) (0), 0, 0);
1862 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (amin), TRUE);
1863
1864 amax = gtk_check_button_new_with_mnemonic ("Auto");
1865 gtk_widget_show (amax);
1866 gtk_table_attach (GTK_TABLE (table1), amax, 1, 2, 2, 3,
1867 (GtkAttachOptions) (GTK_FILL),
1868 (GtkAttachOptions) (0), 0, 0);
1869 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (amax), TRUE);
1870
1871 spinbuttonmin_adj = gtk_adjustment_new (0, -1.00000001505e+30, 1.00000001505e+30, 1, 10, 0);
1872 spinbuttonmin = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonmin_adj), 1, 5);
1873 gtk_widget_show (spinbuttonmin);
1874 gtk_table_attach (GTK_TABLE (table1), spinbuttonmin, 2, 3, 1, 2,
1875 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1876 (GtkAttachOptions) (0), 0, 0);
1877 gtk_widget_set_sensitive (spinbuttonmin, FALSE);
1878 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonmin), TRUE);
1879 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonmin), GTK_UPDATE_IF_VALID);
1880
1881 spinbuttonmax_adj = gtk_adjustment_new (0, -1.00000001505e+30, 1.00000001505e+30, 1, 10, 0);
1882 spinbuttonmax = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonmax_adj), 1, 5);
1883 gtk_widget_show (spinbuttonmax);
1884 gtk_table_attach (GTK_TABLE (table1), spinbuttonmax, 2, 3, 2, 3,
1885 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1886 (GtkAttachOptions) (0), 0, 0);
1887 gtk_widget_set_sensitive (spinbuttonmax, FALSE);
1888 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonmax), TRUE);
1889 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonmax), GTK_UPDATE_IF_VALID);
1890
1891 label32 = gtk_label_new ("Isolines");
1892 gtk_widget_show (label32);
1893 gtk_table_attach (GTK_TABLE (table1), label32, 0, 1, 3, 4,
1894 (GtkAttachOptions) (GTK_FILL),
1895 (GtkAttachOptions) (0), 0, 0);
1896 gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
1897
1898 spinbuttoniso_adj = gtk_adjustment_new (10, 0, 1000, 1, 10, 0);
1899 spinbuttoniso = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttoniso_adj), 1, 0);
1900 gtk_widget_show (spinbuttoniso);
1901 gtk_table_attach (GTK_TABLE (table1), spinbuttoniso, 1, 2, 3, 4,
1902 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1903 (GtkAttachOptions) (0), 0, 0);
1904 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttoniso), TRUE);
1905 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttoniso), GTK_UPDATE_IF_VALID);
1906
1907 entryiso = gtk_entry_new ();
1908 gtk_widget_show (entryiso);
1909 gtk_table_attach (GTK_TABLE (table1), entryiso, 2, 3, 3, 4,
1910 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1911 (GtkAttachOptions) (0), 0, 0);
1912
1913 g_signal_connect ((gpointer) amin, "toggled",
1914 G_CALLBACK (on_amin_toggled),
1915 NULL);
1916 g_signal_connect ((gpointer) amin, "toggled",
1917 G_CALLBACK (expose_gl),
1918 NULL);
1919 g_signal_connect ((gpointer) amax, "toggled",
1920 G_CALLBACK (on_amax_toggled),
1921 NULL);
1922 g_signal_connect ((gpointer) amax, "toggled",
1923 G_CALLBACK (expose_gl),
1924 NULL);
1925 g_signal_connect ((gpointer) spinbuttonmin, "value_changed",
1926 G_CALLBACK (on_spinbuttonmin_changed),
1927 NULL);
1928 g_signal_connect ((gpointer) spinbuttonmin, "changed",
1929 G_CALLBACK (mark_edited),
1930 NULL);
1931 g_signal_connect ((gpointer) spinbuttonmin, "move_cursor",
1932 G_CALLBACK (mark_edited),
1933 NULL);
1934 g_signal_connect ((gpointer) spinbuttonmin, "value_changed",
1935 G_CALLBACK (unmark_edited),
1936 NULL);
1937 g_signal_connect ((gpointer) spinbuttonmax, "value_changed",
1938 G_CALLBACK (on_spinbuttonmax_changed),
1939 NULL);
1940 g_signal_connect ((gpointer) spinbuttonmax, "changed",
1941 G_CALLBACK (mark_edited),
1942 NULL);
1943 g_signal_connect ((gpointer) spinbuttonmax, "move_cursor",
1944 G_CALLBACK (mark_edited),
1945 NULL);
1946 g_signal_connect ((gpointer) spinbuttonmax, "value_changed",
1947 G_CALLBACK (unmark_edited),
1948 NULL);
1949 g_signal_connect ((gpointer) spinbuttoniso, "value_changed",
1950 G_CALLBACK (on_spinbuttoniso_value_changed),
1951 NULL);
1952 g_signal_connect ((gpointer) entryiso, "activate",
1953 G_CALLBACK (on_entryiso_activate),
1954 NULL);
1955
1956 /* Store pointers to all widgets, for use by lookup_widget(). */
1957 GLADE_HOOKUP_OBJECT_NO_REF (isoline_params, isoline_params, "isoline_params");
1958 GLADE_HOOKUP_OBJECT (isoline_params, table1, "table1");
1959 GLADE_HOOKUP_OBJECT (isoline_params, label29, "label29");
1960 GLADE_HOOKUP_OBJECT (isoline_params, label30, "label30");
1961 GLADE_HOOKUP_OBJECT (isoline_params, label31, "label31");
1962 GLADE_HOOKUP_OBJECT (isoline_params, amin, "amin");
1963 GLADE_HOOKUP_OBJECT (isoline_params, amax, "amax");
1964 GLADE_HOOKUP_OBJECT (isoline_params, spinbuttonmin, "spinbuttonmin");
1965 GLADE_HOOKUP_OBJECT (isoline_params, spinbuttonmax, "spinbuttonmax");
1966 GLADE_HOOKUP_OBJECT (isoline_params, label32, "label32");
1967 GLADE_HOOKUP_OBJECT (isoline_params, spinbuttoniso, "spinbuttoniso");
1968 GLADE_HOOKUP_OBJECT (isoline_params, entryiso, "entryiso");
1969
1970 return isoline_params;
1971 }
1972
1973 GtkWidget*
1974 create_gl2D_params (void)
1975 {
1976 GtkWidget *gl2D_params;
1977 GtkWidget *table8;
1978 GtkWidget *label34;
1979 GtkWidget *label35;
1980 GtkWidget *hbox4;
1981 GtkObject *spinbuttonx_adj;
1982 GtkWidget *spinbuttonx;
1983 GtkObject *spinbuttony_adj;
1984 GtkWidget *spinbuttony;
1985 GtkObject *spinbuttonz_adj;
1986 GtkWidget *spinbuttonz;
1987 GtkObject *spinbuttonpos_adj;
1988 GtkWidget *spinbuttonpos;
1989
1990 gl2D_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1991 gtk_container_set_border_width (GTK_CONTAINER (gl2D_params), 4);
1992 gtk_window_set_title (GTK_WINDOW (gl2D_params), "window1");
1993
1994 table8 = gtk_table_new (2, 2, FALSE);
1995 gtk_widget_show (table8);
1996 gtk_container_add (GTK_CONTAINER (gl2D_params), table8);
1997 gtk_table_set_row_spacings (GTK_TABLE (table8), 4);
1998 gtk_table_set_col_spacings (GTK_TABLE (table8), 4);
1999
2000 label34 = gtk_label_new ("Plane normal");
2001 gtk_widget_show (label34);
2002 gtk_table_attach (GTK_TABLE (table8), label34, 0, 1, 0, 1,
2003 (GtkAttachOptions) (GTK_FILL),
2004 (GtkAttachOptions) (0), 0, 0);
2005 gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5);
2006
2007 label35 = gtk_label_new ("Plane position");
2008 gtk_widget_show (label35);
2009 gtk_table_attach (GTK_TABLE (table8), label35, 0, 1, 1, 2,
2010 (GtkAttachOptions) (GTK_FILL),
2011 (GtkAttachOptions) (0), 0, 0);
2012 gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
2013
2014 hbox4 = gtk_hbox_new (FALSE, 0);
2015 gtk_widget_show (hbox4);
2016 gtk_table_attach (GTK_TABLE (table8), hbox4, 1, 2, 0, 1,
2017 (GtkAttachOptions) (GTK_FILL),
2018 (GtkAttachOptions) (GTK_FILL), 0, 0);
2019
2020 spinbuttonx_adj = gtk_adjustment_new (0, -1, 1, 0.00999999977648, 0.019999999553, 0);
2021 spinbuttonx = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonx_adj), 0.019999999553, 2);
2022 gtk_widget_show (spinbuttonx);
2023 gtk_box_pack_start (GTK_BOX (hbox4), spinbuttonx, TRUE, TRUE, 0);
2024 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonx), TRUE);
2025 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonx), GTK_UPDATE_IF_VALID);
2026
2027 spinbuttony_adj = gtk_adjustment_new (0, -1, 1, 0.01, 0.02, 0);
2028 spinbuttony = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttony_adj), 0.019999999553, 2);
2029 gtk_widget_show (spinbuttony);
2030 gtk_box_pack_start (GTK_BOX (hbox4), spinbuttony, TRUE, TRUE, 0);
2031 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttony), TRUE);
2032 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttony), GTK_UPDATE_IF_VALID);
2033
2034 spinbuttonz_adj = gtk_adjustment_new (1, -1, 1, 0.01, 0.02, 0);
2035 spinbuttonz = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonz_adj), 0.019999999553, 2);
2036 gtk_widget_show (spinbuttonz);
2037 gtk_box_pack_start (GTK_BOX (hbox4), spinbuttonz, TRUE, TRUE, 0);
2038 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonz), TRUE);
2039 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonz), GTK_UPDATE_IF_VALID);
2040
2041 spinbuttonpos_adj = gtk_adjustment_new (0, -100, 100, 0.001, 0.01, 0);
2042 spinbuttonpos = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonpos_adj), 0.00999999977648, 4);
2043 gtk_widget_show (spinbuttonpos);
2044 gtk_table_attach (GTK_TABLE (table8), spinbuttonpos, 1, 2, 1, 2,
2045 (GtkAttachOptions) (GTK_FILL),
2046 (GtkAttachOptions) (0), 0, 0);
2047 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonpos), TRUE);
2048 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonpos), GTK_UPDATE_IF_VALID);
2049
2050 g_signal_connect ((gpointer) spinbuttonx, "value_changed",
2051 G_CALLBACK (on_spinbuttonx_changed),
2052 NULL);
2053 g_signal_connect ((gpointer) spinbuttony, "value_changed",
2054 G_CALLBACK (on_spinbuttony_changed),
2055 NULL);
2056 g_signal_connect ((gpointer) spinbuttonz, "value_changed",
2057 G_CALLBACK (on_spinbuttonz_changed),
2058 NULL);
2059 g_signal_connect ((gpointer) spinbuttonpos, "value_changed",
2060 G_CALLBACK (on_spinbuttonpos_changed),
2061 NULL);
2062
2063 /* Store pointers to all widgets, for use by lookup_widget(). */
2064 GLADE_HOOKUP_OBJECT_NO_REF (gl2D_params, gl2D_params, "gl2D_params");
2065 GLADE_HOOKUP_OBJECT (gl2D_params, table8, "table8");
2066 GLADE_HOOKUP_OBJECT (gl2D_params, label34, "label34");
2067 GLADE_HOOKUP_OBJECT (gl2D_params, label35, "label35");
2068 GLADE_HOOKUP_OBJECT (gl2D_params, hbox4, "hbox4");
2069 GLADE_HOOKUP_OBJECT (gl2D_params, spinbuttonx, "spinbuttonx");
2070 GLADE_HOOKUP_OBJECT (gl2D_params, spinbuttony, "spinbuttony");
2071 GLADE_HOOKUP_OBJECT (gl2D_params, spinbuttonz, "spinbuttonz");
2072 GLADE_HOOKUP_OBJECT (gl2D_params, spinbuttonpos, "spinbuttonpos");
2073
2074 return gl2D_params;
2075 }
2076
2077 GtkWidget*
2078 create_isosurface_params (void)
2079 {
2080 GtkWidget *isosurface_params;
2081 GtkWidget *table1;
2082 GtkWidget *label36;
2083 GtkWidget *label37;
2084 GtkObject *spinbuttonlevel_adj;
2085 GtkWidget *spinbuttonlevel;
2086 GtkWidget *label38;
2087 GtkWidget *reversed;
2088 GtkWidget *label52;
2089 GtkWidget *color;
2090
2091 isosurface_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2092 gtk_container_set_border_width (GTK_CONTAINER (isosurface_params), 4);
2093 gtk_window_set_title (GTK_WINDOW (isosurface_params), "Isosurface");
2094
2095 table1 = gtk_table_new (4, 2, FALSE);
2096 gtk_widget_show (table1);
2097 gtk_container_add (GTK_CONTAINER (isosurface_params), table1);
2098 gtk_table_set_row_spacings (GTK_TABLE (table1), 4);
2099 gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
2100
2101 label36 = gtk_label_new ("Scalar");
2102 gtk_widget_show (label36);
2103 gtk_table_attach (GTK_TABLE (table1), label36, 0, 1, 0, 1,
2104 (GtkAttachOptions) (GTK_FILL),
2105 (GtkAttachOptions) (0), 0, 0);
2106 gtk_misc_set_alignment (GTK_MISC (label36), 0, 0.5);
2107
2108 label37 = gtk_label_new ("Isosurfaces");
2109 gtk_widget_show (label37);
2110 gtk_table_attach (GTK_TABLE (table1), label37, 0, 1, 1, 2,
2111 (GtkAttachOptions) (GTK_FILL),
2112 (GtkAttachOptions) (0), 0, 0);
2113 gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5);
2114
2115 spinbuttonlevel_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 0);
2116 spinbuttonlevel = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonlevel_adj), 1, 0);
2117 gtk_widget_show (spinbuttonlevel);
2118 gtk_table_attach (GTK_TABLE (table1), spinbuttonlevel, 1, 2, 1, 2,
2119 (GtkAttachOptions) (GTK_FILL),
2120 (GtkAttachOptions) (0), 0, 0);
2121 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonlevel), TRUE);
2122 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinbuttonlevel), GTK_UPDATE_IF_VALID);
2123
2124 label38 = gtk_label_new ("Normals");
2125 gtk_widget_show (label38);
2126 gtk_table_attach (GTK_TABLE (table1), label38, 0, 1, 2, 3,
2127 (GtkAttachOptions) (GTK_FILL),
2128 (GtkAttachOptions) (0), 0, 0);
2129 gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
2130
2131 reversed = gtk_check_button_new_with_mnemonic ("reversed");
2132 gtk_widget_show (reversed);
2133 gtk_table_attach (GTK_TABLE (table1), reversed, 1, 2, 2, 3,
2134 (GtkAttachOptions) (GTK_FILL),
2135 (GtkAttachOptions) (0), 0, 0);
2136
2137 label52 = gtk_label_new ("Color");
2138 gtk_widget_show (label52);
2139 gtk_table_attach (GTK_TABLE (table1), label52, 0, 1, 3, 4,
2140 (GtkAttachOptions) (GTK_FILL),
2141 (GtkAttachOptions) (0), 0, 0);
2142 gtk_misc_set_alignment (GTK_MISC (label52), 0, 0.5);
2143
2144 color = gtk_option_menu_new ();
2145 gtk_widget_show (color);
2146 gtk_table_attach (GTK_TABLE (table1), color, 1, 2, 3, 4,
2147 (GtkAttachOptions) (GTK_FILL),
2148 (GtkAttachOptions) (0), 0, 0);
2149
2150 g_signal_connect ((gpointer) spinbuttonlevel, "value_changed",
2151 G_CALLBACK (on_spinbuttonlevel_changed),
2152 NULL);
2153 g_signal_connect ((gpointer) spinbuttonlevel, "changed",
2154 G_CALLBACK (mark_edited),
2155 NULL);
2156 g_signal_connect ((gpointer) spinbuttonlevel, "move_cursor",
2157 G_CALLBACK (mark_edited),
2158 NULL);
2159 g_signal_connect ((gpointer) spinbuttonlevel, "value_changed",
2160 G_CALLBACK (unmark_edited),
2161 NULL);
2162 g_signal_connect ((gpointer) reversed, "toggled",
2163 G_CALLBACK (on_reversed_toggled),
2164 NULL);
2165
2166 /* Store pointers to all widgets, for use by lookup_widget(). */
2167 GLADE_HOOKUP_OBJECT_NO_REF (isosurface_params, isosurface_params, "isosurface_params");
2168 GLADE_HOOKUP_OBJECT (isosurface_params, table1, "table1");
2169 GLADE_HOOKUP_OBJECT (isosurface_params, label36, "label36");
2170 GLADE_HOOKUP_OBJECT (isosurface_params, label37, "label37");
2171 GLADE_HOOKUP_OBJECT (isosurface_params, spinbuttonlevel, "spinbuttonlevel");
2172 GLADE_HOOKUP_OBJECT (isosurface_params, label38, "label38");
2173 GLADE_HOOKUP_OBJECT (isosurface_params, reversed, "reversed");
2174 GLADE_HOOKUP_OBJECT (isosurface_params, label52, "label52");
2175 GLADE_HOOKUP_OBJECT (isosurface_params, color, "color");
2176
2177 return isosurface_params;
2178 }
2179
2180 GtkWidget*
2181 create_solid_params (void)
2182 {
2183 GtkWidget *solid_params;
2184 GtkWidget *table10;
2185 GtkWidget *label39;
2186 GtkWidget *reversed;
2187 GtkWidget *label51;
2188 GtkWidget *color;
2189
2190 solid_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2191 gtk_container_set_border_width (GTK_CONTAINER (solid_params), 4);
2192 gtk_window_set_title (GTK_WINDOW (solid_params), "Solid");
2193
2194 table10 = gtk_table_new (2, 2, FALSE);
2195 gtk_widget_show (table10);
2196 gtk_container_add (GTK_CONTAINER (solid_params), table10);
2197 gtk_table_set_row_spacings (GTK_TABLE (table10), 4);
2198 gtk_table_set_col_spacings (GTK_TABLE (table10), 4);
2199
2200 label39 = gtk_label_new ("Normals");
2201 gtk_widget_show (label39);
2202 gtk_table_attach (GTK_TABLE (table10), label39, 0, 1, 0, 1,
2203 (GtkAttachOptions) (GTK_FILL),
2204 (GtkAttachOptions) (0), 0, 0);
2205 gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
2206
2207 reversed = gtk_check_button_new_with_mnemonic ("reversed");
2208 gtk_widget_show (reversed);
2209 gtk_table_attach (GTK_TABLE (table10), reversed, 1, 2, 0, 1,
2210 (GtkAttachOptions) (GTK_FILL),
2211 (GtkAttachOptions) (0), 0, 0);
2212
2213 label51 = gtk_label_new ("Color");
2214 gtk_widget_show (label51);
2215 gtk_table_attach (GTK_TABLE (table10), label51, 0, 1, 1, 2,
2216 (GtkAttachOptions) (GTK_FILL),
2217 (GtkAttachOptions) (0), 0, 0);
2218 gtk_misc_set_alignment (GTK_MISC (label51), 0, 0.5);
2219
2220 color = gtk_option_menu_new ();
2221 gtk_widget_show (color);
2222 gtk_table_attach (GTK_TABLE (table10), color, 1, 2, 1, 2,
2223 (GtkAttachOptions) (GTK_FILL),
2224 (GtkAttachOptions) (0), 0, 0);
2225
2226 g_signal_connect ((gpointer) reversed, "toggled",
2227 G_CALLBACK (on_solid_reversed_toggled),
2228 NULL);
2229
2230 /* Store pointers to all widgets, for use by lookup_widget(). */
2231 GLADE_HOOKUP_OBJECT_NO_REF (solid_params, solid_params, "solid_params");
2232 GLADE_HOOKUP_OBJECT (solid_params, table10, "table10");
2233 GLADE_HOOKUP_OBJECT (solid_params, label39, "label39");
2234 GLADE_HOOKUP_OBJECT (solid_params, reversed, "reversed");
2235 GLADE_HOOKUP_OBJECT (solid_params, label51, "label51");
2236 GLADE_HOOKUP_OBJECT (solid_params, color, "color");
2237
2238 return solid_params;
2239 }
2240
2241 GtkWidget*
2242 create_ellipse_params (void)
2243 {
2244 GtkWidget *ellipse_params;
2245 GtkWidget *table12;
2246 GtkWidget *label60;
2247 GtkWidget *label61;
2248 GtkWidget *label62;
2249 GtkWidget *label63;
2250 GtkWidget *label43;
2251 GtkWidget *label44;
2252 GtkObject *scale_adj;
2253 GtkWidget *scale;
2254 GtkWidget *color;
2255 GtkWidget *menu8;
2256
2257 ellipse_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2258 gtk_container_set_border_width (GTK_CONTAINER (ellipse_params), 4);
2259 gtk_window_set_title (GTK_WINDOW (ellipse_params), "Ellipse");
2260
2261 table12 = gtk_table_new (6, 2, FALSE);
2262 gtk_widget_show (table12);
2263 gtk_container_add (GTK_CONTAINER (ellipse_params), table12);
2264 gtk_table_set_row_spacings (GTK_TABLE (table12), 4);
2265 gtk_table_set_col_spacings (GTK_TABLE (table12), 4);
2266
2267 label60 = gtk_label_new ("Ax");
2268 gtk_widget_show (label60);
2269 gtk_table_attach (GTK_TABLE (table12), label60, 0, 1, 0, 1,
2270 (GtkAttachOptions) (GTK_FILL),
2271 (GtkAttachOptions) (0), 0, 0);
2272 gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5);
2273
2274 label61 = gtk_label_new ("Ay");
2275 gtk_widget_show (label61);
2276 gtk_table_attach (GTK_TABLE (table12), label61, 0, 1, 1, 2,
2277 (GtkAttachOptions) (GTK_FILL),
2278 (GtkAttachOptions) (0), 0, 0);
2279 gtk_misc_set_alignment (GTK_MISC (label61), 0, 0.5);
2280
2281 label62 = gtk_label_new ("Bx");
2282 gtk_widget_show (label62);
2283 gtk_table_attach (GTK_TABLE (table12), label62, 0, 1, 2, 3,
2284 (GtkAttachOptions) (GTK_FILL),
2285 (GtkAttachOptions) (0), 0, 0);
2286 gtk_misc_set_alignment (GTK_MISC (label62), 0, 0.5);
2287
2288 label63 = gtk_label_new ("By");
2289 gtk_widget_show (label63);
2290 gtk_table_attach (GTK_TABLE (table12), label63, 0, 1, 3, 4,
2291 (GtkAttachOptions) (GTK_FILL),
2292 (GtkAttachOptions) (0), 0, 0);
2293 gtk_misc_set_alignment (GTK_MISC (label63), 0, 0.5);
2294
2295 label43 = gtk_label_new ("Scale");
2296 gtk_widget_show (label43);
2297 gtk_table_attach (GTK_TABLE (table12), label43, 0, 1, 4, 5,
2298 (GtkAttachOptions) (GTK_FILL),
2299 (GtkAttachOptions) (0), 0, 0);
2300 gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_CENTER);
2301 gtk_misc_set_alignment (GTK_MISC (label43), 0, 0.5);
2302
2303 label44 = gtk_label_new ("Color");
2304 gtk_widget_show (label44);
2305 gtk_table_attach (GTK_TABLE (table12), label44, 0, 1, 5, 6,
2306 (GtkAttachOptions) (GTK_FILL),
2307 (GtkAttachOptions) (0), 0, 0);
2308 gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_CENTER);
2309 gtk_misc_set_alignment (GTK_MISC (label44), 0, 0.5);
2310
2311 scale_adj = gtk_adjustment_new (1, 0, 10000, 0.10000000149, 1, 0);
2312 scale = gtk_spin_button_new (GTK_ADJUSTMENT (scale_adj), 0.10000000149, 1);
2313 gtk_widget_show (scale);
2314 gtk_table_attach (GTK_TABLE (table12), scale, 1, 2, 4, 5,
2315 (GtkAttachOptions) (GTK_FILL),
2316 (GtkAttachOptions) (0), 0, 0);
2317 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (scale), TRUE);
2318
2319 color = gtk_option_menu_new ();
2320 gtk_widget_show (color);
2321 gtk_table_attach (GTK_TABLE (table12), color, 1, 2, 5, 6,
2322 (GtkAttachOptions) (GTK_FILL),
2323 (GtkAttachOptions) (0), 0, 0);
2324
2325 menu8 = gtk_menu_new ();
2326
2327 gtk_option_menu_set_menu (GTK_OPTION_MENU (color), menu8);
2328
2329 g_signal_connect ((gpointer) scale, "value_changed",
2330 G_CALLBACK (on_ellipse_scale_changed),
2331 NULL);
2332 g_signal_connect ((gpointer) scale, "changed",
2333 G_CALLBACK (mark_edited),
2334 NULL);
2335 g_signal_connect ((gpointer) scale, "move_cursor",
2336 G_CALLBACK (mark_edited),
2337 NULL);
2338 g_signal_connect ((gpointer) scale, "value_changed",
2339 G_CALLBACK (unmark_edited),
2340 NULL);
2341
2342 /* Store pointers to all widgets, for use by lookup_widget(). */
2343 GLADE_HOOKUP_OBJECT_NO_REF (ellipse_params, ellipse_params, "ellipse_params");
2344 GLADE_HOOKUP_OBJECT (ellipse_params, table12, "table12");
2345 GLADE_HOOKUP_OBJECT (ellipse_params, label60, "label60");
2346 GLADE_HOOKUP_OBJECT (ellipse_params, label61, "label61");
2347 GLADE_HOOKUP_OBJECT (ellipse_params, label62, "label62");
2348 GLADE_HOOKUP_OBJECT (ellipse_params, label63, "label63");
2349 GLADE_HOOKUP_OBJECT (ellipse_params, label43, "label43");
2350 GLADE_HOOKUP_OBJECT (ellipse_params, label44, "label44");
2351 GLADE_HOOKUP_OBJECT (ellipse_params, scale, "scale");
2352 GLADE_HOOKUP_OBJECT (ellipse_params, color, "color");
2353 GLADE_HOOKUP_OBJECT (ellipse_params, menu8, "menu8");
2354
2355 return ellipse_params;
2356 }
2357
2358 GtkWidget*
2359 create_location_params (void)
2360 {
2361 GtkWidget *location_params;
2362 GtkWidget *table14;
2363 GtkWidget *label50;
2364 GtkObject *size_adj;
2365 GtkWidget *size;
2366 GtkWidget *location_label;
2367 GtkWidget *location_label_check;
2368
2369 location_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2370 gtk_container_set_border_width (GTK_CONTAINER (location_params), 4);
2371 gtk_window_set_title (GTK_WINDOW (location_params), "Location");
2372
2373 table14 = gtk_table_new (2, 2, FALSE);
2374 gtk_widget_show (table14);
2375 gtk_container_add (GTK_CONTAINER (location_params), table14);
2376 gtk_table_set_row_spacings (GTK_TABLE (table14), 4);
2377 gtk_table_set_col_spacings (GTK_TABLE (table14), 4);
2378
2379 label50 = gtk_label_new ("Symbol size");
2380 gtk_widget_show (label50);
2381 gtk_table_attach (GTK_TABLE (table14), label50, 0, 1, 0, 1,
2382 (GtkAttachOptions) (GTK_FILL),
2383 (GtkAttachOptions) (0), 0, 0);
2384 gtk_misc_set_alignment (GTK_MISC (label50), 0, 0.5);
2385
2386 size_adj = gtk_adjustment_new (1, 0.1, 100, 0.1, 1, 0);
2387 size = gtk_spin_button_new (GTK_ADJUSTMENT (size_adj), 0.10000000149, 1);
2388 gtk_widget_show (size);
2389 gtk_table_attach (GTK_TABLE (table14), size, 1, 2, 0, 1,
2390 (GtkAttachOptions) (GTK_FILL),
2391 (GtkAttachOptions) (0), 0, 0);
2392 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (size), GTK_UPDATE_IF_VALID);
2393
2394 location_label = gtk_label_new ("Label");
2395 gtk_widget_show (location_label);
2396 gtk_table_attach (GTK_TABLE (table14), location_label, 0, 1, 1, 2,
2397 (GtkAttachOptions) (GTK_FILL),
2398 (GtkAttachOptions) (0), 0, 0);
2399 gtk_misc_set_alignment (GTK_MISC (location_label), 0, 0.5);
2400
2401 location_label_check = gtk_check_button_new_with_mnemonic ("");
2402 gtk_widget_show (location_label_check);
2403 gtk_table_attach (GTK_TABLE (table14), location_label_check, 1, 2, 1, 2,
2404 (GtkAttachOptions) (GTK_FILL),
2405 (GtkAttachOptions) (0), 0, 0);
2406 GTK_WIDGET_UNSET_FLAGS (location_label_check, GTK_CAN_FOCUS);
2407
2408 g_signal_connect ((gpointer) size, "value_changed",
2409 G_CALLBACK (on_symbol_size_value_changed),
2410 NULL);
2411 g_signal_connect ((gpointer) location_label_check, "toggled",
2412 G_CALLBACK (on_location_label_toggled),
2413 NULL);
2414
2415 /* Store pointers to all widgets, for use by lookup_widget(). */
2416 GLADE_HOOKUP_OBJECT_NO_REF (location_params, location_params, "location_params");
2417 GLADE_HOOKUP_OBJECT (location_params, table14, "table14");
2418 GLADE_HOOKUP_OBJECT (location_params, label50, "label50");
2419 GLADE_HOOKUP_OBJECT (location_params, size, "size");
2420 GLADE_HOOKUP_OBJECT (location_params, location_label, "location_label");
2421 GLADE_HOOKUP_OBJECT (location_params, location_label_check, "location_label_check");
2422
2423 return location_params;
2424 }
2425
2426 GtkWidget*
2427 create_play (void)
2428 {
2429 GtkWidget *play;
2430 GtkWidget *hbuttonbox6;
2431 GtkWidget *back;
2432 GtkWidget *forward;
2433
2434 play = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2435 gtk_container_set_border_width (GTK_CONTAINER (play), 4);
2436 gtk_window_set_title (GTK_WINDOW (play), "Play");
2437
2438 hbuttonbox6 = gtk_hbutton_box_new ();
2439 gtk_widget_show (hbuttonbox6);
2440 gtk_container_add (GTK_CONTAINER (play), hbuttonbox6);
2441 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox6), GTK_BUTTONBOX_SPREAD);
2442
2443 back = gtk_button_new_from_stock ("gtk-go-back");
2444 gtk_widget_show (back);
2445 gtk_container_add (GTK_CONTAINER (hbuttonbox6), back);
2446 gtk_widget_set_sensitive (back, FALSE);
2447 GTK_WIDGET_UNSET_FLAGS (back, GTK_CAN_FOCUS);
2448
2449 forward = gtk_button_new_from_stock ("gtk-go-forward");
2450 gtk_widget_show (forward);
2451 gtk_container_add (GTK_CONTAINER (hbuttonbox6), forward);
2452 GTK_WIDGET_UNSET_FLAGS (forward, GTK_CAN_FOCUS);
2453
2454 g_signal_connect ((gpointer) back, "clicked",
2455 G_CALLBACK (on_back_clicked),
2456 NULL);
2457 g_signal_connect ((gpointer) forward, "clicked",
2458 G_CALLBACK (on_forward_clicked),
2459 NULL);
2460
2461 /* Store pointers to all widgets, for use by lookup_widget(). */
2462 GLADE_HOOKUP_OBJECT_NO_REF (play, play, "play");
2463 GLADE_HOOKUP_OBJECT (play, hbuttonbox6, "hbuttonbox6");
2464 GLADE_HOOKUP_OBJECT (play, back, "back");
2465 GLADE_HOOKUP_OBJECT (play, forward, "forward");
2466
2467 return play;
2468 }
2469
2470 GtkWidget*
2471 create_linear_params (void)
2472 {
2473 GtkWidget *linear_params;
2474 GtkWidget *table1;
2475 GtkWidget *label104;
2476 GtkWidget *normals;
2477 GtkWidget *reversed;
2478 GtkWidget *label107;
2479 GtkWidget *color;
2480
2481 linear_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2482 gtk_container_set_border_width (GTK_CONTAINER (linear_params), 4);
2483 gtk_window_set_title (GTK_WINDOW (linear_params), "Linear");
2484
2485 table1 = gtk_table_new (3, 2, FALSE);
2486 gtk_widget_show (table1);
2487 gtk_container_add (GTK_CONTAINER (linear_params), table1);
2488 gtk_table_set_row_spacings (GTK_TABLE (table1), 4);
2489 gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
2490
2491 label104 = gtk_label_new ("Z scalar");
2492 gtk_widget_show (label104);
2493 gtk_table_attach (GTK_TABLE (table1), label104, 0, 1, 0, 1,
2494 (GtkAttachOptions) (GTK_FILL),
2495 (GtkAttachOptions) (0), 0, 0);
2496 gtk_misc_set_alignment (GTK_MISC (label104), 0, 0.5);
2497
2498 normals = gtk_label_new ("Normals");
2499 gtk_widget_show (normals);
2500 gtk_table_attach (GTK_TABLE (table1), normals, 0, 1, 1, 2,
2501 (GtkAttachOptions) (GTK_FILL),
2502 (GtkAttachOptions) (0), 0, 0);
2503 gtk_misc_set_alignment (GTK_MISC (normals), 0, 0.5);
2504
2505 reversed = gtk_check_button_new_with_mnemonic ("reversed");
2506 gtk_widget_show (reversed);
2507 gtk_table_attach (GTK_TABLE (table1), reversed, 1, 2, 1, 2,
2508 (GtkAttachOptions) (GTK_FILL),
2509 (GtkAttachOptions) (0), 0, 0);
2510
2511 label107 = gtk_label_new ("Color");
2512 gtk_widget_show (label107);
2513 gtk_table_attach (GTK_TABLE (table1), label107, 0, 1, 2, 3,
2514 (GtkAttachOptions) (GTK_FILL),
2515 (GtkAttachOptions) (0), 0, 0);
2516 gtk_misc_set_alignment (GTK_MISC (label107), 0, 0.5);
2517
2518 color = gtk_option_menu_new ();
2519 gtk_widget_show (color);
2520 gtk_table_attach (GTK_TABLE (table1), color, 1, 2, 2, 3,
2521 (GtkAttachOptions) (GTK_FILL),
2522 (GtkAttachOptions) (0), 0, 0);
2523
2524 g_signal_connect ((gpointer) reversed, "toggled",
2525 G_CALLBACK (on_linear_reversed_toggled),
2526 NULL);
2527
2528 /* Store pointers to all widgets, for use by lookup_widget(). */
2529 GLADE_HOOKUP_OBJECT_NO_REF (linear_params, linear_params, "linear_params");
2530 GLADE_HOOKUP_OBJECT (linear_params, table1, "table1");
2531 GLADE_HOOKUP_OBJECT (linear_params, label104, "label104");
2532 GLADE_HOOKUP_OBJECT (linear_params, normals, "normals");
2533 GLADE_HOOKUP_OBJECT (linear_params, reversed, "reversed");
2534 GLADE_HOOKUP_OBJECT (linear_params, label107, "label107");
2535 GLADE_HOOKUP_OBJECT (linear_params, color, "color");
2536
2537 return linear_params;
2538 }
2539
2540 GtkWidget*
2541 create_streamlines_params (void)
2542 {
2543 GtkWidget *streamlines_params;
2544 GtkWidget *vbox9;
2545 GtkWidget *showcells;
2546 GtkWidget *hbox8;
2547 GtkWidget *label68;
2548 GtkWidget *radiobutton5;
2549 GSList *radiobutton5_group = NULL;
2550 GtkWidget *snapcenters;
2551 GtkWidget *snapspacing;
2552 GtkWidget *table18;
2553 GtkWidget *label67;
2554 GtkObject *dmin_adj;
2555 GtkWidget *dmin;
2556 GtkWidget *params_3D;
2557 GtkWidget *hseparator9;
2558 GtkWidget *hbox10;
2559 GtkWidget *label70;
2560 GtkObject *radius_adj;
2561 GtkWidget *radius;
2562 GtkWidget *hseparator8;
2563 GtkWidget *hbox7;
2564 GtkWidget *radiobutton1;
2565 GSList *radiobutton1_group = NULL;
2566 GtkWidget *radiobutton2;
2567 GtkWidget *delete;
2568 GtkWidget *hseparator7;
2569 GtkWidget *evenly_spaced;
2570 GtkWidget *label_evenly;
2571 GtkWidget *execute_evenly;
2572 GtkWidget *stop_evenly;
2573 GtkWidget *show_execution;
2574
2575 streamlines_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2576 gtk_container_set_border_width (GTK_CONTAINER (streamlines_params), 4);
2577 gtk_window_set_title (GTK_WINDOW (streamlines_params), "Streamlines");
2578
2579 vbox9 = gtk_vbox_new (FALSE, 4);
2580 gtk_widget_show (vbox9);
2581 gtk_container_add (GTK_CONTAINER (streamlines_params), vbox9);
2582
2583 showcells = gtk_check_button_new_with_mnemonic ("Show cells");
2584 gtk_widget_show (showcells);
2585 gtk_box_pack_start (GTK_BOX (vbox9), showcells, FALSE, FALSE, 0);
2586 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (showcells), TRUE);
2587
2588 hbox8 = gtk_hbox_new (FALSE, 4);
2589 gtk_widget_show (hbox8);
2590 gtk_box_pack_start (GTK_BOX (vbox9), hbox8, FALSE, FALSE, 0);
2591
2592 label68 = gtk_label_new ("Snap");
2593 gtk_widget_show (label68);
2594 gtk_box_pack_start (GTK_BOX (hbox8), label68, FALSE, FALSE, 0);
2595
2596 radiobutton5 = gtk_radio_button_new_with_mnemonic (NULL, "None");
2597 gtk_widget_show (radiobutton5);
2598 gtk_box_pack_start (GTK_BOX (hbox8), radiobutton5, FALSE, FALSE, 0);
2599 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton5), radiobutton5_group);
2600 radiobutton5_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton5));
2601 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton5), TRUE);
2602
2603 snapcenters = gtk_radio_button_new_with_mnemonic (NULL, "Centers");
2604 gtk_widget_show (snapcenters);
2605 gtk_box_pack_start (GTK_BOX (hbox8), snapcenters, FALSE, FALSE, 0);
2606 gtk_radio_button_set_group (GTK_RADIO_BUTTON (snapcenters), radiobutton5_group);
2607 radiobutton5_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (snapcenters));
2608
2609 snapspacing = gtk_radio_button_new_with_mnemonic (NULL, "Spacing");
2610 gtk_widget_show (snapspacing);
2611 gtk_box_pack_start (GTK_BOX (hbox8), snapspacing, FALSE, FALSE, 0);
2612 gtk_radio_button_set_group (GTK_RADIO_BUTTON (snapspacing), radiobutton5_group);
2613 radiobutton5_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (snapspacing));
2614
2615 table18 = gtk_table_new (1, 2, FALSE);
2616 gtk_widget_show (table18);
2617 gtk_box_pack_start (GTK_BOX (vbox9), table18, FALSE, TRUE, 0);
2618 gtk_table_set_row_spacings (GTK_TABLE (table18), 4);
2619 gtk_table_set_col_spacings (GTK_TABLE (table18), 4);
2620
2621 label67 = gtk_label_new ("Minimum spacing");
2622 gtk_widget_show (label67);
2623 gtk_table_attach (GTK_TABLE (table18), label67, 0, 1, 0, 1,
2624 (GtkAttachOptions) (GTK_FILL),
2625 (GtkAttachOptions) (0), 0, 0);
2626 gtk_misc_set_alignment (GTK_MISC (label67), 0, 0.5);
2627
2628 dmin_adj = gtk_adjustment_new (0, 0, 1, 9.99999974738e-05, 0.0010000000475, 0);
2629 dmin = gtk_spin_button_new (GTK_ADJUSTMENT (dmin_adj), 0.0010000000475, 5);
2630 gtk_widget_show (dmin);
2631 gtk_table_attach (GTK_TABLE (table18), dmin, 1, 2, 0, 1,
2632 (GtkAttachOptions) (GTK_FILL),
2633 (GtkAttachOptions) (0), 0, 0);
2634 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dmin), TRUE);
2635 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (dmin), GTK_UPDATE_IF_VALID);
2636
2637 params_3D = gtk_vbox_new (FALSE, 4);
2638 gtk_widget_show (params_3D);
2639 gtk_box_pack_start (GTK_BOX (vbox9), params_3D, TRUE, TRUE, 0);
2640
2641 hseparator9 = gtk_hseparator_new ();
2642 gtk_widget_show (hseparator9);
2643 gtk_box_pack_start (GTK_BOX (params_3D), hseparator9, TRUE, TRUE, 0);
2644
2645 hbox10 = gtk_hbox_new (FALSE, 4);
2646 gtk_widget_show (hbox10);
2647 gtk_box_pack_start (GTK_BOX (params_3D), hbox10, TRUE, TRUE, 0);
2648
2649 label70 = gtk_label_new ("Radius");
2650 gtk_widget_show (label70);
2651 gtk_box_pack_start (GTK_BOX (hbox10), label70, FALSE, FALSE, 0);
2652
2653 radius_adj = gtk_adjustment_new (0, 0, 1, 9.99999974738e-05, 0.0010000000475, 0);
2654 radius = gtk_spin_button_new (GTK_ADJUSTMENT (radius_adj), 9.99999974738e-05, 5);
2655 gtk_widget_show (radius);
2656 gtk_box_pack_start (GTK_BOX (hbox10), radius, FALSE, TRUE, 0);
2657 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (radius), TRUE);
2658 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (radius), GTK_UPDATE_IF_VALID);
2659
2660 hseparator8 = gtk_hseparator_new ();
2661 gtk_widget_show (hseparator8);
2662 gtk_box_pack_start (GTK_BOX (vbox9), hseparator8, TRUE, TRUE, 0);
2663
2664 hbox7 = gtk_hbox_new (FALSE, 4);
2665 gtk_widget_show (hbox7);
2666 gtk_box_pack_start (GTK_BOX (vbox9), hbox7, FALSE, FALSE, 0);
2667
2668 radiobutton1 = gtk_radio_button_new_with_mnemonic (NULL, "gtk-new");
2669 gtk_button_set_use_stock (GTK_BUTTON (radiobutton1), TRUE);
2670 gtk_widget_show (radiobutton1);
2671 gtk_box_pack_start (GTK_BOX (hbox7), radiobutton1, FALSE, FALSE, 0);
2672 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton1), radiobutton1_group);
2673 radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1));
2674
2675 radiobutton2 = gtk_radio_button_new_with_mnemonic (NULL, "gtk-edit");
2676 gtk_button_set_use_stock (GTK_BUTTON (radiobutton2), TRUE);
2677 gtk_widget_show (radiobutton2);
2678 gtk_box_pack_start (GTK_BOX (hbox7), radiobutton2, FALSE, FALSE, 0);
2679 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton2), radiobutton1_group);
2680 radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2));
2681
2682 delete = gtk_button_new_from_stock ("gtk-delete");
2683 gtk_widget_show (delete);
2684 gtk_box_pack_start (GTK_BOX (hbox7), delete, FALSE, FALSE, 0);
2685
2686 hseparator7 = gtk_hseparator_new ();
2687 gtk_widget_show (hseparator7);
2688 gtk_box_pack_start (GTK_BOX (vbox9), hseparator7, TRUE, TRUE, 0);
2689
2690 evenly_spaced = gtk_hbox_new (FALSE, 4);
2691 gtk_widget_show (evenly_spaced);
2692 gtk_box_pack_start (GTK_BOX (vbox9), evenly_spaced, FALSE, FALSE, 0);
2693
2694 label_evenly = gtk_label_new ("Evenly spaced");
2695 gtk_widget_show (label_evenly);
2696 gtk_box_pack_start (GTK_BOX (evenly_spaced), label_evenly, FALSE, FALSE, 0);
2697
2698 execute_evenly = gtk_button_new_from_stock ("gtk-execute");
2699 gtk_widget_show (execute_evenly);
2700 gtk_box_pack_start (GTK_BOX (evenly_spaced), execute_evenly, FALSE, FALSE, 0);
2701
2702 stop_evenly = gtk_button_new_from_stock ("gtk-stop");
2703 gtk_widget_show (stop_evenly);
2704 gtk_box_pack_start (GTK_BOX (evenly_spaced), stop_evenly, FALSE, FALSE, 0);
2705 gtk_widget_set_sensitive (stop_evenly, FALSE);
2706
2707 show_execution = gtk_check_button_new_with_mnemonic ("Show execution");
2708 gtk_widget_show (show_execution);
2709 gtk_box_pack_start (GTK_BOX (evenly_spaced), show_execution, FALSE, FALSE, 0);
2710
2711 g_signal_connect ((gpointer) showcells, "toggled",
2712 G_CALLBACK (on_show_cells_toggled),
2713 NULL);
2714 g_signal_connect ((gpointer) dmin, "value_changed",
2715 G_CALLBACK (on_dmin_changed),
2716 NULL);
2717 g_signal_connect ((gpointer) radius, "value_changed",
2718 G_CALLBACK (on_radius_changed),
2719 NULL);
2720 g_signal_connect ((gpointer) radiobutton1, "toggled",
2721 G_CALLBACK (on_new_streamline_toggled),
2722 NULL);
2723 g_signal_connect ((gpointer) delete, "clicked",
2724 G_CALLBACK (on_delete_streamline_clicked),
2725 NULL);
2726 g_signal_connect ((gpointer) execute_evenly, "clicked",
2727 G_CALLBACK (on_evenly_spaced_clicked),
2728 NULL);
2729 g_signal_connect ((gpointer) stop_evenly, "clicked",
2730 G_CALLBACK (on_stop_evenly_clicked),
2731 NULL);
2732
2733 /* Store pointers to all widgets, for use by lookup_widget(). */
2734 GLADE_HOOKUP_OBJECT_NO_REF (streamlines_params, streamlines_params, "streamlines_params");
2735 GLADE_HOOKUP_OBJECT (streamlines_params, vbox9, "vbox9");
2736 GLADE_HOOKUP_OBJECT (streamlines_params, showcells, "showcells");
2737 GLADE_HOOKUP_OBJECT (streamlines_params, hbox8, "hbox8");
2738 GLADE_HOOKUP_OBJECT (streamlines_params, label68, "label68");
2739 GLADE_HOOKUP_OBJECT (streamlines_params, radiobutton5, "radiobutton5");
2740 GLADE_HOOKUP_OBJECT (streamlines_params, snapcenters, "snapcenters");
2741 GLADE_HOOKUP_OBJECT (streamlines_params, snapspacing, "snapspacing");
2742 GLADE_HOOKUP_OBJECT (streamlines_params, table18, "table18");
2743 GLADE_HOOKUP_OBJECT (streamlines_params, label67, "label67");
2744 GLADE_HOOKUP_OBJECT (streamlines_params, dmin, "dmin");
2745 GLADE_HOOKUP_OBJECT (streamlines_params, params_3D, "params_3D");
2746 GLADE_HOOKUP_OBJECT (streamlines_params, hseparator9, "hseparator9");
2747 GLADE_HOOKUP_OBJECT (streamlines_params, hbox10, "hbox10");
2748 GLADE_HOOKUP_OBJECT (streamlines_params, label70, "label70");
2749 GLADE_HOOKUP_OBJECT (streamlines_params, radius, "radius");
2750 GLADE_HOOKUP_OBJECT (streamlines_params, hseparator8, "hseparator8");
2751 GLADE_HOOKUP_OBJECT (streamlines_params, hbox7, "hbox7");
2752 GLADE_HOOKUP_OBJECT (streamlines_params, radiobutton1, "radiobutton1");
2753 GLADE_HOOKUP_OBJECT (streamlines_params, radiobutton2, "radiobutton2");
2754 GLADE_HOOKUP_OBJECT (streamlines_params, delete, "delete");
2755 GLADE_HOOKUP_OBJECT (streamlines_params, hseparator7, "hseparator7");
2756 GLADE_HOOKUP_OBJECT (streamlines_params, evenly_spaced, "evenly_spaced");
2757 GLADE_HOOKUP_OBJECT (streamlines_params, label_evenly, "label_evenly");
2758 GLADE_HOOKUP_OBJECT (streamlines_params, execute_evenly, "execute_evenly");
2759 GLADE_HOOKUP_OBJECT (streamlines_params, stop_evenly, "stop_evenly");
2760 GLADE_HOOKUP_OBJECT (streamlines_params, show_execution, "show_execution");
2761
2762 return streamlines_params;
2763 }
2764
2765 GtkWidget*
2766 create_variables (void)
2767 {
2768 GtkWidget *variables;
2769 GtkWidget *vbox13;
2770 GtkWidget *scrolledwindow3;
2771 GtkWidget *tree;
2772 GtkWidget *hbuttonbox7;
2773 GtkWidget *cancel;
2774 GtkWidget *OK;
2775
2776 variables = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2777 gtk_window_set_title (GTK_WINDOW (variables), "Variables");
2778 gtk_window_set_position (GTK_WINDOW (variables), GTK_WIN_POS_MOUSE);
2779
2780 vbox13 = gtk_vbox_new (FALSE, 4);
2781 gtk_widget_show (vbox13);
2782 gtk_container_add (GTK_CONTAINER (variables), vbox13);
2783
2784 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
2785 gtk_widget_show (scrolledwindow3);
2786 gtk_box_pack_start (GTK_BOX (vbox13), scrolledwindow3, TRUE, TRUE, 0);
2787 gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow3), 4);
2788 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2789 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_ETCHED_IN);
2790
2791 tree = gtk_tree_view_new ();
2792 gtk_widget_show (tree);
2793 gtk_container_add (GTK_CONTAINER (scrolledwindow3), tree);
2794 gtk_widget_set_size_request (tree, 300, 180);
2795
2796 hbuttonbox7 = gtk_hbutton_box_new ();
2797 gtk_widget_show (hbuttonbox7);
2798 gtk_box_pack_start (GTK_BOX (vbox13), hbuttonbox7, FALSE, TRUE, 0);
2799 gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox7), 2);
2800 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox7), GTK_BUTTONBOX_END);
2801 gtk_box_set_spacing (GTK_BOX (hbuttonbox7), 10);
2802
2803 cancel = gtk_button_new_from_stock ("gtk-cancel");
2804 gtk_widget_show (cancel);
2805 gtk_container_add (GTK_CONTAINER (hbuttonbox7), cancel);
2806 GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
2807
2808 OK = gtk_button_new_from_stock ("gtk-ok");
2809 gtk_widget_show (OK);
2810 gtk_container_add (GTK_CONTAINER (hbuttonbox7), OK);
2811 GTK_WIDGET_SET_FLAGS (OK, GTK_CAN_DEFAULT);
2812
2813 /* Store pointers to all widgets, for use by lookup_widget(). */
2814 GLADE_HOOKUP_OBJECT_NO_REF (variables, variables, "variables");
2815 GLADE_HOOKUP_OBJECT (variables, vbox13, "vbox13");
2816 GLADE_HOOKUP_OBJECT (variables, scrolledwindow3, "scrolledwindow3");
2817 GLADE_HOOKUP_OBJECT (variables, tree, "tree");
2818 GLADE_HOOKUP_OBJECT (variables, hbuttonbox7, "hbuttonbox7");
2819 GLADE_HOOKUP_OBJECT (variables, cancel, "cancel");
2820 GLADE_HOOKUP_OBJECT (variables, OK, "OK");
2821
2822 gtk_widget_grab_default (OK);
2823 return variables;
2824 }
2825
2826 GtkWidget*
2827 create_info_params (void)
2828 {
2829 GtkWidget *info_params;
2830 GtkWidget *scrolledwindow4;
2831 GtkWidget *viewport1;
2832 GtkWidget *vbox14;
2833 GtkWidget *label78;
2834 GtkWidget *mesh_stats_table;
2835 GtkWidget *label83;
2836 GtkWidget *label84;
2837 GtkWidget *label85;
2838 GtkWidget *number_of_levels;
2839 GtkWidget *number_of_cells;
2840 GtkWidget *number_of_leaf_cells;
2841 GtkWidget *label86;
2842 GtkWidget *leaf_cells_per_level;
2843 GtkWidget *label91;
2844 GtkWidget *label92;
2845
2846 info_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2847 gtk_container_set_border_width (GTK_CONTAINER (info_params), 4);
2848 gtk_window_set_title (GTK_WINDOW (info_params), "window1");
2849
2850 scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL);
2851 gtk_widget_show (scrolledwindow4);
2852 gtk_container_add (GTK_CONTAINER (info_params), scrolledwindow4);
2853 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2854
2855 viewport1 = gtk_viewport_new (NULL, NULL);
2856 gtk_widget_show (viewport1);
2857 gtk_container_add (GTK_CONTAINER (scrolledwindow4), viewport1);
2858 gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport1), GTK_SHADOW_NONE);
2859
2860 vbox14 = gtk_vbox_new (FALSE, 2);
2861 gtk_widget_show (vbox14);
2862 gtk_container_add (GTK_CONTAINER (viewport1), vbox14);
2863
2864 label78 = gtk_label_new ("<b>Mesh Statistics</b>");
2865 gtk_widget_show (label78);
2866 gtk_box_pack_start (GTK_BOX (vbox14), label78, FALSE, FALSE, 0);
2867 gtk_label_set_use_markup (GTK_LABEL (label78), TRUE);
2868
2869 mesh_stats_table = gtk_table_new (5, 2, FALSE);
2870 gtk_widget_show (mesh_stats_table);
2871 gtk_box_pack_start (GTK_BOX (vbox14), mesh_stats_table, TRUE, TRUE, 0);
2872 gtk_table_set_row_spacings (GTK_TABLE (mesh_stats_table), 4);
2873 gtk_table_set_col_spacings (GTK_TABLE (mesh_stats_table), 16);
2874
2875 label83 = gtk_label_new ("Number of levels");
2876 gtk_widget_show (label83);
2877 gtk_table_attach (GTK_TABLE (mesh_stats_table), label83, 0, 1, 0, 1,
2878 (GtkAttachOptions) (GTK_FILL),
2879 (GtkAttachOptions) (0), 0, 0);
2880 gtk_misc_set_alignment (GTK_MISC (label83), 0, 0.5);
2881
2882 label84 = gtk_label_new ("Number of cells");
2883 gtk_widget_show (label84);
2884 gtk_table_attach (GTK_TABLE (mesh_stats_table), label84, 0, 1, 1, 2,
2885 (GtkAttachOptions) (GTK_FILL),
2886 (GtkAttachOptions) (0), 0, 0);
2887 gtk_misc_set_alignment (GTK_MISC (label84), 0, 0.5);
2888
2889 label85 = gtk_label_new ("Number of leaf cells");
2890 gtk_widget_show (label85);
2891 gtk_table_attach (GTK_TABLE (mesh_stats_table), label85, 0, 1, 2, 3,
2892 (GtkAttachOptions) (GTK_FILL),
2893 (GtkAttachOptions) (0), 0, 0);
2894 gtk_misc_set_alignment (GTK_MISC (label85), 0, 0.5);
2895
2896 number_of_levels = gtk_label_new ("0");
2897 gtk_widget_show (number_of_levels);
2898 gtk_table_attach (GTK_TABLE (mesh_stats_table), number_of_levels, 1, 2, 0, 1,
2899 (GtkAttachOptions) (GTK_FILL),
2900 (GtkAttachOptions) (0), 0, 0);
2901 gtk_label_set_justify (GTK_LABEL (number_of_levels), GTK_JUSTIFY_RIGHT);
2902 gtk_misc_set_alignment (GTK_MISC (number_of_levels), 1, 0.5);
2903
2904 number_of_cells = gtk_label_new ("0");
2905 gtk_widget_show (number_of_cells);
2906 gtk_table_attach (GTK_TABLE (mesh_stats_table), number_of_cells, 1, 2, 1, 2,
2907 (GtkAttachOptions) (GTK_FILL),
2908 (GtkAttachOptions) (0), 0, 0);
2909 gtk_label_set_justify (GTK_LABEL (number_of_cells), GTK_JUSTIFY_RIGHT);
2910 gtk_misc_set_alignment (GTK_MISC (number_of_cells), 1, 0.5);
2911
2912 number_of_leaf_cells = gtk_label_new ("0");
2913 gtk_widget_show (number_of_leaf_cells);
2914 gtk_table_attach (GTK_TABLE (mesh_stats_table), number_of_leaf_cells, 1, 2, 2, 3,
2915 (GtkAttachOptions) (GTK_FILL),
2916 (GtkAttachOptions) (0), 0, 0);
2917 gtk_label_set_justify (GTK_LABEL (number_of_leaf_cells), GTK_JUSTIFY_RIGHT);
2918 gtk_misc_set_alignment (GTK_MISC (number_of_leaf_cells), 1, 0.5);
2919
2920 label86 = gtk_label_new ("<b>Number of leaf cells per level</b>");
2921 gtk_widget_show (label86);
2922 gtk_table_attach (GTK_TABLE (mesh_stats_table), label86, 0, 2, 3, 4,
2923 (GtkAttachOptions) (GTK_FILL),
2924 (GtkAttachOptions) (0), 0, 0);
2925 gtk_label_set_use_markup (GTK_LABEL (label86), TRUE);
2926 gtk_misc_set_alignment (GTK_MISC (label86), 0, 0.5);
2927
2928 leaf_cells_per_level = gtk_table_new (1, 2, FALSE);
2929 gtk_widget_show (leaf_cells_per_level);
2930 gtk_table_attach (GTK_TABLE (mesh_stats_table), leaf_cells_per_level, 0, 2, 4, 5,
2931 (GtkAttachOptions) (GTK_FILL),
2932 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
2933 gtk_table_set_row_spacings (GTK_TABLE (leaf_cells_per_level), 2);
2934 gtk_table_set_col_spacings (GTK_TABLE (leaf_cells_per_level), 8);
2935
2936 label91 = gtk_label_new ("Level 0");
2937 gtk_widget_show (label91);
2938 gtk_table_attach (GTK_TABLE (leaf_cells_per_level), label91, 0, 1, 0, 1,
2939 (GtkAttachOptions) (GTK_FILL),
2940 (GtkAttachOptions) (0), 16, 0);
2941 gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5);
2942
2943 label92 = gtk_label_new ("0");
2944 gtk_widget_show (label92);
2945 gtk_table_attach (GTK_TABLE (leaf_cells_per_level), label92, 1, 2, 0, 1,
2946 (GtkAttachOptions) (GTK_FILL),
2947 (GtkAttachOptions) (0), 0, 0);
2948 gtk_label_set_justify (GTK_LABEL (label92), GTK_JUSTIFY_RIGHT);
2949 gtk_misc_set_alignment (GTK_MISC (label92), 0, 0.5);
2950
2951 /* Store pointers to all widgets, for use by lookup_widget(). */
2952 GLADE_HOOKUP_OBJECT_NO_REF (info_params, info_params, "info_params");
2953 GLADE_HOOKUP_OBJECT (info_params, scrolledwindow4, "scrolledwindow4");
2954 GLADE_HOOKUP_OBJECT (info_params, viewport1, "viewport1");
2955 GLADE_HOOKUP_OBJECT (info_params, vbox14, "vbox14");
2956 GLADE_HOOKUP_OBJECT (info_params, label78, "label78");
2957 GLADE_HOOKUP_OBJECT (info_params, mesh_stats_table, "mesh_stats_table");
2958 GLADE_HOOKUP_OBJECT (info_params, label83, "label83");
2959 GLADE_HOOKUP_OBJECT (info_params, label84, "label84");
2960 GLADE_HOOKUP_OBJECT (info_params, label85, "label85");
2961 GLADE_HOOKUP_OBJECT (info_params, number_of_levels, "number_of_levels");
2962 GLADE_HOOKUP_OBJECT (info_params, number_of_cells, "number_of_cells");
2963 GLADE_HOOKUP_OBJECT (info_params, number_of_leaf_cells, "number_of_leaf_cells");
2964 GLADE_HOOKUP_OBJECT (info_params, label86, "label86");
2965 GLADE_HOOKUP_OBJECT (info_params, leaf_cells_per_level, "leaf_cells_per_level");
2966 GLADE_HOOKUP_OBJECT (info_params, label91, "label91");
2967 GLADE_HOOKUP_OBJECT (info_params, label92, "label92");
2968
2969 return info_params;
2970 }
2971
2972 GtkWidget*
2973 create_cells_params (void)
2974 {
2975 GtkWidget *cells_params;
2976 GtkWidget *vbox15;
2977 GtkWidget *hbox11;
2978 GtkWidget *radiobutton6;
2979 GSList *radiobutton6_group = NULL;
2980 GtkWidget *edit;
2981 GtkWidget *vseparator1;
2982 GtkWidget *edit_level;
2983 GtkWidget *label93;
2984 GtkObject *level_adj;
2985 GtkWidget *level;
2986
2987 cells_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2988 gtk_container_set_border_width (GTK_CONTAINER (cells_params), 4);
2989 gtk_window_set_title (GTK_WINDOW (cells_params), "Cells");
2990
2991 vbox15 = gtk_vbox_new (FALSE, 4);
2992 gtk_widget_show (vbox15);
2993 gtk_container_add (GTK_CONTAINER (cells_params), vbox15);
2994
2995 hbox11 = gtk_hbox_new (FALSE, 4);
2996 gtk_widget_show (hbox11);
2997 gtk_box_pack_start (GTK_BOX (vbox15), hbox11, FALSE, TRUE, 0);
2998
2999 radiobutton6 = gtk_radio_button_new_with_mnemonic (NULL, "gtk-info");
3000 gtk_button_set_use_stock (GTK_BUTTON (radiobutton6), TRUE);
3001 gtk_widget_show (radiobutton6);
3002 gtk_box_pack_start (GTK_BOX (hbox11), radiobutton6, FALSE, FALSE, 0);
3003 gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton6), radiobutton6_group);
3004 radiobutton6_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton6));
3005 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton6), TRUE);
3006
3007 edit = gtk_radio_button_new_with_mnemonic (NULL, "gtk-edit");
3008 gtk_button_set_use_stock (GTK_BUTTON (edit), TRUE);
3009 gtk_widget_show (edit);
3010 gtk_box_pack_start (GTK_BOX (hbox11), edit, FALSE, FALSE, 0);
3011 gtk_radio_button_set_group (GTK_RADIO_BUTTON (edit), radiobutton6_group);
3012 radiobutton6_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (edit));
3013
3014 vseparator1 = gtk_vseparator_new ();
3015 gtk_widget_show (vseparator1);
3016 gtk_box_pack_start (GTK_BOX (hbox11), vseparator1, FALSE, TRUE, 4);
3017
3018 edit_level = gtk_hbox_new (FALSE, 4);
3019 gtk_widget_show (edit_level);
3020 gtk_box_pack_start (GTK_BOX (hbox11), edit_level, TRUE, TRUE, 0);
3021 gtk_widget_set_sensitive (edit_level, FALSE);
3022
3023 label93 = gtk_label_new ("Level");
3024 gtk_widget_show (label93);
3025 gtk_box_pack_start (GTK_BOX (edit_level), label93, FALSE, FALSE, 0);
3026
3027 level_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 0);
3028 level = gtk_spin_button_new (GTK_ADJUSTMENT (level_adj), 1, 0);
3029 gtk_widget_show (level);
3030 gtk_box_pack_start (GTK_BOX (edit_level), level, FALSE, TRUE, 0);
3031
3032 g_signal_connect ((gpointer) radiobutton6, "toggled",
3033 G_CALLBACK (on_information_toggled),
3034 NULL);
3035
3036 /* Store pointers to all widgets, for use by lookup_widget(). */
3037 GLADE_HOOKUP_OBJECT_NO_REF (cells_params, cells_params, "cells_params");
3038 GLADE_HOOKUP_OBJECT (cells_params, vbox15, "vbox15");
3039 GLADE_HOOKUP_OBJECT (cells_params, hbox11, "hbox11");
3040 GLADE_HOOKUP_OBJECT (cells_params, radiobutton6, "radiobutton6");
3041 GLADE_HOOKUP_OBJECT (cells_params, edit, "edit");
3042 GLADE_HOOKUP_OBJECT (cells_params, vseparator1, "vseparator1");
3043 GLADE_HOOKUP_OBJECT (cells_params, edit_level, "edit_level");
3044 GLADE_HOOKUP_OBJECT (cells_params, label93, "label93");
3045 GLADE_HOOKUP_OBJECT (cells_params, level, "level");
3046
3047 return cells_params;
3048 }
3049
3050 GtkWidget*
3051 create_locate_params (void)
3052 {
3053 GtkWidget *locate_params;
3054 GtkWidget *table19;
3055 GtkWidget *label93;
3056 GtkWidget *label94;
3057 GtkWidget *label95;
3058 GtkWidget *locate_x_entry;
3059 GtkWidget *locate_y_entry;
3060 GtkWidget *locate_z_entry;
3061
3062 locate_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
3063 gtk_container_set_border_width (GTK_CONTAINER (locate_params), 4);
3064 gtk_window_set_title (GTK_WINDOW (locate_params), "Locate");
3065
3066 table19 = gtk_table_new (3, 2, FALSE);
3067 gtk_widget_show (table19);
3068 gtk_container_add (GTK_CONTAINER (locate_params), table19);
3069 gtk_table_set_row_spacings (GTK_TABLE (table19), 4);
3070 gtk_table_set_col_spacings (GTK_TABLE (table19), 4);
3071
3072 label93 = gtk_label_new ("X");
3073 gtk_widget_show (label93);
3074 gtk_table_attach (GTK_TABLE (table19), label93, 0, 1, 0, 1,
3075 (GtkAttachOptions) (GTK_FILL),
3076 (GtkAttachOptions) (0), 0, 0);
3077 gtk_misc_set_alignment (GTK_MISC (label93), 0, 0.5);
3078
3079 label94 = gtk_label_new ("Y");
3080 gtk_widget_show (label94);
3081 gtk_table_attach (GTK_TABLE (table19), label94, 0, 1, 1, 2,
3082 (GtkAttachOptions) (GTK_FILL),
3083 (GtkAttachOptions) (0), 0, 0);
3084 gtk_misc_set_alignment (GTK_MISC (label94), 0, 0.5);
3085
3086 label95 = gtk_label_new ("Z");
3087 gtk_widget_show (label95);
3088 gtk_table_attach (GTK_TABLE (table19), label95, 0, 1, 2, 3,
3089 (GtkAttachOptions) (GTK_FILL),
3090 (GtkAttachOptions) (0), 0, 0);
3091 gtk_misc_set_alignment (GTK_MISC (label95), 0, 0.5);
3092
3093 locate_x_entry = gtk_entry_new ();
3094 gtk_widget_show (locate_x_entry);
3095 gtk_table_attach (GTK_TABLE (table19), locate_x_entry, 1, 2, 0, 1,
3096 (GtkAttachOptions) (GTK_FILL),
3097 (GtkAttachOptions) (0), 0, 0);
3098
3099 locate_y_entry = gtk_entry_new ();
3100 gtk_widget_show (locate_y_entry);
3101 gtk_table_attach (GTK_TABLE (table19), locate_y_entry, 1, 2, 1, 2,
3102 (GtkAttachOptions) (GTK_FILL),
3103 (GtkAttachOptions) (0), 0, 0);
3104
3105 locate_z_entry = gtk_entry_new ();
3106 gtk_widget_show (locate_z_entry);
3107 gtk_table_attach (GTK_TABLE (table19), locate_z_entry, 1, 2, 2, 3,
3108 (GtkAttachOptions) (GTK_FILL),
3109 (GtkAttachOptions) (0), 0, 0);
3110
3111 g_signal_connect ((gpointer) locate_x_entry, "changed",
3112 G_CALLBACK (on_locate_x_entry_changed),
3113 NULL);
3114 g_signal_connect ((gpointer) locate_y_entry, "changed",
3115 G_CALLBACK (on_locate_y_entry_changed),
3116 NULL);
3117 g_signal_connect ((gpointer) locate_z_entry, "changed",
3118 G_CALLBACK (on_locate_z_entry_changed),
3119 NULL);
3120
3121 /* Store pointers to all widgets, for use by lookup_widget(). */
3122 GLADE_HOOKUP_OBJECT_NO_REF (locate_params, locate_params, "locate_params");
3123 GLADE_HOOKUP_OBJECT (locate_params, table19, "table19");
3124 GLADE_HOOKUP_OBJECT (locate_params, label93, "label93");
3125 GLADE_HOOKUP_OBJECT (locate_params, label94, "label94");
3126 GLADE_HOOKUP_OBJECT (locate_params, label95, "label95");
3127 GLADE_HOOKUP_OBJECT (locate_params, locate_x_entry, "locate_x_entry");
3128 GLADE_HOOKUP_OBJECT (locate_params, locate_y_entry, "locate_y_entry");
3129 GLADE_HOOKUP_OBJECT (locate_params, locate_z_entry, "locate_z_entry");
3130
3131 return locate_params;
3132 }
3133
3134 GtkWidget*
3135 create_vof_params (void)
3136 {
3137 GtkWidget *vof_params;
3138 GtkWidget *table1;
3139 GtkWidget *label100;
3140 GtkWidget *normals;
3141 GtkWidget *reversed;
3142 GtkWidget *label103;
3143 GtkWidget *color;
3144 GtkWidget *edges;
3145 GtkWidget *visible;
3146
3147 vof_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
3148 gtk_container_set_border_width (GTK_CONTAINER (vof_params), 4);
3149 gtk_window_set_title (GTK_WINDOW (vof_params), "VOF");
3150
3151 table1 = gtk_table_new (4, 2, FALSE);
3152 gtk_widget_show (table1);
3153 gtk_container_add (GTK_CONTAINER (vof_params), table1);
3154 gtk_table_set_row_spacings (GTK_TABLE (table1), 4);
3155 gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
3156
3157 label100 = gtk_label_new ("Scalar");
3158 gtk_widget_show (label100);
3159 gtk_table_attach (GTK_TABLE (table1), label100, 0, 1, 0, 1,
3160 (GtkAttachOptions) (GTK_FILL),
3161 (GtkAttachOptions) (0), 0, 0);
3162 gtk_misc_set_alignment (GTK_MISC (label100), 0, 0.5);
3163
3164 normals = gtk_label_new ("Normals");
3165 gtk_widget_show (normals);
3166 gtk_table_attach (GTK_TABLE (table1), normals, 0, 1, 1, 2,
3167 (GtkAttachOptions) (GTK_FILL),
3168 (GtkAttachOptions) (0), 0, 0);
3169 gtk_misc_set_alignment (GTK_MISC (normals), 0, 0.5);
3170
3171 reversed = gtk_check_button_new_with_mnemonic ("reversed");
3172 gtk_widget_show (reversed);
3173 gtk_table_attach (GTK_TABLE (table1), reversed, 1, 2, 1, 2,
3174 (GtkAttachOptions) (GTK_FILL),
3175 (GtkAttachOptions) (0), 0, 0);
3176
3177 label103 = gtk_label_new ("Color");
3178 gtk_widget_show (label103);
3179 gtk_table_attach (GTK_TABLE (table1), label103, 0, 1, 3, 4,
3180 (GtkAttachOptions) (GTK_FILL),
3181 (GtkAttachOptions) (0), 0, 0);
3182 gtk_misc_set_alignment (GTK_MISC (label103), 0, 0.5);
3183
3184 color = gtk_option_menu_new ();
3185 gtk_widget_show (color);
3186 gtk_table_attach (GTK_TABLE (table1), color, 1, 2, 3, 4,
3187 (GtkAttachOptions) (GTK_FILL),
3188 (GtkAttachOptions) (0), 0, 0);
3189
3190 edges = gtk_label_new ("Edges");
3191 gtk_widget_show (edges);
3192 gtk_table_attach (GTK_TABLE (table1), edges, 0, 1, 2, 3,
3193 (GtkAttachOptions) (GTK_FILL),
3194 (GtkAttachOptions) (0), 0, 0);
3195 gtk_misc_set_alignment (GTK_MISC (edges), 0, 0.5);
3196
3197 visible = gtk_check_button_new_with_mnemonic ("visible");
3198 gtk_widget_show (visible);
3199 gtk_table_attach (GTK_TABLE (table1), visible, 1, 2, 2, 3,
3200 (GtkAttachOptions) (GTK_FILL),
3201 (GtkAttachOptions) (0), 0, 0);
3202
3203 g_signal_connect ((gpointer) reversed, "toggled",
3204 G_CALLBACK (on_vof_reversed_toggled),
3205 NULL);
3206 g_signal_connect ((gpointer) visible, "toggled",
3207 G_CALLBACK (on_vof_visible_toggled),
3208 NULL);
3209
3210 /* Store pointers to all widgets, for use by lookup_widget(). */
3211 GLADE_HOOKUP_OBJECT_NO_REF (vof_params, vof_params, "vof_params");
3212 GLADE_HOOKUP_OBJECT (vof_params, table1, "table1");
3213 GLADE_HOOKUP_OBJECT (vof_params, label100, "label100");
3214 GLADE_HOOKUP_OBJECT (vof_params, normals, "normals");
3215 GLADE_HOOKUP_OBJECT (vof_params, reversed, "reversed");
3216 GLADE_HOOKUP_OBJECT (vof_params, label103, "label103");
3217 GLADE_HOOKUP_OBJECT (vof_params, color, "color");
3218 GLADE_HOOKUP_OBJECT (vof_params, edges, "edges");
3219 GLADE_HOOKUP_OBJECT (vof_params, visible, "visible");
3220
3221 return vof_params;
3222 }
3223
3224 GtkWidget*
3225 create_font_params (void)
3226 {
3227 GtkWidget *font_params;
3228 GtkWidget *table22;
3229 GtkWidget *label112;
3230 GtkObject *font_size_adj;
3231 GtkWidget *font_size;
3232 GtkWidget *vector_font;
3233 GSList *vector_font_group = NULL;
3234 GtkWidget *raster_font;
3235
3236 font_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
3237 gtk_container_set_border_width (GTK_CONTAINER (font_params), 4);
3238 gtk_window_set_title (GTK_WINDOW (font_params), "Font");
3239
3240 table22 = gtk_table_new (2, 2, FALSE);
3241 gtk_widget_show (table22);
3242 gtk_container_add (GTK_CONTAINER (font_params), table22);
3243 gtk_table_set_row_spacings (GTK_TABLE (table22), 4);
3244 gtk_table_set_col_spacings (GTK_TABLE (table22), 4);
3245
3246 label112 = gtk_label_new ("Size");
3247 gtk_widget_show (label112);
3248 gtk_table_attach (GTK_TABLE (table22), label112, 0, 1, 1, 2,
3249 (GtkAttachOptions) (GTK_FILL),
3250 (GtkAttachOptions) (0), 0, 0);
3251 gtk_misc_set_alignment (GTK_MISC (label112), 0, 0.5);
3252
3253 font_size_adj = gtk_adjustment_new (1, 0.10000000149, 10, 0.10000000149, 1, 0);
3254 font_size = gtk_spin_button_new (GTK_ADJUSTMENT (font_size_adj), 1, 1);
3255 gtk_widget_show (font_size);
3256 gtk_table_attach (GTK_TABLE (table22), font_size, 1, 2, 1, 2,
3257 (GtkAttachOptions) (GTK_FILL),
3258 (GtkAttachOptions) (0), 0, 0);
3259 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (font_size), TRUE);
3260 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (font_size), GTK_UPDATE_IF_VALID);
3261
3262 vector_font = gtk_radio_button_new_with_mnemonic (NULL, "Vector");
3263 gtk_widget_show (vector_font);
3264 gtk_table_attach (GTK_TABLE (table22), vector_font, 0, 1, 0, 1,
3265 (GtkAttachOptions) (GTK_FILL),
3266 (GtkAttachOptions) (0), 0, 0);
3267 gtk_radio_button_set_group (GTK_RADIO_BUTTON (vector_font), vector_font_group);
3268 vector_font_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (vector_font));
3269
3270 raster_font = gtk_radio_button_new_with_mnemonic (NULL, "Raster");
3271 gtk_widget_show (raster_font);
3272 gtk_table_attach (GTK_TABLE (table22), raster_font, 1, 2, 0, 1,
3273 (GtkAttachOptions) (GTK_FILL),
3274 (GtkAttachOptions) (0), 0, 0);
3275 gtk_radio_button_set_group (GTK_RADIO_BUTTON (raster_font), vector_font_group);
3276 vector_font_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (raster_font));
3277 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (raster_font), TRUE);
3278
3279 g_signal_connect ((gpointer) font_size, "value_changed",
3280 G_CALLBACK (on_font_size_changed),
3281 NULL);
3282 g_signal_connect ((gpointer) vector_font, "toggled",
3283 G_CALLBACK (on_vector_font_toggled),
3284 NULL);
3285 g_signal_connect ((gpointer) raster_font, "toggled",
3286 G_CALLBACK (on_raster_font_toggled),
3287 NULL);
3288
3289 /* Store pointers to all widgets, for use by lookup_widget(). */
3290 GLADE_HOOKUP_OBJECT_NO_REF (font_params, font_params, "font_params");
3291 GLADE_HOOKUP_OBJECT (font_params, table22, "table22");
3292 GLADE_HOOKUP_OBJECT (font_params, label112, "label112");
3293 GLADE_HOOKUP_OBJECT (font_params, font_size, "font_size");
3294 GLADE_HOOKUP_OBJECT (font_params, vector_font, "vector_font");
3295 GLADE_HOOKUP_OBJECT (font_params, raster_font, "raster_font");
3296
3297 return font_params;
3298 }
3299
3300 GtkWidget*
3301 create_label_params (void)
3302 {
3303 GtkWidget *label_params;
3304 GtkWidget *table23;
3305 GtkWidget *label113;
3306 GtkWidget *label114;
3307 GtkWidget *hbox12;
3308 GtkObject *labelx_adj;
3309 GtkWidget *labelx;
3310 GtkObject *labely_adj;
3311 GtkWidget *labely;
3312 GtkObject *labelz_adj;
3313 GtkWidget *labelz;
3314 GtkWidget *labelentry;
3315 GtkWidget *label_symbol_check;
3316 GtkWidget *label115;
3317
3318 label_params = gtk_window_new (GTK_WINDOW_TOPLEVEL);
3319 gtk_container_set_border_width (GTK_CONTAINER (label_params), 4);
3320 gtk_window_set_title (GTK_WINDOW (label_params), "Label");
3321
3322 table23 = gtk_table_new (3, 2, FALSE);
3323 gtk_widget_show (table23);
3324 gtk_container_add (GTK_CONTAINER (label_params), table23);
3325 gtk_table_set_row_spacings (GTK_TABLE (table23), 4);
3326 gtk_table_set_col_spacings (GTK_TABLE (table23), 4);
3327
3328 label113 = gtk_label_new ("Position");
3329 gtk_widget_show (label113);
3330 gtk_table_attach (GTK_TABLE (table23), label113, 0, 1, 0, 1,
3331 (GtkAttachOptions) (GTK_FILL),
3332 (GtkAttachOptions) (0), 0, 0);
3333 gtk_misc_set_alignment (GTK_MISC (label113), 0, 0.5);
3334
3335 label114 = gtk_label_new ("Text");
3336 gtk_widget_show (label114);
3337 gtk_table_attach (GTK_TABLE (table23), label114, 0, 1, 1, 2,
3338 (GtkAttachOptions) (GTK_FILL),
3339 (GtkAttachOptions) (0), 0, 0);
3340 gtk_misc_set_alignment (GTK_MISC (label114), 0, 0.5);
3341
3342 hbox12 = gtk_hbox_new (FALSE, 0);
3343 gtk_widget_show (hbox12);
3344 gtk_table_attach (GTK_TABLE (table23), hbox12, 1, 2, 0, 1,
3345 (GtkAttachOptions) (GTK_FILL),
3346 (GtkAttachOptions) (GTK_FILL), 0, 0);
3347
3348 labelx_adj = gtk_adjustment_new (0, -1000000, 1000000, 0.00999999977648, 0.019999999553, 0);
3349 labelx = gtk_spin_button_new (GTK_ADJUSTMENT (labelx_adj), 0.019999999553, 5);
3350 gtk_widget_show (labelx);
3351 gtk_box_pack_start (GTK_BOX (hbox12), labelx, TRUE, TRUE, 0);
3352 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (labelx), TRUE);
3353 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (labelx), GTK_UPDATE_IF_VALID);
3354
3355 labely_adj = gtk_adjustment_new (0, -1000000, 1000000, 0.00999999977648, 0.019999999553, 0);
3356 labely = gtk_spin_button_new (GTK_ADJUSTMENT (labely_adj), 0.019999999553, 5);
3357 gtk_widget_show (labely);
3358 gtk_box_pack_start (GTK_BOX (hbox12), labely, TRUE, TRUE, 0);
3359 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (labely), TRUE);
3360 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (labely), GTK_UPDATE_IF_VALID);
3361
3362 labelz_adj = gtk_adjustment_new (0, -1000000, 1000000, 0.00999999977648, 0.019999999553, 0);
3363 labelz = gtk_spin_button_new (GTK_ADJUSTMENT (labelz_adj), 0.019999999553, 5);
3364 gtk_widget_show (labelz);
3365 gtk_box_pack_start (GTK_BOX (hbox12), labelz, TRUE, TRUE, 0);
3366 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (labelz), TRUE);
3367 gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (labelz), GTK_UPDATE_IF_VALID);
3368
3369 labelentry = gtk_entry_new ();
3370 gtk_widget_show (labelentry);
3371 gtk_table_attach (GTK_TABLE (table23), labelentry, 1, 2, 1, 2,
3372 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3373 (GtkAttachOptions) (0), 0, 0);
3374 gtk_entry_set_text (GTK_ENTRY (labelentry), "Label");
3375 gtk_entry_set_invisible_char (GTK_ENTRY (labelentry), 9679);
3376
3377 label_symbol_check = gtk_check_button_new_with_mnemonic ("");
3378 gtk_widget_show (label_symbol_check);
3379 gtk_table_attach (GTK_TABLE (table23), label_symbol_check, 1, 2, 2, 3,
3380 (GtkAttachOptions) (GTK_FILL),
3381 (GtkAttachOptions) (0), 0, 0);
3382 GTK_WIDGET_UNSET_FLAGS (label_symbol_check, GTK_CAN_FOCUS);
3383
3384 label115 = gtk_label_new ("Symbol");
3385 gtk_widget_show (label115);
3386 gtk_table_attach (GTK_TABLE (table23), label115, 0, 1, 2, 3,
3387 (GtkAttachOptions) (GTK_FILL),
3388 (GtkAttachOptions) (0), 0, 0);
3389 gtk_misc_set_alignment (GTK_MISC (label115), 0, 0.5);
3390
3391 g_signal_connect ((gpointer) labelx, "value_changed",
3392 G_CALLBACK (on_labelx_changed),
3393 NULL);
3394 g_signal_connect ((gpointer) labely, "value_changed",
3395 G_CALLBACK (on_labely_changed),
3396 NULL);
3397 g_signal_connect ((gpointer) labelz, "value_changed",
3398 G_CALLBACK (on_labelz_changed),
3399 NULL);
3400 g_signal_connect ((gpointer) labelentry, "activate",
3401 G_CALLBACK (on_labelentry_activate),
3402 NULL);
3403 g_signal_connect ((gpointer) label_symbol_check, "toggled",
3404 G_CALLBACK (on_label_symbol_check_toggled),
3405 NULL);
3406
3407 /* Store pointers to all widgets, for use by lookup_widget(). */
3408 GLADE_HOOKUP_OBJECT_NO_REF (label_params, label_params, "label_params");
3409 GLADE_HOOKUP_OBJECT (label_params, table23, "table23");
3410 GLADE_HOOKUP_OBJECT (label_params, label113, "label113");
3411 GLADE_HOOKUP_OBJECT (label_params, label114, "label114");
3412 GLADE_HOOKUP_OBJECT (label_params, hbox12, "hbox12");
3413 GLADE_HOOKUP_OBJECT (label_params, labelx, "labelx");
3414 GLADE_HOOKUP_OBJECT (label_params, labely, "labely");
3415 GLADE_HOOKUP_OBJECT (label_params, labelz, "labelz");
3416 GLADE_HOOKUP_OBJECT (label_params, labelentry, "labelentry");
3417 GLADE_HOOKUP_OBJECT (label_params, label_symbol_check, "label_symbol_check");
3418 GLADE_HOOKUP_OBJECT (label_params, label115, "label115");
3419
3420 return label_params;
3421 }
3422