1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
   | #include <form.h>
 
/*int set_field_userptr(FIELD *field,char *userptr); 
/*char *field_userptr(FIELD *field);      
 
int main(){
 
	FIELD *field[4];
	FORM  *my_form;
	int ch, i;
 
	/* Initialize curses */
	initscr();
	start_color();
	cbreak();
	noecho();
	keypad(stdscr, TRUE);
 
	/* Initialisation des couleurs */
	init_pair(1, COLOR_BLACK, COLOR_WHITE);
	init_pair(2, COLOR_BLACK, COLOR_WHITE);
 
	/* Initialisation des champŝ */
	field[0] = new_field(1, 5, 8, 20, 0, 0);
	field[1] = new_field(1, 5, 10, 20, 0, 0);
	field[2] = new_field(1,5,12,20,0,0);
	field[3] = NULL;
 
	/* Assignation des specificités des champs */
	set_field_fore(field[0], COLOR_PAIR(1));/* definition de la couleur de fons de champ */
	set_field_back(field[0], COLOR_PAIR(2));/* definition de la couleur du caractere */
	field_opts_off(field[0], O_AUTOSKIP);/*Ne pas passer au champ suivant si le nbr de char permis est dépassé dans le champ precedent*/
	set_field_userptr(field[0], dist);
 
	set_field_fore(field[1], COLOR_PAIR(1));
	set_field_back(field[1], COLOR_PAIR(2));
	field_opts_off(field[1], O_AUTOSKIP);
 
	set_field_fore(field[2], COLOR_PAIR(1));
	set_field_back(field[2], COLOR_PAIR(2));
	field_opts_off(field[2], O_AUTOSKIP);
 
	/* Create the form and post it */
	my_form = new_form(field);
	post_form(my_form);
	refresh();
 
	mvprintw(4,5, "Evaluation des notes\n");
 
	//set_current_field(my_form, field[0]); /* Placer le curseur dans un champ bien precis*/
	mvprintw(8, 5, "Distance: ");
	//set_current_field(my_form, field[1]);
	mvprintw(10, 5, "Style: ");
	//set_current_field(my_form, field[2]);
	mvprintw(12, 5, "commentaire: ");
 
	mvprintw(LINES -39, 5, "Utilisez les fleches HAUT/BAS pour vous diriger dans les champs");
	mvprintw(LINES -38, 5, "Utilisez les fleches GAUCHE pour vider un champ");
	mvprintw(LINES -37, 5, "Utilisez la touche F8 pour valider l'encodage");
	mvprintw(LINES -36, 5, "Utilisez la touche F1 pour sortir");
 
	refresh();
 
	/* Loop through to get user requests */
	while((ch = getch()) != KEY_F(1))
	{	switch(ch)
		{	case KEY_DOWN:
				/* Go to next field */
				form_driver(my_form, REQ_NEXT_FIELD);
				/* Go to the end of the present buffer */
				/* Leaves nicely at the last character */
				form_driver(my_form, REQ_END_LINE);
				break;
			case KEY_UP:
				/* Go to previous field */
				form_driver(my_form, REQ_PREV_FIELD);
				form_driver(my_form, REQ_END_LINE);
				break;
			case KEY_LEFT:
				/*erase field*/
				form_driver(my_form, REQ_CLR_FIELD);
				break; |