int owl_editwin_regtest(void) { int numfailed = 0; const char *p; printf("# BEGIN testing owl_editwin\n"); owl_editwin *oe; oe = owl_editwin_new(NULL, 80, 80, OWL_EDITWIN_STYLE_MULTILINE, NULL); /* TODO: make the strings a little more lenient w.r.t trailing whitespace */ /* check paragraph fill */ owl_editwin_insert_string(oe, "blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.\n\nblah"); owl_editwin_move_to_top(oe); owl_editwin_fill_paragraph(oe); p = owl_editwin_get_text(oe); FAIL_UNLESS("text was correctly wrapped", p && !strcmp(p, "blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n" "blah blah blah.\n" "\n" "blah")); owl_editwin_delete(oe); oe = NULL; oe = owl_editwin_new(NULL, 80, 80, OWL_EDITWIN_STYLE_MULTILINE, NULL); /* check that lines ending with ". " correctly fill */ owl_editwin_insert_string(oe, "blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. \n\nblah"); owl_editwin_move_to_top(oe); owl_editwin_fill_paragraph(oe); p = owl_editwin_get_text(oe); FAIL_UNLESS("text was correctly wrapped", p && !strcmp(p, "blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n" "blah blah blah. \n" "\n" "blah")); owl_editwin_delete(oe); oe = NULL; printf("# END testing owl_editwin (%d failures)\n", numfailed); return numfailed; }
owl_editwin *owl_viewwin_set_typwin_active(owl_viewwin *v, owl_history *hist) { int lines, cols; owl_editwin *cmdline; if (v->cmdwin) return NULL; /* Create the command line. */ v->cmdwin = owl_window_new(v->window); owl_viewwin_layout(v); owl_window_get_position(v->cmdwin, &lines, &cols, NULL, NULL); cmdline = owl_editwin_new(v->cmdwin, lines, cols, OWL_EDITWIN_STYLE_ONELINE, hist); /* Swap out the bottom window. */ owl_window_hide(v->status); owl_window_show(v->cmdwin); return cmdline; }
owl_editwin *owl_global_set_typwin_active(owl_global *g, int style, owl_history *hist) { int d; d = owl_global_get_typewindelta(g); if (d > 0 && style == OWL_EDITWIN_STYLE_MULTILINE) owl_function_resize_typwin(owl_global_get_typwin_lines(g) + d); if (g->typwin_erase_id) { g_signal_handler_disconnect(g->mainpanel.typwin, g->typwin_erase_id); g->typwin_erase_id = 0; } g->tw = owl_editwin_new(g->mainpanel.typwin, owl_global_get_typwin_lines(g), g->cols, style, hist); return g->tw; }