-/*
+/*
PSPPIRE --- A Graphical User Interface for PSPP
Copyright (C) 2006 Free Software Foundation
- Written by John Darrington
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <glib.h>
#include <libpspp/str.h>
+#include <data/case.h>
typedef struct _PsppireCaseFileClass PsppireCaseFileClass;
struct ccase;
-struct casefilefile;
+struct casereader;
struct _PsppireCaseFile
{
GObject parent;
- struct casefile *flexifile;
+ /* <private> */
+ struct datasheet *datasheet;
+ gboolean accessible;
};
/* -- PsppireCaseFile --- */
GType psppire_case_file_get_type (void);
-PsppireCaseFile *psppire_case_file_new (gint var_cnt);
+PsppireCaseFile *psppire_case_file_new (const struct casereader *);
-gboolean psppire_case_file_append_case(PsppireCaseFile *cf,
- struct ccase *c);
+gboolean psppire_case_file_insert_case (PsppireCaseFile *cf, struct ccase *c, gint row);
-gboolean psppire_case_file_insert_case(PsppireCaseFile *cf, struct ccase *c, gint row);
+gint psppire_case_file_get_case_count (const PsppireCaseFile *cf);
-gint psppire_case_file_get_case_count(const PsppireCaseFile *cf);
-
-const union value * psppire_case_file_get_value(const PsppireCaseFile *cf,
- gint c, gint idx);
+union value * psppire_case_file_get_value (const PsppireCaseFile *cf,
+ casenumber, size_t idx,
+ union value *, int width);
struct fmt_spec;
-gboolean psppire_case_file_data_in(PsppireCaseFile *cf, gint c, gint idx,
+gboolean psppire_case_file_data_in (PsppireCaseFile *cf, gint c, gint idx,
struct substring input,
const struct fmt_spec *);
-gboolean psppire_case_file_set_value(PsppireCaseFile *cf, gint casenum,
+gboolean psppire_case_file_set_value (PsppireCaseFile *cf, gint casenum,
gint idx, union value *v, gint width);
-void psppire_case_file_clear(PsppireCaseFile *cf);
+void psppire_case_file_clear (PsppireCaseFile *cf);
-gboolean psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_rows,
+gboolean psppire_case_file_delete_cases (PsppireCaseFile *cf, gint n_rows,
gint first);
-gboolean psppire_case_file_insert_values(PsppireCaseFile *cf, gint n_values, gint before);
+gboolean psppire_case_file_insert_values (PsppireCaseFile *cf, gint n_values, gint before);
+
+struct case_ordering;
-struct sort_criteria;
-void psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *);
+void psppire_case_file_sort (PsppireCaseFile *cf, struct case_ordering *);
-gboolean psppire_case_file_get_case(const PsppireCaseFile *cf, gint casenum,
+gboolean psppire_case_file_get_case (const PsppireCaseFile *cf, gint casenum,
struct ccase *c);
+struct casereader * psppire_case_file_make_reader (PsppireCaseFile *cf);
+
+
G_END_DECLS
#endif /* __PSPPIRE_CASE_FILE_H__ */