X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fpsppire-data-store.h;h=8f30afa448f6b4df49b4cb9248232933ecdf3614;hb=f79c3114efb645934af16035e489fdedc4cab85e;hp=b58562b484fc4cce0740fc55236c92421a50639c;hpb=43b1296aafe7582e7dbe6c2b6a8b478d7d9b0fcf;p=pspp diff --git a/src/ui/gui/psppire-data-store.h b/src/ui/gui/psppire-data-store.h index b58562b484..8f30afa448 100644 --- a/src/ui/gui/psppire-data-store.h +++ b/src/ui/gui/psppire-data-store.h @@ -17,7 +17,6 @@ #ifndef __PSPPIRE_DATA_STORE_H__ #define __PSPPIRE_DATA_STORE_H__ -#include #include "psppire-dict.h" #include "psppire-case-file.h" @@ -30,18 +29,24 @@ extern "C" { #define GTK_TYPE_DATA_STORE (psppire_data_store_get_type ()) -#define PSPPIRE_DATA_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ +#define PSPPIRE_DATA_STORE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ GTK_TYPE_DATA_STORE, PsppireDataStore)) -#define PSPPIRE_DATA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \ +#define PSPPIRE_DATA_STORE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), \ GTK_TYPE_DATA_STORE, \ PsppireDataStoreClass)) -#define PSPPIRE_IS_DATA_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATA_STORE)) -#define PSPPIRE_IS_DATA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATA_STORE)) +#define PSPPIRE_IS_DATA_STORE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATA_STORE)) -#define PSPPIRE_DATA_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \ +#define PSPPIRE_IS_DATA_STORE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATA_STORE)) + +#define PSPPIRE_DATA_STORE_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), \ GTK_TYPE_DATA_STORE, \ PsppireDataStoreClass)) @@ -50,11 +55,32 @@ 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 +}; + +void do_this_thing (PsppireDict *, struct dictionary *, void *); + + struct _PsppireDataStore { GObject parent; /*< private >*/ + gboolean dispose_has_run ; PsppireDict *dict; PsppireCaseFile *case_file; const PangoFontDescription *font_desc; @@ -66,6 +92,9 @@ struct _PsppireDataStore /* Geometry */ gint margin_width; + + gint cf_handler_id [n_cf_signals]; + gint dict_handler_id [n_dict_signals]; }; struct _PsppireDataStoreClass @@ -80,7 +109,7 @@ struct _PsppireDataStoreClass }; -inline GType psppire_data_store_get_type (void) G_GNUC_CONST; +GType psppire_data_store_get_type (void) G_GNUC_CONST; PsppireDataStore *psppire_data_store_new (PsppireDict *dict); void psppire_data_store_set_case_file (PsppireDataStore *data_store, @@ -97,16 +126,23 @@ void psppire_data_store_show_labels (PsppireDataStore *store, void psppire_data_store_clear (PsppireDataStore *data_store); -gboolean psppire_data_store_insert_new_case (PsppireDataStore *ds, gint posn); +gboolean psppire_data_store_insert_new_case (PsppireDataStore *ds, casenumber posn); + + +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, - gint row, gint column); + casenumber row, glong column); gboolean psppire_data_store_set_string (PsppireDataStore *ds, const gchar *text, - gint row, gint column); + glong row, glong column); + +casenumber psppire_data_store_get_case_count (const PsppireDataStore *ds); +size_t psppire_data_store_get_value_count (const PsppireDataStore *ds); #ifdef __cplusplus }