+gboolean
+psppire_case_file_delete_cases(PsppireCaseFile *cf, gint n_cases, gint first)
+{
+ int result;
+
+ g_return_val_if_fail(cf, FALSE);
+ g_return_val_if_fail(cf->flexifile, FALSE);
+
+ result = flexifile_delete_cases(FLEXIFILE(cf->flexifile), n_cases, first);
+
+ g_signal_emit(cf, signal[CASES_DELETED], 0, n_cases, first);
+
+ return result;
+}
+
+/* Insert a blank case to the case file */
+gboolean
+psppire_case_file_insert_case(PsppireCaseFile *cf,
+ gint posn)
+{
+ bool result ;
+ struct ccase cc;
+
+ g_return_val_if_fail(cf, FALSE);
+ g_return_val_if_fail(cf->flexifile, FALSE);
+
+ case_create (&cc, casefile_get_value_cnt(cf->flexifile));
+
+ result = flexifile_insert_case(FLEXIFILE(cf->flexifile), &cc, posn);
+
+ case_destroy (&cc);
+
+ if ( result )
+ g_signal_emit(cf, signal[CASE_INSERTED], 0, posn);
+ else
+ g_warning("Cannot insert case at position %d\n", posn);
+
+ return result;
+}