projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix broken expose callback in pspp-sheet-view
[pspp]
/
src
/
ui
/
gui
/
psppire-data-editor.c
diff --git
a/src/ui/gui/psppire-data-editor.c
b/src/ui/gui/psppire-data-editor.c
index f33a6425992093e5f5febaf04bf47c8b52d0d754..5ae78dd886d503d7a04936c3632f0a775b90cf62 100644
(file)
--- a/
src/ui/gui/psppire-data-editor.c
+++ b/
src/ui/gui/psppire-data-editor.c
@@
-224,10
+224,10
@@
psppire_data_editor_get_property (GObject *object,
static void
psppire_data_editor_switch_page (GtkNotebook *notebook,
static void
psppire_data_editor_switch_page (GtkNotebook *notebook,
-
GtkNotebookPage *page
,
+
GtkWidget *w
,
guint page_num)
{
guint page_num)
{
- GTK_NOTEBOOK_CLASS (parent_class)->switch_page (notebook,
page
, page_num);
+ GTK_NOTEBOOK_CLASS (parent_class)->switch_page (notebook,
w
, page_num);
psppire_data_editor_update_ui_manager (PSPPIRE_DATA_EDITOR (notebook));
}
psppire_data_editor_update_ui_manager (PSPPIRE_DATA_EDITOR (notebook));
}
@@
-339,7
+339,7
@@
on_var_sheet_var_double_clicked (PsppireVarSheet *var_sheet, gint dict_index,
PSPPIRE_DATA_EDITOR_DATA_VIEW);
data_sheet = psppire_data_editor_get_active_data_sheet (de);
PSPPIRE_DATA_EDITOR_DATA_VIEW);
data_sheet = psppire_data_editor_get_active_data_sheet (de);
- psppire_data_sheet_
show
_variable (data_sheet, dict_index);
+ psppire_data_sheet_
goto
_variable (data_sheet, dict_index);
return TRUE;
}
return TRUE;
}
@@
-564,13
+564,16
@@
disconnect_data_sheets (PsppireDataEditor *de)
}
static GtkWidget *
}
static GtkWidget *
-make_data_sheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
+make_data_sheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines,
+ gboolean show_value_labels)
{
PsppSheetSelection *selection;
GtkWidget *ds;
ds = psppire_data_sheet_new ();
pspp_sheet_view_set_grid_lines (PSPP_SHEET_VIEW (ds), grid_lines);
{
PsppSheetSelection *selection;
GtkWidget *ds;
ds = psppire_data_sheet_new ();
pspp_sheet_view_set_grid_lines (PSPP_SHEET_VIEW (ds), grid_lines);
+ psppire_data_sheet_set_value_labels (PSPPIRE_DATA_SHEET (ds),
+ show_value_labels);
g_signal_connect_swapped (ds, "notify::value-labels",
G_CALLBACK (refresh_entry), de);
g_signal_connect_swapped (ds, "notify::value-labels",
G_CALLBACK (refresh_entry), de);
@@
-585,11
+588,12
@@
make_data_sheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
}
static GtkWidget *
}
static GtkWidget *
-make_single_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
+make_single_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines,
+ gboolean show_value_labels)
{
GtkWidget *data_sheet_scroller;
{
GtkWidget *data_sheet_scroller;
- de->data_sheets[0] = make_data_sheet (de, grid_lines);
+ de->data_sheets[0] = make_data_sheet (de, grid_lines
, show_value_labels
);
de->data_sheets[1] = de->data_sheets[2] = de->data_sheets[3] = NULL;
/* Put data sheet in scroller. */
de->data_sheets[1] = de->data_sheets[2] = de->data_sheets[3] = NULL;
/* Put data sheet in scroller. */
@@
-602,7
+606,8
@@
make_single_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
}
static GtkWidget *
}
static GtkWidget *
-make_split_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
+make_split_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines,
+ gboolean show_value_labels)
{
/* Panes, in the order in which we want to create them. */
enum
{
/* Panes, in the order in which we want to create them. */
enum
@@
-625,7
+630,7
@@
make_split_datasheet (PsppireDataEditor *de, GtkTreeViewGridLines grid_lines)
GtkPolicyType hpolicy, vpolicy;
GtkWidget *scroller;
GtkPolicyType hpolicy, vpolicy;
GtkWidget *scroller;
- de->data_sheets[i] = make_data_sheet (de, grid_lines);
+ de->data_sheets[i] = make_data_sheet (de, grid_lines
, show_value_labels
);
ds[i] = PSPP_SHEET_VIEW (de->data_sheets[i]);
if (i == BL)
ds[i] = PSPP_SHEET_VIEW (de->data_sheets[i]);
if (i == BL)
@@
-714,7
+719,7
@@
psppire_data_editor_init (PsppireDataEditor *de)
de->split = FALSE;
de->datasheet_vbox_widget
de->split = FALSE;
de->datasheet_vbox_widget
- = make_single_datasheet (de, GTK_TREE_VIEW_GRID_LINES_BOTH);
+ = make_single_datasheet (de, GTK_TREE_VIEW_GRID_LINES_BOTH
, FALSE
);
de->vbox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (de->vbox), hbox, FALSE, FALSE, 0);
de->vbox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (de->vbox), hbox, FALSE, FALSE, 0);
@@
-806,6
+811,7
@@
void
psppire_data_editor_split_window (PsppireDataEditor *de, gboolean split)
{
GtkTreeViewGridLines grid_lines;
psppire_data_editor_split_window (PsppireDataEditor *de, gboolean split)
{
GtkTreeViewGridLines grid_lines;
+ gboolean labels;
if (split == de->split)
return;
if (split == de->split)
return;
@@
-813,18
+819,23
@@
psppire_data_editor_split_window (PsppireDataEditor *de, gboolean split)
grid_lines = pspp_sheet_view_get_grid_lines (
PSPP_SHEET_VIEW (de->data_sheets[0]));
grid_lines = pspp_sheet_view_get_grid_lines (
PSPP_SHEET_VIEW (de->data_sheets[0]));
+ labels = psppire_data_sheet_get_value_labels (PSPPIRE_DATA_SHEET (
+ de->data_sheets[0]));
disconnect_data_sheets (de);
if (de->old_vbox_widget)
g_object_unref (de->old_vbox_widget);
de->old_vbox_widget = de->datasheet_vbox_widget;
g_object_ref (de->old_vbox_widget);
disconnect_data_sheets (de);
if (de->old_vbox_widget)
g_object_unref (de->old_vbox_widget);
de->old_vbox_widget = de->datasheet_vbox_widget;
g_object_ref (de->old_vbox_widget);
- gtk_container_remove (de->vbox, de->datasheet_vbox_widget);
+ /* FIXME: old_vbox_widget needs to be unreffed in dispose.
+ (currently it seems to provoke an error if I do that.
+ I don't know why. */
+ gtk_container_remove (GTK_CONTAINER (de->vbox), de->datasheet_vbox_widget);
if (split)
if (split)
- de->datasheet_vbox_widget = make_split_datasheet (de, grid_lines);
+ de->datasheet_vbox_widget = make_split_datasheet (de, grid_lines
, labels
);
else
else
- de->datasheet_vbox_widget = make_single_datasheet (de, grid_lines);
+ de->datasheet_vbox_widget = make_single_datasheet (de, grid_lines
, labels
);
psppire_data_editor_refresh_model (de);
psppire_data_editor_refresh_model (de);
@@
-851,7
+862,7
@@
psppire_data_editor_goto_variable (PsppireDataEditor *de, gint dict_index)
{
case PSPPIRE_DATA_EDITOR_DATA_VIEW:
data_sheet = psppire_data_editor_get_active_data_sheet (de);
{
case PSPPIRE_DATA_EDITOR_DATA_VIEW:
data_sheet = psppire_data_editor_get_active_data_sheet (de);
- psppire_data_sheet_
show
_variable (data_sheet, dict_index);
+ psppire_data_sheet_
goto
_variable (data_sheet, dict_index);
break;
case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW:
break;
case PSPPIRE_DATA_EDITOR_VARIABLE_VIEW: