X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-data-editor.c;h=dcc2cdf8e7ba58be3571b20628ce5d7f9dc2b053;hb=3785800c7a660f059857b66ec36efec99af0d052;hp=74660f12e37caa2b96bee61f976986496a9b0974;hpb=fabb4c4b7d16a4c3451baa304b222734edfa24b8;p=pspp-builds.git diff --git a/src/ui/gui/psppire-data-editor.c b/src/ui/gui/psppire-data-editor.c index 74660f12..dcc2cdf8 100644 --- a/src/ui/gui/psppire-data-editor.c +++ b/src/ui/gui/psppire-data-editor.c @@ -280,6 +280,18 @@ width_of_m (GtkWidget *w) return rect.width; } +/* Callback for the axis' resize signal. + Changes the variable's display width */ +static void +rewidth_variable (PsppireDataEditor *de, gint unit, glong size) +{ + const PsppireDict *dict = de->data_store->dict; + struct variable *var = psppire_dict_get_variable (dict, unit); + + var_set_display_width (var, size / (float) width_of_m (de)); +} + + static void new_variables_callback (PsppireDict *dict, gpointer data) { @@ -298,6 +310,9 @@ new_variables_callback (PsppireDict *dict, gpointer data) PsppireAxisImpl *haxis; g_object_get (de->data_sheet[i], "horizontal-axis", &haxis, NULL); + g_signal_connect_swapped (haxis, "resize-unit", + G_CALLBACK (rewidth_variable), de); + psppire_axis_impl_clear (haxis); for (v = 0 ; v < psppire_dict_get_var_cnt (dict); ++v)