Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string askForFilename(string defFilename) {
- WINDOW* dialog;
- FORM* form;
- FIELD* fields[2];
- int key = 0;
- //creating a form
- fields[0] = new_field(1, 26, 0, 0, 0, 0);
- fields[1] = 0;
- set_field_buffer(fields[0], 0, defFilename.c_str());
- //options
- form = new_form(fields);
- set_field_back(fields[0], A_UNDERLINE);
- //field_opts_off(fields[0], O_STATIC);
- set_max_field(fields[0], 26);
- //creating a window
- dialog = newwin(5, 30, 8, 25);
- mvwaddstr(dialog, 1, 6, "Podaj nazwe pliku:");
- keypad(dialog, true);
- box(dialog, 0 , 0);
- wrefresh(dialog);
- //binding
- set_form_win(form, dialog);
- set_form_sub(form, derwin(dialog, 1, 26, 3, 2));
- //running a form…
- post_form(form);
- //…and driving it
- while (key != 10) {
- wrefresh(dialog);
- key = wgetch(dialog);
- switch(key) {
- case KEY_LEFT: {
- form_driver(form, REQ_PREV_CHAR);
- break;
- } case KEY_RIGHT: {
- form_driver(form, REQ_NEXT_CHAR);
- break;
- } case KEY_BACKSPACE: {
- form_driver(form, REQ_DEL_PREV);
- break;
- } case KEY_DC: {
- form_driver(form, REQ_DEL_CHAR);
- break;
- } default: {
- form_driver(form, key);
- }
- }
- }
- //saving a value
- defFilename = stripSpace(field_buffer(fields[0], 0));
- //destroying window and form
- unpost_form(form);
- free_form(form);
- free_field(fields[0]);
- wclear(dialog);
- wrefresh(dialog);
- delwin(dialog);
- refresh();
- return defFilename;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement