g_object_ref (de->data_store);
for (i = 0 ; i < 4 ; ++i )
- g_object_set (de->data_sheet[i],
- "model", de->data_store,
- NULL);
+ {
+ g_object_set (de->data_sheet[i],
+ "model", de->data_store,
+ NULL);
+
+ g_signal_connect_swapped (de->data_store->dict, "filter-changed",
+ G_CALLBACK (gtk_widget_queue_draw),
+ de->data_sheet[i]);
+ }
g_signal_connect (de->data_store->dict, "backend-changed",
G_CALLBACK (new_variables_callback), de);
object_class->set_property = psppire_data_editor_set_property;
object_class->get_property = psppire_data_editor_get_property;
+
+
data_store_spec =
g_param_spec_pointer ("data-store",
"Data Store",
G_CALLBACK (on_switch_page),
NULL);
+ g_object_set (de, "can-focus", FALSE, NULL);
g_signal_connect (de, "map", G_CALLBACK (on_map), NULL);
-
// psppire_sheet_hide_column_titles (de->var_sheet);
// psppire_sheet_hide_row_titles (de->data_sheet);
on_switch_page (PsppireDataEditor *de, GtkNotebookPage *p,
gint pagenum, gpointer data)
{
- if ( pagenum != PSPPIRE_DATA_EDITOR_DATA_VIEW )
+ switch (pagenum)
{
+ case PSPPIRE_DATA_EDITOR_DATA_VIEW:
+ gtk_widget_grab_focus (de->data_vbox);
+ on_select_range (de);
+ break;
+ case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW:
+ gtk_widget_grab_focus (de->var_sheet);
emit_selected_signal (de);
- return TRUE;
- }
-
- on_select_range (de);
+ break;
+ default:
+ break;
+ };
return TRUE;
}
g_signal_emit (de, data_editor_signals[DATA_AVAILABLE_CHANGED], 0,
compatible_target);
}
-
-