X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-editor.c;h=be911ba6d69817d928264eb13effd969272d029b;hb=7fbfc32fc3c636959b0a25b3e76609f86519e84a;hp=735d4328c930b276f060f759e7024c687605de3b;hpb=8953baa61127d6d3b91f763663ea647bf3e4e793;p=pspp-builds.git diff --git a/src/ui/gui/psppire-data-editor.c b/src/ui/gui/psppire-data-editor.c index 735d4328..be911ba6 100644 --- a/src/ui/gui/psppire-data-editor.c +++ b/src/ui/gui/psppire-data-editor.c @@ -23,7 +23,7 @@ #include #include "psppire-data-store.h" -#include +#include #include "helper.h" #include @@ -220,8 +220,8 @@ new_data_callback (PsppireDataStore *ds, gpointer data) for (i = 0; i < 2; ++i) { - psppire_axis_impl_clear (de->vaxis[i]); - psppire_axis_impl_append_n (de->vaxis[i], n_cases, DEFAULT_ROW_HEIGHT); + psppire_axis_clear (de->vaxis[i]); + psppire_axis_append_n (de->vaxis[i], n_cases, DEFAULT_ROW_HEIGHT); } } @@ -232,7 +232,7 @@ case_inserted_callback (PsppireDataStore *ds, gint before, gpointer data) PsppireDataEditor *de = PSPPIRE_DATA_EDITOR (data); for (i = 0; i < 2; ++i) - psppire_axis_impl_insert (de->vaxis[i], before, DEFAULT_ROW_HEIGHT); + psppire_axis_insert (de->vaxis[i], before, DEFAULT_ROW_HEIGHT); } @@ -243,7 +243,7 @@ cases_deleted_callback (PsppireDataStore *ds, gint first, gint n_cases, gpointer PsppireDataEditor *de = PSPPIRE_DATA_EDITOR (data); for (i = 0; i < 2; ++i) - psppire_axis_impl_delete (de->vaxis[0], first, n_cases); + psppire_axis_delete (de->vaxis[0], first, n_cases); } @@ -288,22 +288,22 @@ new_variables_callback (PsppireDict *dict, gpointer data) PsppireDataEditor *de = PSPPIRE_DATA_EDITOR (data); gint m_width = width_of_m (GTK_WIDGET (de)); - PsppireAxisImpl *vaxis; + PsppireAxis *vaxis; g_object_get (de->var_sheet, "vertical-axis", &vaxis, NULL); - psppire_axis_impl_clear (vaxis); - psppire_axis_impl_append_n (vaxis, 1 + psppire_dict_get_var_cnt (dict), DEFAULT_ROW_HEIGHT); + psppire_axis_clear (vaxis); + psppire_axis_append_n (vaxis, 1 + psppire_dict_get_var_cnt (dict), DEFAULT_ROW_HEIGHT); g_signal_connect_swapped (de->haxis, "resize-unit", G_CALLBACK (rewidth_variable), de); - psppire_axis_impl_clear (de->haxis); + psppire_axis_clear (de->haxis); for (v = 0 ; v < psppire_dict_get_var_cnt (dict); ++v) { const struct variable *var = psppire_dict_get_variable (dict, v); - psppire_axis_impl_append (de->haxis, m_width * var_get_display_width (var)); + psppire_axis_append (de->haxis, m_width * var_get_display_width (var)); } } @@ -314,16 +314,16 @@ insert_variable_callback (PsppireDict *dict, gint x, gpointer data) gint m_width = width_of_m (GTK_WIDGET (de)); - PsppireAxisImpl *var_vaxis; + PsppireAxis *var_vaxis; const struct variable *var = psppire_dict_get_variable (dict, x); g_object_get (de->var_sheet, "vertical-axis", &var_vaxis, NULL); - psppire_axis_impl_insert (var_vaxis, x, DEFAULT_ROW_HEIGHT); + psppire_axis_insert (var_vaxis, x, DEFAULT_ROW_HEIGHT); - psppire_axis_impl_insert (de->haxis, x, m_width * var_get_display_width (var)); + psppire_axis_insert (de->haxis, x, m_width * var_get_display_width (var)); } @@ -333,12 +333,12 @@ delete_variable_callback (PsppireDict *dict, gint posn, { PsppireDataEditor *de = PSPPIRE_DATA_EDITOR (data); - PsppireAxisImpl *var_vaxis; + PsppireAxis *var_vaxis; g_object_get (de->var_sheet, "vertical-axis", &var_vaxis, NULL); - psppire_axis_impl_delete (var_vaxis, posn, 1); + psppire_axis_delete (var_vaxis, posn, 1); - psppire_axis_impl_delete (de->haxis, posn, 1); + psppire_axis_delete (de->haxis, posn, 1); } @@ -356,7 +356,7 @@ rewidth_variable_callback (PsppireDict *dict, gint posn, gpointer data) if ( var_width < 1 ) var_width = 1; - psppire_axis_impl_resize (de->haxis, posn, m_width * var_width); + psppire_axis_resize (de->haxis, posn, m_width * var_width); } @@ -380,9 +380,15 @@ psppire_data_editor_set_property (GObject *object, 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); @@ -548,6 +554,8 @@ psppire_data_editor_class_init (PsppireDataEditorClass *klass) 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", @@ -814,8 +822,8 @@ on_map (GtkWidget *w) static void init_sheet (PsppireDataEditor *de, int i, GtkAdjustment *hadj, GtkAdjustment *vadj, - PsppireAxisImpl *vaxis, - PsppireAxisImpl *haxis + PsppireAxis *vaxis, + PsppireAxis *haxis ) { de->sheet_bin[i] = gtk_scrolled_window_new (hadj, vadj); @@ -851,13 +859,12 @@ init_data_sheet (PsppireDataEditor *de) GtkAdjustment *vadj1, *hadj1; GtkWidget *sheet ; - de->vaxis[0] = psppire_axis_impl_new (); - de->vaxis[1] = psppire_axis_impl_new (); + de->vaxis[0] = psppire_axis_new (); + de->vaxis[1] = psppire_axis_new (); - /* Txoxovhere's only one horizontal axis, since the + /* There's only one horizontal axis, since the column widths are parameters of the variables */ - de->haxis = psppire_axis_impl_new (); - + de->haxis = psppire_axis_new (); de->split = TRUE; de->paned = gtk_xpaned_new (); @@ -990,11 +997,11 @@ psppire_data_editor_init (PsppireDataEditor *de) 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); @@ -1455,13 +1462,19 @@ static gboolean 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; } @@ -1884,5 +1897,3 @@ on_owner_change (GtkClipboard *clip, GdkEventOwnerChange *event, gpointer data) g_signal_emit (de, data_editor_signals[DATA_AVAILABLE_CHANGED], 0, compatible_target); } - -