1) Créer la classe MxxxListe
Implémenter l’interface IListe
2) Créer la classe MxxxFiltre
Le filtre hérite de AFiltreListe
Redéfinir les éléments abstraits du filtre
Créer le membre m_pclFiltre public dans MxxxListe
3) Compléter la méthode p_sNomComplet
Souvent une boucle qui parcourt les modèles pour créer une chaîne de noms complets séparés par des points-virgules (« ; »).
4) Créer la procédure GetModele()
ATTENTION : pas de surcharge > une seule syntaxe autorisée !
Le paramètre RefModele doit être en local et le type d’objet renvoyé doit être bien indiqué.
5) Propriété globale « Vide » dans Mxxx
PROCÉDURE PUBLIQUE GLOBALE Vide() : MFluideCode
RENVOYER new MFluideCode
6) Ajouter la liste dans LambiqueGlobal
Dans la collection de procédure globale COL_LambiqueGlobal
de LambiqueGlobal
, créer l'énumération.
EGlobalListe est une Enumération
<BLOC LambiqueFluids>
GFluideCode = "Liste de codes de fluides"
<FIN>
FIN
7) InitialiserGlobal
Ajouter la liste global depuis le module concerné.
<BLOC Listes globales>
GGlobal.ActualiserGListe(GFluideCode,new MFluideCodeListe)
<FIN>
8) Interface
Dans COL_LambiqueShared
, créer l'interface si nécessaire.
Il existe une interface générique IBase
qui expose les propriétés générales.
IBase est une Interface
Propriété IdentifiantUnique : entier
Propriété p_sNomComplet : chaîne
Propriété m_sNom : chaîne
Propriété m_sInfo : chaîne
FIN
Exemples d'utilisations
PROCÉDURE PRIVÉE InitialiserFluide()
M est un objet dynamique
iFluide est un IBase
m_pclChoixFluide.SupprimerTout()
POUR TOUT M DE GGlobal.GListe(GFluideCode).p_tabModele
iFluide <- M
m_pclChoixFluide.AjouterChoixPossible(iFluide.IdentifiantUnique,iFluide.p_sNomComplet,p_pclFluideListe.bFluideExiste(M.IdentifiantUnique))
FIN
PROCÉDURE p_sNomComplet() : chaîne
iFluide est un IBase <- GGlobal.GListe(GFluideCode).GetModele(m_nRefFluide)
RENVOYER iFluide.p_sNomComplet