summaryrefslogtreecommitdiffstats
Unidiff
-rw-r--r--src/controller/clear_selection.h6
-rw-r--r--src/controller/clear_selection.sqc45
-rw-r--r--src/controller/keyboard.c28
-rw-r--r--src/controller/keyboard.h6
-rw-r--r--src/controller/selection_from_db.h9
-rw-r--r--src/controller/selection_from_db.sqc21
-rw-r--r--src/controller/selection_to_db.h9
-rw-r--r--src/controller/selection_to_db.sqc38
-rw-r--r--src/model/exp004base.sqc144
-rw-r--r--src/util/pick_convert.c50
-rw-r--r--src/util/pick_convert.h29
11 files changed, 385 insertions, 0 deletions
diff --git a/src/controller/selection_to_db.sqc b/src/controller/selection_to_db.sqc
new file mode 100644
index 0000000..a6c91b9
--- a/dev/null
+++ b/src/controller/selection_to_db.sqc
@@ -0,0 +1,38 @@
1#include "selection_to_db.h"
2#include "../view/exp004state0.h"
3#include <string.h>
4
5EXEC SQL INCLUDE sqlca;
6
7/*
8 * A simple alias to make the code more readable.
9 */
10#define S exp004state0
11
12void
13selection_to_db (void)
14{
15 EXEC SQL BEGIN DECLARE SECTION;
16 char gi[255];
17 EXEC SQL END DECLARE SECTION;
18
19 /*
20 * WHERE gi IS NOT NULL is added to prevent the PRECOMPILE command
21 * from throwing a warning about modifying an entire table. Since
22 * gi is defined as NOT NULL this will clear the entire table.
23 */
24 EXEC SQL DELETE FROM vis_selection WHERE gi IS NOT NULL;
25
26 for (unsigned int i = 0; i < ROWS; i++)
27 {
28 if (S.selection[i] == true)
29 {
30 strncpy (gi, S.gi_data[i] + 3, sizeof(gi));
31 EXEC SQL INSERT INTO vis_selection VALUES (:gi);
32 }
33 }
34
35 EXEC SQL COMMIT;
36
37 return;
38}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.