Changeset 3377 in MondoRescue for branches/3.2/mondo/src/common/newt-specific.c
- Timestamp:
- May 6, 2015, 1:10:17 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mondo/src/common/newt-specific.c
r3292 r3377 717 717 } 718 718 } 719 720 /** 721 * Ask the user to enter a value. 722 * @param title The title of the dialog box. 723 * @param b The blurb (e.g. what you want the user to enter). 724 * @param input The string to initialize the user's answer with. 725 * @return value needs to be freed up by caller 726 */ 727 char *mr_popup_and_get_string(char *title, char *b, char *input) { 728 729 /*@ newt ************************************************************ */ 730 newtComponent myForm; 731 newtComponent b_1; 732 newtComponent b_2; 733 newtComponent b_res; 734 newtComponent text; 735 newtComponent type_here; 736 737 char *entry_value = NULL; 738 char *blurb = NULL; 739 char *out = NULL; 740 741 assert_string_is_neither_NULL_nor_zerolength(title); 742 assert(b != NULL); 743 744 if (g_text_mode) { 745 printf("---promptstring---1--- %s\n---promptstring---2--- %s\n---promptstring---Q---\n--> ", title, b); 746 mr_getline(out, stdin); 747 if (out[strlen(out) - 1] == '\n') 748 out[strlen(out) - 1] = '\0'; 749 return(out); 750 } 751 752 assert(input != NULL); 753 text = newtTextboxReflowed(2, 1, b, 48, 5, 5, 0); 754 type_here = newtEntry(2, newtTextboxGetNumLines(text) + 2, input, 50, (void *) &entry_value, NEWT_FLAG_RETURNEXIT); 755 b_1 = newtButton(6, newtTextboxGetNumLines(text) + 4, " OK "); 756 b_2 = newtButton(18, newtTextboxGetNumLines(text) + 4, "Cancel"); 757 newtCenteredWindow(54, newtTextboxGetNumLines(text) + 9, title); 758 myForm = newtForm(NULL, NULL, 0); 759 newtFormAddComponents(myForm, text, type_here, b_1, b_2, NULL); 760 blurb = mr_center_string(b, 80); 761 newtPushHelpLine(blurb); 762 b_res = newtRunForm(myForm); 763 764 newtPopHelpLine(); 765 newtFormDestroy(myForm); 766 newtPopWindow(); 767 mr_free(blurb); 768 769 if (b_res != b_2) { 770 out = entry_value; 771 } 772 return(out); 773 } 719 774 720 775 /**
Note:
See TracChangeset
for help on using the changeset viewer.