[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] psppire ./TODO src/Makefile.am src/callbacks.c ...
From: |
John Darrington |
Subject: |
[Pspp-cvs] psppire ./TODO src/Makefile.am src/callbacks.c ... |
Date: |
Fri, 23 Dec 2005 06:50:09 +0000 |
CVSROOT: /cvsroot/pspp
Module name: psppire
Branch:
Changes by: John Darrington <address@hidden> 05/12/23 06:50:09
Modified files:
. : TODO
src : Makefile.am callbacks.c stubs.c
Added files:
src : error-dialog.c error-dialog.h
Log message:
Added a dialog box implementation of error message functions.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/TODO.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/src/Makefile.am.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/src/callbacks.c.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/src/error-dialog.c?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/src/error-dialog.h?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/pspp/psppire/src/stubs.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: psppire/TODO
diff -u psppire/TODO:1.19 psppire/TODO:1.20
--- psppire/TODO:1.19 Thu Dec 22 08:56:59 2005
+++ psppire/TODO Fri Dec 23 06:50:09 2005
@@ -41,8 +41,6 @@
* Implement mechanism for handling errors (use GError ?).
-* If attempt to load *.SAV file fails, then the GUI crashes.
-
* Load/Save portable files.
* data_sheet.c: value_format_func is one big memory leak.
Index: psppire/src/Makefile.am
diff -u psppire/src/Makefile.am:1.11 psppire/src/Makefile.am:1.12
--- psppire/src/Makefile.am:1.11 Sat Dec 3 00:13:34 2005
+++ psppire/src/Makefile.am Fri Dec 23 06:50:09 2005
@@ -18,6 +18,7 @@
main.c \
pspp-object.c pspp-object.h \
pspp-dict.c pspp-dict.h \
+ error-dialog.c error-dialog.h \
callbacks.c callbacks.h\
customentry.c customentry.h \
var_type_dialog.c var_type_dialog.h \
Index: psppire/src/callbacks.c
diff -u psppire/src/callbacks.c:1.17 psppire/src/callbacks.c:1.18
--- psppire/src/callbacks.c:1.17 Sun Dec 11 10:14:39 2005
+++ psppire/src/callbacks.c Fri Dec 23 06:50:09 2005
@@ -105,8 +105,6 @@
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
-
-
GtkFileFilter *filter ;
filter = gtk_file_filter_new();
@@ -127,115 +125,126 @@
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
- if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
- {
- GtkWidget *data_sheet = get_widget_assert(xml, "data_sheet");
- g_assert(data_sheet);
+ bool finished = FALSE;
+ do {
- GtkWidget *var_sheet = get_widget_assert(xml, "variable_sheet");
- g_assert(var_sheet);
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+ {
+ GtkWidget *data_sheet = get_widget_assert(xml, "data_sheet");
+ g_assert(data_sheet);
- char *filename = gtk_file_chooser_get_filename
- (GTK_FILE_CHOOSER (dialog));
+ GtkWidget *var_sheet = get_widget_assert(xml, "variable_sheet");
+ g_assert(var_sheet);
- if ( psppire_handle )
- destroy_file_handle(psppire_handle, 0);
+ char *filename = gtk_file_chooser_get_filename
+ (GTK_FILE_CHOOSER (dialog));
- psppire_handle =
- create_file_handle_with_defaults (handle_name, filename);
+ if ( psppire_handle )
+ destroy_file_handle(psppire_handle, 0);
- if ( !psppire_handle )
- {
- g_warning("Cannot read handle for reading system file \"%s\"\n",
- filename);
- return;
- }
+ psppire_handle =
+ create_file_handle_with_defaults (handle_name, filename);
- /* Clear everything */
- PSPP_Dict *dict = psppire_var_sheet_get_dictionary(var_sheet);
- pspp_dict_clear(dict);
+ if ( !psppire_handle )
+ {
+ g_warning("Cannot read handle for reading system file \"%s\"\n",
+ filename);
+ continue;
+ }
- psppire_var_sheet_clear(GTK_SHEET(var_sheet));
- psppire_data_sheet_clear(GTK_SHEET(data_sheet));
+ /* Clear everything */
+ PSPP_Dict *dict = psppire_var_sheet_get_dictionary(var_sheet);
+ pspp_dict_clear(dict);
- struct dictionary *new_dict;
- struct sfm_read_info ri;
- struct sfm_reader *reader ;
+ psppire_var_sheet_clear(GTK_SHEET(var_sheet));
+ psppire_data_sheet_clear(GTK_SHEET(data_sheet));
- reader = sfm_open_reader (psppire_handle, &new_dict, &ri);
- g_assert(reader);
+ struct dictionary *new_dict;
+ struct sfm_read_info ri;
+ struct sfm_reader *reader ;
- dict = pspp_dict_new_from_dict(new_dict);
+ reader = sfm_open_reader (psppire_handle, &new_dict, &ri);
+
+ if ( ! reader )
+ continue;
- psppire_var_sheet_set_dictionary(GTK_SHEET(var_sheet), dict);
- psppire_data_sheet_set_dictionary(GTK_SHEET(data_sheet), dict);
+ dict = pspp_dict_new_from_dict(new_dict);
- psppire_set_window_title(basename(filename));
+ psppire_var_sheet_set_dictionary(GTK_SHEET(var_sheet), dict);
+ psppire_data_sheet_set_dictionary(GTK_SHEET(data_sheet), dict);
- g_free (filename);
+ psppire_set_window_title(basename(filename));
- const int ni = dict_get_next_value_idx(dict->dict);
- if ( ni == 0 )
- return;
-
- gint var_idx;
-
- for ( var_idx = 0 ;
- var_idx < pspp_dict_get_var_cnt(dict);
- ++var_idx)
- pspp_dict_var_changed(dict, var_idx);
-
- gint case_num;
- for(case_num=0;;case_num++)
- {
- struct ccase mycase;
+ g_free (filename);
- case_create(&mycase, ni);
+ const int ni = dict_get_next_value_idx(dict->dict);
+ if ( ni == 0 )
+ goto done;
- if ( ! sfm_read_case (reader, &mycase) )
- {
- case_destroy(&mycase);
- break;
- }
+ gint var_idx;
for ( var_idx = 0 ;
var_idx < pspp_dict_get_var_cnt(dict);
++var_idx)
+ pspp_dict_var_changed(dict, var_idx);
+
+ gint case_num;
+ for(case_num=0;;case_num++)
{
- GValue val = {0};
- const struct variable *v = pspp_dict_get_var(dict, var_idx);
- const union value *value = case_data(&mycase, v->fv);
+ struct ccase mycase;
+
+ case_create(&mycase, ni);
- if ( v->type == ALPHA)
+ if ( ! sfm_read_case (reader, &mycase) )
{
- gchar *text = g_malloc(sizeof (gchar) * (v->width + 1));
- g_value_init(&val, G_TYPE_STRING);
-
- memset(text, 0, v->width + 1);
- memcpy(text, value->s, v->width);
-
- g_value_set_string(&val, text);
- g_free(text);
+ case_destroy(&mycase);
+ break;
}
- else
+
+ for ( var_idx = 0 ;
+ var_idx < pspp_dict_get_var_cnt(dict);
+ ++var_idx)
{
- g_value_init(&val, G_TYPE_DOUBLE);
- g_value_set_double(&val, value->f);
- }
+ GValue val = {0};
+ const struct variable *v = pspp_dict_get_var(dict, var_idx);
+ const union value *value = case_data(&mycase, v->fv);
+
+ if ( v->type == ALPHA)
+ {
+ gchar *text = g_malloc(sizeof (gchar) * (v->width + 1));
+ g_value_init(&val, G_TYPE_STRING);
+
+ memset(text, 0, v->width + 1);
+ memcpy(text, value->s, v->width);
+
+ g_value_set_string(&val, text);
+ g_free(text);
+ }
+ else
+ {
+ g_value_init(&val, G_TYPE_DOUBLE);
+ g_value_set_double(&val, value->f);
+ }
- data_sheet_set_cell_value(GTK_SHEET(data_sheet),
- case_num, var_idx, &val);
+ data_sheet_set_cell_value(GTK_SHEET(data_sheet),
+ case_num, var_idx, &val);
- g_value_unset(&val);
+ g_value_unset(&val);
+ }
+
+ case_destroy(&mycase);
}
- case_destroy(&mycase);
+ sfm_close_reader(reader);
+ finished = TRUE;
}
+ else
+ {
+ finished = TRUE;
+ }
+ } while ( ! finished ) ;
- sfm_close_reader(reader);
-
- }
-
+ done:
gtk_widget_destroy (dialog);
}
Index: psppire/src/stubs.c
diff -u psppire/src/stubs.c:1.7 psppire/src/stubs.c:1.8
--- psppire/src/stubs.c:1.7 Mon Dec 19 06:45:02 2005
+++ psppire/src/stubs.c Fri Dec 23 06:50:09 2005
@@ -1,40 +1,8 @@
-#include <stdio.h>
-#include <stdarg.h>
-#include "settings.h"
-void
-err_assert_fail(const char *expr, const char *file, int line)
-{
- fprintf(stderr,"Assertion failed: %s:%d; (%s)\n",file,line,expr);
-
- exit(1);
-}
+struct file_locator;
-void msg(int i, char *fmt, ...)
+void err_location (struct file_locator *x)
{
- va_list ap;
- va_start(ap, fmt);
- vprintf(fmt, ap);
- putchar('\n');
- va_end(ap);
}
-void err_cond_fail(void)
-{
-}
-
-
-int
-err_location()
-{
-}
-
-
-struct error;
-
-void
-err_vmsg (const struct error *e, const char *format, va_list args)
-{
- vprintf(format, args);
-}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] psppire ./TODO src/Makefile.am src/callbacks.c ...,
John Darrington <=