SCR/AL1 - TOME IV. Les librairies internes
Syntax
MN_search_option(mn, txt)
MENU *mn;
unsigned char *txt;
Description
Recherche le numéro de l'option correspondant au texte txt dans le MENU mn. Le texte de chaque option est localement strippé (les blancs de fin sont supprimés) et justifié à gauche. De même en ce qui concerne le texte passé comme argument à la fonction.
La fonction retourne -1 si le texte n'est pas trouvé dans le MENU. Elle retourne le numéro de l'option sinon (première option = 0).
Exemple
MN_search_option(mn, " Impression sur LPT1:");
File s_menu.c
OPTION *MN_add_option(MENU *mn)
MENU *MN_auto_create(char **text, int line, int col, int nlv, int box, int back)
MENU *MN_create()
MENU *MN_create_default(int line, int col, int back, int nb_line)
MN_end(mn)
MN_free(mn)
MN_search_option(mn, txt)
MN_add_option (file s_menu.c:134)
Syntax
OPTION *MN_add_option(
MENU *mn
)
#else
OPTION *MN_add_option(mn)
MENU *mn;
#endif
Description
Ajoute une option à un MENU créé à l'aide d'une des fonctions d'allocation de MENU MN_create(), MN_auto_create(), etc.
La valeur retournée est un pointeur vers la nouvelle option.
Cette fonction peut être utilisée en cours d'édition du MENU, mais jamais sur un MENU défini comme objet SCR dans un fichier source.
Voir également
MN_auto_create(), MN_set_option_text()
MN_auto_create (file s_menu.c:362)
Syntax
MENU *MN_auto_create(
char **text,
int line,
int col,
int nlv,
int box,
int back
)
#else
MENU *MN_auto_create(text, line, col, nlv, box, back)
char **text;
int line, col, nlv, box, back;
#endif
Description
Crée un MENU dynamique et fixe directement la ligne, la colonne, la couleur, le nombre de lignes visibles, l'épaisseur du cadre (BOX) et les options du menu.
text est un tableau de pointeurs vers le texte des options. Le dernier élément du tableau doit être un pointeur nul ou un pointeur vers un string vide ("").
La fonction MN_end() est appelée en fin de fonction pour ajuster le MENU.
Exemple
EditProducts(prod)
char **prod;
{
MENU *mn;
int choice;
mn = MN_auto_create(prod, 5, 15, 10, 1, SCR_REVERSE);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}
Voir également
MN_create(), MN_free(), MN_end(), MN_add_set_option_text(), MN_edit()
MN_create (file s_menu.c:53)
Syntax
MENU *MN_create()
Description
Crée un nouveau menu en allouant l'espace nécessaire et en initialisant les valeurs par défaut : BOX 1, BACK DEFAULT.
Retourne un pointeur vers la structure allouée.
Exemple
mn = MN_create();
Voir également
MN_auto_create(), MN_free()
MN_create_default (file s_menu.c:267)
Syntax
MENU *MN_create_default(
int line,
int col,
int back,
int nb_line
)
#else
MENU *MN_create_default(line, col, back, nb_line)
int line, col, back, nb_line;
#endif
Description
Crée un MENU dynamique et fixe directement la ligne, la colonne, la couleur et le nombre de lignes visibles.
Exemple
EditProducts(prod, prices)
char **prod;
long *prices;
{
MENU *mn;
int i, choice;
mn = MN_create_default(5, 15, SCR_REVERSE, 5);
for(i = 0 ; prod[i] != 0 ; i++)
MN_add_set_option_text(mn, "%s : %ld FB",
prod[i], prices[i]);
MN_end(mn);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}
Voir également
MN_create(), MN_free(), MN_auto_create(), MN_add_set_option_text()
MN_end (file s_menu.c:197)
Syntax
MN_end(mn)
MENU *mn;
Description
Termine la définition d'un MENU créé à l'aide d'une des fonctions d'allocation de MENU MN_create(), MN_auto_create(), etc.
Le nombre de colonnes est ajustée sur les textes des OPTIONS, de la footnote et du titre. Le nombre de lignes visibles est limité à la taille de l'écran et au nombre d'options.
La lettre qui permettra de se positionner ou de déclencher l'action d'une option est fixée comme étant la première non blanche de l'option si cette lettre n'a pas encore été fixée.
Exemple
EditProducts(prod, prices)
char **prod;
long *prices;
{
MENU *mn;
int i, choice;
mn = MN_create();
mn->mn_line = 5;
mn->mn_column = 15;
for(i = 0 ; prod[i] != 0 ; i++)
MN_add_set_option_text(mn, "%s : %ld FB",
prod[i], prices[i]);
MN_end(mn);
choice = MN_edit(mn);
MN_free(mn);
return(choice);
}
MN_free (file s_menu.c:90)
Syntax
MN_free(mn)
MENU *mn;
Description
Libère l'espace alloué pour un menu créé à l'aide d'une des fonctions de création MN_create(), MN_auto_create(), ...
Les options, titre et footnote du MENU sont également libérés.
Cette fonction ne peut jamais être utilisée sur un MENU défini comme objet SCR dans un fichier source.
Voir également
MN_create()
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be