X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-store.h;h=65e3d24ad3d495fe4531f63da7d51443ebd4546b;hb=71ca6750d4f402feb0f3c630ba8d12eb73ef2216;hp=0e9886337c51c00e1a0200f3dbe68239428d8053;hpb=775941da1289c0c3de3895e61cc6e787c6591686;p=pspp diff --git a/src/ui/gui/psppire-data-store.h b/src/ui/gui/psppire-data-store.h index 0e9886337c..65e3d24ad3 100644 --- a/src/ui/gui/psppire-data-store.h +++ b/src/ui/gui/psppire-data-store.h @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2006 Free Software Foundation + Copyright (C) 2006, 2009, 2011, 2012 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 @@ -24,28 +24,28 @@ G_BEGIN_DECLS -#define GTK_TYPE_DATA_STORE (psppire_data_store_get_type ()) +#define PSPPIRE_TYPE_DATA_STORE (psppire_data_store_get_type ()) #define PSPPIRE_DATA_STORE(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GTK_TYPE_DATA_STORE, PsppireDataStore)) + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + PSPPIRE_TYPE_DATA_STORE, PsppireDataStore)) #define PSPPIRE_DATA_STORE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GTK_TYPE_DATA_STORE, \ - PsppireDataStoreClass)) + (G_TYPE_CHECK_CLASS_CAST ((klass), \ + PSPPIRE_TYPE_DATA_STORE, \ + PsppireDataStoreClass)) #define PSPPIRE_IS_DATA_STORE(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATA_STORE)) + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_TYPE_DATA_STORE)) #define PSPPIRE_IS_DATA_STORE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATA_STORE)) + (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_TYPE_DATA_STORE)) #define PSPPIRE_DATA_STORE_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GTK_TYPE_DATA_STORE, \ - PsppireDataStoreClass)) + (G_TYPE_INSTANCE_GET_CLASS ((obj), \ + PSPPIRE_TYPE_DATA_STORE, \ + PsppireDataStoreClass)) typedef struct _PsppireDataStore PsppireDataStore; typedef struct _PsppireDataStoreClass PsppireDataStoreClass; @@ -53,19 +53,10 @@ typedef struct _PsppireDataStoreClass PsppireDataStoreClass; struct dictionary; -enum cf_signal_handler { - CASES_DELETED, - CASE_INSERTED, - CASE_CHANGED, - n_cf_signals -}; - - enum dict_signal_handler { VARIABLE_INSERTED, VARIABLE_CHANGED, VARIABLE_DELETED, - SIZE_CHANGED, n_dict_signals }; @@ -81,10 +72,8 @@ struct _PsppireDataStore gboolean dispose_has_run ; PsppireDict *dict; struct datasheet *datasheet; + gint stamp; - gboolean show_labels; - - gint cf_handler_id [n_cf_signals]; gint dict_handler_id [n_dict_signals]; }; @@ -104,35 +93,59 @@ void psppire_data_store_set_reader (PsppireDataStore *ds, void psppire_data_store_set_dictionary (PsppireDataStore *data_store, PsppireDict *dict); -void psppire_data_store_show_labels (PsppireDataStore *store, - gboolean show_labels); - void psppire_data_store_clear (PsppireDataStore *data_store); gboolean psppire_data_store_insert_new_case (PsppireDataStore *ds, casenumber posn); +gboolean psppire_data_store_insert_value (PsppireDataStore *ds, + gint width, gint where); gboolean psppire_data_store_delete_cases (PsppireDataStore *ds, casenumber first, casenumber count); struct casereader * psppire_data_store_get_reader (PsppireDataStore *ds); -gchar * psppire_data_store_get_string (PsppireDataStore *ds, - casenumber row, glong column); +gchar *psppire_data_store_get_string (PsppireDataStore *, + glong row, const struct variable *, + bool use_value_label); + +gchar * psppire_data_store_value_to_string (gpointer unused, PsppireDataStore *store, + gint col, gint row, + const GValue *v); + +gchar * psppire_data_store_value_to_string_with_labels (gpointer unused, PsppireDataStore *store, + gint col, gint row, + const GValue *v); + + +gboolean psppire_data_store_get_value (PsppireDataStore *store, + glong row, const struct variable *var, + union value *val); + +gboolean psppire_data_store_set_value (PsppireDataStore *, + casenumber casenum, + const struct variable *, + const union value *); + gboolean psppire_data_store_set_string (PsppireDataStore *ds, const gchar *text, - glong row, glong column); + glong row, const struct variable *, + gboolean use_value_label); + + +gboolean psppire_data_store_filtered (PsppireDataStore *ds, + glong row); + casenumber psppire_data_store_get_case_count (const PsppireDataStore *ds); size_t psppire_data_store_get_value_count (const PsppireDataStore *ds); - +const struct caseproto *psppire_data_store_get_proto (const PsppireDataStore *); -gboolean psppire_data_store_get_case (const PsppireDataStore *ds, - casenumber casenum, - struct ccase *c); +struct ccase *psppire_data_store_get_case (const PsppireDataStore *ds, + casenumber casenum);