Page principale | Liste alphabétique | Structures de données | Liste des fichiers | Champs de donnée | Portée globale | Pages associées

Référence de la classe Menu

#include <MoteurMenu.h>


Fonctions membres publiques

 Menu (char *UnTitre="")
 ~Menu ()
int AddItem (int UnLabel, char *UnNom)
int SetSelct (int UnLabel)
MVirtuel Affiche ()
MVirtuel GetImage ()
int Gere ()

Attributs privés

char * Titre
char ** Items
int NbItem
int Selected
MVirtuel Image


Documentation des contructeurs et destructeur

Menu::Menu char *  UnTitre = ""  ) 
 

Définition à la ligne 14 du fichier MoteurMenu.cpp.

00015 {
00016     Titre = new char[strlen(UnTitre)];
00017     strcpy(Titre, UnTitre);
00018     Items = new char*[1];
00019     Items[0] = NULL;
00020     NbItem = 0;
00021     Selected = 0;
00022 }

Menu::~Menu  ) 
 

Définition à la ligne 24 du fichier MoteurMenu.cpp.

00025 {
00026     /*for(int i=0; i<NbItem; i++)
00027         if(Items[i] != NULL)
00028             delete [] Items[i];*/
00029     delete [] Items;
00030 }


Documentation des fonctions membres

int Menu::AddItem int  UnLabel,
char *  UnNom
 

Définition à la ligne 32 du fichier MoteurMenu.cpp.

00033 {
00034     if(UnLabel>NbItem)
00035     {
00036         char ** Tampon;
00037         Tampon = new char*[UnLabel+1];
00038         for(int i=0; i<=UnLabel; i++)
00039         {
00040             Tampon[i] = NULL;
00041             if(i<=NbItem)
00042                 Tampon[i] = Items[i];
00043         }
00044         delete [] Items;
00045         Items = Tampon;
00046         NbItem = UnLabel;
00047     }
00048     else
00049         if(Items[UnLabel] != NULL)
00050             delete [] Items[UnLabel];
00051 
00052     Items[UnLabel] = new char[strlen(UnNom)];
00053     strcpy(Items[UnLabel], UnNom);
00054 
00055     return UnLabel;
00056 }

MVirtuel Menu::Affiche  ) 
 

Définition à la ligne 64 du fichier MoteurMenu.cpp.

00065 {
00066     //efface la memoire
00067     for(int y = 0; y < NBL; y++)
00068     {
00069         Image.Write(NBC, y, "\0");
00070         for(int x = 0; x < NBC; x++)
00071             Image.Write(x, y, " ");
00072     }
00073 
00074     char CAR;
00075     int Lig = (NBL-NbItem-4)/2;
00076     int Lar = strlen(Titre)+1;
00077     int Col = (NBC-Lar)/2;
00078 
00079     //partie haute
00080     for(int i=Col+1; i<=Col+Lar-1; i++)
00081     {
00082         Image.Write(i, Lig,Car[8]);
00083         Image.Write(i, Lig+2, Car[8]);
00084         Image.Write(i, Lig+4+NbItem, Car[8]);
00085     }
00086     Image.Write(Col, Lig, Car[0]);
00087     Image.Write(Col+Lar, Lig, Car[1]);
00088     Lig++;
00089     Image.Write(Col, Lig, Car[9]);
00090     Image.Write(Col+1, Lig,Titre);
00091     Image.Write(Col+Lar, Lig, Car[9]);
00092     Lig++;
00093     Image.Write(Col, Lig, Car[4]);
00094     Image.Write(Col+Lar, Lig, Car[5]);
00095     Lig++;
00096     //partie basse
00097     for(i=0; i<=NbItem; i++, Lig++)
00098     {
00099         Image.Write(Col, Lig, Car[9]);
00100         Image.Write(Col+Lar, Lig, Car[9]);
00101 
00102         if(Items[i] != NULL)
00103         {
00104             if(Selected == i)
00105             {
00106                 Image.Write(Col+1, Lig, "*");
00107                 Image.Write(Col+Lar-1, Lig, "*");
00108             }
00109             Image.Write(Col+(Lar-strlen(Items[i]))/2+1, Lig, Items[i]);
00110         }
00111     }
00112     Image.Write(Col, Lig, Car[2]);
00113     Image.Write(Col+Lar, Lig, Car[3]);
00114     
00115     Image.Print();
00116     return Image;
00117 }

int Menu::Gere  ) 
 

Définition à la ligne 124 du fichier MoteurMenu.cpp.

00125 {
00126     int i=0;
00127 
00128     switch(_getch())
00129     {
00130     case    224 :       //premier carractere des touche directionnel
00131         switch(_getch())
00132         {
00133         case    72  :   //second carractere -> haut
00134             for(i=Selected-1; i>=0; i--)
00135                 if(Items[i] != NULL)
00136                 {
00137                     Selected = i;
00138                     break;
00139                 }
00140             break;
00141         case    80  :   //second carractere -> bas
00142             for(i=Selected+1; i<=NbItem; i++)
00143                 if(Items[i] != NULL)
00144                 {
00145                     Selected = i;
00146                     break;
00147                 }
00148             break;
00149         }
00150         break;
00151     case    13  :       //touche entrer
00152         return -1;
00153         break;
00154     }
00155     return Selected;
00156 }

MVirtuel Menu::GetImage  ) 
 

Définition à la ligne 119 du fichier MoteurMenu.cpp.

00120 {
00121     return Image;
00122 }

int Menu::SetSelct int  UnLabel  ) 
 

Définition à la ligne 58 du fichier MoteurMenu.cpp.

00059 {
00060     Selected = UnLabel;
00061     return Selected;
00062 }


Documentation des champs

MVirtuel Menu::Image [private]
 

Définition à la ligne 18 du fichier MoteurMenu.h.

char** Menu::Items [private]
 

Définition à la ligne 15 du fichier MoteurMenu.h.

int Menu::NbItem [private]
 

Définition à la ligne 16 du fichier MoteurMenu.h.

int Menu::Selected [private]
 

Définition à la ligne 17 du fichier MoteurMenu.h.

char* Menu::Titre [private]
 

Définition à la ligne 14 du fichier MoteurMenu.h.


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Mon Apr 18 12:27:04 2005 pour Ressource par  doxygen 1.3.9.1