Change signal name and signature from "backend-changed" to "items-changed"
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 28 Feb 2016 17:53:15 +0000 (18:53 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 28 Feb 2016 17:53:15 +0000 (18:53 +0100)
src/ui/gui/psppire-data-store.c
src/ui/gui/psppire-data-window.c
src/ui/gui/psppire-dict.c

index 1441afa56a1cee57b645aa2c233d3c37ea77525b..3ad95ccace3c2a511a9fe1581aa43f2c87a6a282 100644 (file)
@@ -67,7 +67,7 @@ static GObjectClass *parent_class = NULL;
 
 enum
   {
-    BACKEND_CHANGED,
+    ITEMS_CHANGED,
     CASES_DELETED,
     CASE_INSERTED,
     CASE_CHANGED,
@@ -210,15 +210,18 @@ psppire_data_store_class_init (PsppireDataStoreClass *class)
   object_class->finalize = psppire_data_store_finalize;
   object_class->dispose = psppire_data_store_dispose;
 
-  signals [BACKEND_CHANGED] =
-    g_signal_new ("backend-changed",
+    signals [ITEMS_CHANGED] =
+    g_signal_new ("changed",
                  G_TYPE_FROM_CLASS (class),
                  G_SIGNAL_RUN_FIRST,
                  0,
                  NULL, NULL,
-                 g_cclosure_marshal_VOID__VOID,
+                 psppire_marshal_VOID__UINT_UINT_UINT,
                  G_TYPE_NONE,
-                 0);
+                 3,
+                 G_TYPE_UINT,
+                 G_TYPE_UINT,
+                 G_TYPE_UINT);
 
   signals [CASE_INSERTED] =
     g_signal_new ("case-inserted",
@@ -385,15 +388,17 @@ psppire_data_store_set_reader (PsppireDataStore *ds,
                               struct casereader *reader)
 {
   gint i;
-
+  gint old_n = 0;
   if ( ds->datasheet)
-    datasheet_destroy (ds->datasheet);
+    {
+      old_n = datasheet_get_n_rows (ds->datasheet);
+      datasheet_destroy (ds->datasheet);
+    }
 
   ds->datasheet = datasheet_create (reader);
 
-  g_signal_emit_by_name (ds, "notify", 0, 0);
-  g_print ("Datasheet row count %d\n", datasheet_get_n_rows (ds->datasheet));
-
+  gint new_n = datasheet_get_n_rows (ds->datasheet);
+  
   if ( ds->dict )
     for (i = 0 ; i < n_dict_signals; ++i )
       {
@@ -404,7 +409,7 @@ psppire_data_store_set_reader (PsppireDataStore *ds,
          }
       }
 
-  g_signal_emit (ds, signals[BACKEND_CHANGED], 0);
+  g_signal_emit (ds, signals[ITEMS_CHANGED], 0, 0, old_n, new_n);
 }
 
 
index 7917274da56a619284018ef89cc5f970d06db4c9..c2a27c04f4f53c974d0ebf8bc43d27a26e2f2abe 100644 (file)
@@ -1009,7 +1009,7 @@ psppire_data_window_finish_init (PsppireDataWindow *de,
                    G_CALLBACK (on_split_change),
                    de);
 
-  g_signal_connect_swapped (de->dict, "backend-changed",
+  g_signal_connect_swapped (de->dict, "changed",
                             G_CALLBACK (enable_save), de);
   g_signal_connect_swapped (de->dict, "variable-inserted",
                             G_CALLBACK (enable_save), de);
index a461f4fa37b0faf262711156b0bab0c1ffb6034f..8558373c859d378a9b09f521b6c258137e93c900 100644 (file)
@@ -42,7 +42,6 @@
 
 enum  {
   ITEMS_CHANGED,
-  BACKEND_CHANGED,
 
   VARIABLE_CHANGED,
   VARIABLE_INSERTED,
@@ -175,16 +174,6 @@ psppire_dict_class_init (PsppireDictClass *class)
 
   object_class->dispose = psppire_dict_dispose;
 
-  signals [BACKEND_CHANGED] =
-    g_signal_new ("backend-changed",
-                 G_TYPE_FROM_CLASS (class),
-                 G_SIGNAL_RUN_FIRST,
-                 0,
-                 NULL, NULL,
-                 g_cclosure_marshal_VOID__VOID,
-                 G_TYPE_NONE,
-                 0);
-  
   signals [ITEMS_CHANGED] =
     g_signal_new ("changed",
                  G_TYPE_FROM_CLASS (class),
@@ -388,7 +377,6 @@ psppire_dict_replace_dictionary (PsppireDict *dict, struct dictionary *d)
 
   dict_set_callbacks (dict->dict, &gui_callbacks, dict);
 
-  g_signal_emit (dict, signals [BACKEND_CHANGED], 0);
   g_signal_emit (dict, signals [ITEMS_CHANGED], 0, 0, old_n, new_n);
 }