manual: REGRESSION and DESCRIPTIVES make temp transformations permanent.
[pspp] / src / ui / gui / pspp-sheet-view.c
index 8f18f78561d2b6a8668bb27af737dd8d9d922c25..468dbae8e2edd62ec98ac55055a00ead8458bdf0 100644 (file)
@@ -924,6 +924,14 @@ pspp_sheet_view_class_init (PsppSheetViewClass *class)
                                         GTK_MOVEMENT_PAGES, 1);
 
 
+      gtk_binding_entry_add_signal (binding_set[i], GDK_Up, GDK_CONTROL_MASK, "move-cursor", 2,
+                                    G_TYPE_ENUM, GTK_MOVEMENT_BUFFER_ENDS,
+                                    G_TYPE_INT, -1);
+
+      gtk_binding_entry_add_signal (binding_set[i], GDK_Down, GDK_CONTROL_MASK, "move-cursor", 2,
+                                    G_TYPE_ENUM, GTK_MOVEMENT_BUFFER_ENDS,
+                                    G_TYPE_INT, 1);
+
       gtk_binding_entry_add_signal (binding_set[i], GDK_Right, 0, "move-cursor", 2,
                                     G_TYPE_ENUM, GTK_MOVEMENT_VISUAL_POSITIONS,
                                     G_TYPE_INT, 1);
@@ -6598,7 +6606,9 @@ pspp_sheet_view_focus_column (PsppSheetView *tree_view,
   if (!focus_column->button)
     {
       pspp_sheet_view_column_set_need_button (focus_column, TRUE);
-      g_return_if_fail (focus_column->button != NULL);
+      //      g_return_if_fail (focus_column->button != NULL);
+      if (focus_column->button == NULL)
+       return;
     }
 
   if (GTK_CONTAINER (tree_view)->focus_child != focus_column->button)
@@ -8545,9 +8555,9 @@ send_focus_change (GtkWidget *widget,
   g_object_ref (widget);
    
  if (in)
-    GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
 else
-    GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
+   GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
+ else
+   GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
 
   fevent->focus_change.type = GDK_FOCUS_CHANGE;
   fevent->focus_change.window = g_object_ref (widget->window);
@@ -12432,6 +12442,10 @@ pspp_sheet_view_event (GtkWidget *widget,
             return FALSE;
           break;
 
+        case GDK_Up:        case GDK_KP_Up:
+        case GDK_Down:      case GDK_KP_Down:
+          break;
+
         default:
           return FALSE;
         }