-/*
- PSPPIRE --- A Graphical User Interface for PSPP
- Copyright (C) 2006 Free Software Foundation
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2006 Free Software Foundation
- 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+ 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
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef __CASE_FILE_H__
#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, casenumber row);
-gboolean psppire_case_file_insert_case(PsppireCaseFile *cf, struct ccase *c, gint row);
+inline casenumber 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, casenumber 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, casenumber 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, casenumber n_rows,
+ casenumber first);
+
+gboolean psppire_case_file_insert_values (PsppireCaseFile *cf, gint n_values, gint where);
+struct case_ordering;
-gboolean psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_rows,
- gint first);
+void psppire_case_file_sort (PsppireCaseFile *cf, struct case_ordering *);
-gboolean psppire_case_file_insert_values(PsppireCaseFile *cf, gint n_values, gint before);
+gboolean psppire_case_file_get_case (const PsppireCaseFile *cf,
+ casenumber casenum,
+ struct ccase *c);
-struct sort_criteria;
-void psppire_case_file_sort(PsppireCaseFile *cf, const struct sort_criteria *);
-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