+ {
+ int idx = 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");
+ }
+
+ {
+ 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_toolbar_insert (GTK_TOOLBAR (hb), gtk_separator_tool_item_new (), idx++);
+
+ {
+ de->ti_jump_to_variable = gtk_tool_button_new (NULL, "Goto Var");
+
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de), "PsppireDialogActionVarInfo");
+ g_assert (a);
+ g_signal_connect_swapped (de->ti_jump_to_variable, "clicked",
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_jump_to_variable), _("Jump to variable"));
+ }
+
+ {
+ de->ti_jump_to_case = gtk_tool_button_new (NULL, "Jump to Case");
+
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de), "jump-to-case");
+ g_assert (a);
+ g_signal_connect_swapped (de->ti_jump_to_case, "clicked",
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_jump_to_case), _("Jump to a case in the data sheet"));
+ }
+
+ {
+ de->ti_find = gtk_tool_button_new (NULL, "Find");
+
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de), "find");
+ g_assert (a);
+ g_signal_connect_swapped (de->ti_find, "clicked",
+ G_CALLBACK (g_action_activate_null), a);
+
+
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_find), _("Search for values in the data"));
+ }
+
+ {
+ de->ti_insert_case = gtk_tool_button_new (NULL, "Create Case");
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de), "insert-case");
+ g_assert (a);
+ g_signal_connect_swapped (de->ti_insert_case, "clicked",
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_insert_case), _("Create a new case at the current position"));
+ }
+
+ {
+ de->ti_insert_variable = gtk_tool_button_new (NULL, "Create Variable");
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de), "insert-variable");
+ g_assert (a);
+ g_signal_connect_swapped (de->ti_insert_variable, "clicked",
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_insert_variable), _("Create a new variable at the current position"));
+ }
+
+ gtk_toolbar_insert (GTK_TOOLBAR (hb), gtk_separator_tool_item_new (), idx++);
+
+ {
+ GtkToolItem *ti = gtk_tool_button_new (NULL, "Split");
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de),
+ "PsppireDialogActionSplit");
+ g_assert (a);
+ 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_widget_set_tooltip_text (GTK_WIDGET (ti), _("Split the active dataset"));
+ }
+
+ {
+ GtkToolItem *ti = gtk_tool_button_new (NULL, "Weight");
+ GAction *a = g_action_map_lookup_action (G_ACTION_MAP (de),
+ "PsppireDialogActionWeight");
+ g_assert (a);
+ 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_widget_set_tooltip_text (GTK_WIDGET (ti), _("Weight cases by variable"));
+ }
+
+ {
+ de->ti_value_labels_button = gtk_toggle_tool_button_new ();
+ gtk_tool_button_set_label (GTK_TOOL_BUTTON (de->ti_value_labels_button),
+ "Value Labels");
+ 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_widget_set_tooltip_text (GTK_WIDGET (de->ti_value_labels_button), _("Show/hide value labels"));
+ }
+ }
+
+
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_DATA_VIEW);
+
+ gtk_menu_shell_insert (GTK_MENU_SHELL (menubar), create_file_menu (de), 0);
+ gtk_menu_shell_insert (GTK_MENU_SHELL (menubar), create_edit_menu (de), 1);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menubar), create_windows_menu (GTK_WINDOW (de)));
+ gtk_menu_shell_append (GTK_MENU_SHELL (menubar), create_help_menu (GTK_WINDOW (de)));
+
+ g_signal_connect (de->data_editor, "switch-page",
+ G_CALLBACK (on_switch_page), de);
+