int width;
g_return_val_if_fail (data_store != NULL, FALSE);
+ g_return_val_if_fail (data_store->datasheet != NULL, FALSE);
if (!get_tooltip_location (widget, tooltip, wx, wy, &row, &column))
return FALSE;
{
PsppireDataStore *store = store_;
GValue gvalue = { 0, };
- gint row;
+ gint row = GPOINTER_TO_INT (iter->user_data);
- row = GPOINTER_TO_INT (iter->user_data);
+ g_return_if_fail (store->datasheet);
g_value_init (&gvalue, G_TYPE_INT);
g_value_set_int (&gvalue, row + 1);
var = g_object_get_data (G_OBJECT (column), "variable");
g_return_if_fail (var != NULL);
- if (var_has_value_labels (var))
+ if (data_sheet->show_value_labels && var_has_value_labels (var))
{
cell = gtk_cell_renderer_combo_new ();
g_object_set (G_OBJECT (cell),
{
ds->show_value_labels = show_value_labels;
g_object_notify (G_OBJECT (ds), "value-labels");
- gtk_widget_queue_draw (GTK_WIDGET (ds));
- /* Make the cell being edited refresh too. */
- pspp_sheet_view_stop_editing (PSPP_SHEET_VIEW (ds), TRUE);
+ /* Pretend the model changed, to force the columns to be rebuilt.
+ Otherwise cell renderers won't get changed from combo boxes to text
+ entries or vice versa. */
+ g_object_notify (G_OBJECT (ds), "model");
}
}