static void restore_old_values (ScenariosState *state) { GOCmdContext *cc; if (state->undo == NULL) return; cc = GO_CMD_CONTEXT (state->base.wbcg); go_undo_undo_with_data (state->undo, cc); g_object_unref (state->undo); state->undo = NULL; state->current = NULL; }
static void test_insdel_rowcol_names (void) { Workbook *wb; Sheet *sheet1,*sheet2; const char *test_name = "test_insdel_rowcol_names"; GOUndo *undo; int i; mark_test_start (test_name); wb = workbook_new (); sheet1 = workbook_sheet_add (wb, -1, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS); sheet2 = workbook_sheet_add (wb, -1, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS); define_name ("Print_Area", "Sheet1!$A$1:$IV$65536", sheet1); define_name ("Print_Area", "Sheet2!$A$1:$IV$65536", sheet2); define_name ("NAMEGA1", "A1", wb); define_name ("NAMEG2", "$A$14+Sheet1!$A$14+Sheet2!$A$14", wb); define_name ("NAMEA1", "A1", sheet1); define_name ("NAMEA2", "A2", sheet1); define_name ("NAMEA1ABS", "$A$1", sheet1); define_name ("NAMEA2ABS", "$A$2", sheet1); dump_names (wb); for (i = 3; i >= 0; i--) { g_printerr ("About to insert before column %d on %s\n", i, sheet1->name_unquoted); sheet_insert_cols (sheet1, i, 12, &undo, NULL); dump_names (wb); g_printerr ("Undoing.\n"); go_undo_undo_with_data (undo, NULL); g_object_unref (undo); g_printerr ("Done.\n"); } for (i = 3; i >= 0; i--) { g_printerr ("About to insert before column %d on %s\n", i, sheet2->name_unquoted); sheet_insert_cols (sheet2, i, 12, &undo, NULL); dump_names (wb); g_printerr ("Undoing.\n"); go_undo_undo_with_data (undo, NULL); g_object_unref (undo); g_printerr ("Done.\n"); } for (i = 3; i >= 0; i--) { g_printerr ("About to delete column %d on %s\n", i, sheet1->name_unquoted); sheet_delete_cols (sheet1, i, 1, &undo, NULL); dump_names (wb); g_printerr ("Undoing.\n"); go_undo_undo_with_data (undo, NULL); g_object_unref (undo); g_printerr ("Done.\n"); } g_object_unref (wb); mark_test_end (test_name); }