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; |