Added an extra call to data_var_select and a comment to explain why.
[pspp-builds.git] / src / ui / gui / data-editor.c
index 16c85d9d92b1833a2460daf931876389a7bfd56a..94094dff93ba17ed58c9b42428b06b4bcbeb3b5c 100644 (file)
@@ -76,13 +76,9 @@ static void toggle_value_labels (GtkToggleAction *a, gpointer data);
 /* Switch between the VAR SHEET and the DATA SHEET */
 
 static gboolean click2column (GtkWidget *w, gint col, gpointer data);
-
 static gboolean click2row (GtkWidget *w, gint row, gpointer data);
 
 
-static void select_sheet (struct data_editor *de, guint page_num);
-
-
 /* Callback for when the dictionary changes properties*/
 static void on_weight_change (GObject *, gint, gpointer);
 static void on_filter_change (GObject *, gint, gpointer);
@@ -566,7 +562,6 @@ new_data_editor (void)
                    G_CALLBACK (data_var_select), de);
 
 
-
   g_signal_connect (get_widget_assert (de->xml, "view_statusbar"),
                    "activate",
                    G_CALLBACK (status_bar_activate), de);
@@ -634,8 +629,11 @@ new_data_editor (void)
   g_signal_connect (G_OBJECT (data_sheet), "button-event-row",
                    G_CALLBACK (popup_cases_menu), de);
 
-
-  select_sheet (de, PAGE_DATA_SHEET);
+     /* The "switch-page" signal does get emitted unless the page actually 
+       changes.  But the state is indeterminate at startup.  Therefore we 
+       must explicitly change it to one state, then the other */
+  data_editor_select_sheet (de, PAGE_VAR_SHEET);
+  data_editor_select_sheet (de, PAGE_DATA_SHEET);
 
   return de;
 }
@@ -702,8 +700,13 @@ new_data_window (GtkMenuItem *menuitem, gpointer parent)
 
 
 static void
-select_sheet (struct data_editor *de, guint page_num)
+data_var_select (GtkNotebook *notebook,
+               GtkNotebookPage *page,
+               guint page_num,
+               gpointer user_data)
 {
+  struct data_editor *de = user_data;
+
   GtkWidget *view_data = get_widget_assert (de->xml, "view_data");
   GtkWidget *view_variables = get_widget_assert (de->xml, "view_variables");
 
@@ -729,20 +732,6 @@ select_sheet (struct data_editor *de, guint page_num)
 }
 
 
-static void
-data_var_select (GtkNotebook *notebook,
-               GtkNotebookPage *page,
-               guint page_num,
-               gpointer user_data)
-{
-  struct data_editor *de = user_data;
-
-  select_sheet (de, page_num);
-}
-
-
-
-
 void
 data_editor_select_sheet (struct data_editor *de, gint page)
 {
@@ -753,6 +742,7 @@ data_editor_select_sheet (struct data_editor *de, gint page)
 }
 
 
+
 static void
 status_bar_activate (GtkCheckMenuItem *menuitem, gpointer data)
 {
@@ -1661,5 +1651,3 @@ popup_cases_menu (GtkSheet *sheet, gint row,
                      event->button, event->time);
     }
 }
-
-