modify the menu as part of the "filename" property_set() function and end up
with a Gtk-CRITICAL since 'menu' is NULL. */
static void
-psppire_data_window_init (PsppireDataWindow *de)
+psppire_data_window_init (PsppireDataWindow *dw)
{
- de->builder = builder_new ("data-editor.ui");
+ dw->dispose_has_run = FALSE;
+
+ dw->builder = builder_new ("data-editor.ui");
}
static void
SswSheet *sheet = SSW_SHEET (dw->data_editor->data_sheet);
SswRange sel = *sheet->selection;
+#if (SSW_SHEET_API_VERSION >= 1)
+ if ((ssw_sheet_get_api_version() >= 1) && ssw_sheet_try_cut (sheet))
+ return;
+#endif
+
GtkClipboard *clip =
gtk_clipboard_get_for_display (gtk_widget_get_display (GTK_WIDGET (dw)),
GDK_SELECTION_CLIPBOARD);
dataset_set_callbacks (de->dataset, &cbs, de);
- connect_help (de->builder);
-
gtk_box_pack_start (GTK_BOX (box), menubar, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (box), hb, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (de->data_editor), TRUE, TRUE, 0);
GtkToolItem *ti = gtk_tool_button_new (NULL, "Open");
g_signal_connect_swapped (ti, "clicked", G_CALLBACK (psppire_window_open), de);
gtk_toolbar_insert (GTK_TOOLBAR (hb), ti, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "file-open-data");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "pspp-file-open-data");
}
{
GtkToolItem *ti = gtk_tool_button_new (NULL, "Save");
g_signal_connect_swapped (ti, "clicked", G_CALLBACK (psppire_window_save), de);
gtk_toolbar_insert (GTK_TOOLBAR (hb), ti, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "file-save-data");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "pspp-file-save-data");
}
gtk_toolbar_insert (GTK_TOOLBAR (hb), gtk_separator_tool_item_new (), idx++);
G_CALLBACK (psppire_dialog_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_jump_to_variable, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_jump_to_variable), "edit-go-to-variable");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_jump_to_variable), "pspp-edit-go-to-variable");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_jump_to_variable), _("Jump to variable"));
}
G_CALLBACK (g_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_jump_to_case, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_jump_to_case), "edit-go-to-case");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_jump_to_case), "pspp-edit-go-to-case");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_jump_to_case), _("Jump to a case in the data sheet"));
}
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_find, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_find), "edit-find");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_find), "pspp-edit-find");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_find), _("Search for values in the data"));
}
G_CALLBACK (g_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_insert_case, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_insert_case), "edit-insert-case");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_insert_case), "pspp-edit-insert-case");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_insert_case), _("Create a new case at the current position"));
}
G_CALLBACK (g_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_insert_variable, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_insert_variable), "edit-insert-variable");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_insert_variable), "pspp-edit-insert-variable");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_insert_variable), _("Create a new variable at the current position"));
}
g_signal_connect_swapped (ti, "clicked",
G_CALLBACK (psppire_dialog_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), ti, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "data-split-file");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "pspp-data-split-file");
gtk_widget_set_tooltip_text (GTK_WIDGET (ti), _("Split the active dataset"));
}
g_signal_connect_swapped (ti, "clicked",
G_CALLBACK (psppire_dialog_action_activate_null), a);
gtk_toolbar_insert (GTK_TOOLBAR (hb), ti, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "data-weight-cases");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (ti), "pspp-data-weight-cases");
gtk_widget_set_tooltip_text (GTK_WIDGET (ti), _("Weight cases by variable"));
}
g_signal_connect (de->ti_value_labels_button, "toggled",
G_CALLBACK (on_labels_button_toggle), de);
gtk_toolbar_insert (GTK_TOOLBAR (hb), de->ti_value_labels_button, idx++);
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_value_labels_button), "view-value-labels");
+ gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (de->ti_value_labels_button), "pspp-view-value-labels");
gtk_widget_set_tooltip_text (GTK_WIDGET (de->ti_value_labels_button), _("Show/hide value labels"));
}
}
{
PsppireDataWindow *dw = PSPPIRE_DATA_WINDOW (object);
- if (dw->builder != NULL)
- {
- g_object_unref (dw->builder);
- dw->builder = NULL;
- }
+ if (dw->dispose_has_run)
+ return;
+ dw->dispose_has_run = TRUE;
+
+ g_object_unref (dw->builder);
if (dw->dict)
{
G_CALLBACK (on_split_change), dw);
g_object_unref (dw->dict);
- dw->dict = NULL;
- }
-
- if (dw->data_store)
- {
- g_object_unref (dw->data_store);
- dw->data_store = NULL;
}
- if (dw->ll.next != NULL)
- {
- ll_remove (&dw->ll);
- dw->ll.next = NULL;
- }
+ g_object_unref (dw->data_store);
if (G_OBJECT_CLASS (parent_class)->dispose)
G_OBJECT_CLASS (parent_class)->dispose (object);
dataset_destroy (dataset);
}
+ if (dw->ll.next != NULL)
+ {
+ ll_remove (&dw->ll);
+ dw->ll.next = NULL;
+ }
+
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (object);
}