| 70 | == Fonctions membres de la classe Loins == |
| 71 | |
| 72 | Le constructeur : |
| 73 | * {{{Loins ( Lofig* owner, Lofig* model, const std::string& );}}} |
| 74 | |
| 75 | Les arguments sont l'{{{owner}}}, la {{{Lofig}}} ''dans laquelle'' l'instance est |
| 76 | crée, le {{{model}}}, la {{{Logig}}} ''dont'' on créé une instance et le nom de |
| 77 | cette instance. Le constructeur se charge de la duplication des connecteurs |
| 78 | du modèle {{{model}}} dans l'instance. |
| 79 | |
| 80 | Les accesseurs : |
| 81 | * {{{std::string& getName ();}}} |
| 82 | * {{{Lofig* getModel ();}}} |
| 83 | * {{{Lofig* getOwner ();}}} |
| 84 | * {{{std::list<Locon*>& getConnectors ();}}} |
| 85 | * {{{Locon* getConnector ( const std::string& );}}} |
| 86 | |
| 87 | Les modifieurs : |
| 88 | * {{{bool connect ( const std::string& name, Losig* );}}} |
| 89 | |
| 90 | Réalise l'association entre un connecteur ({{{Locon}}}) ''de l'instance'' |
| 91 | et un signal {{{name}}} (de la {{{Lofig}}} {{{owner}}}). |
| 92 | |
| 93 | Le code de la fonction utilitaire d'affichage dans un flux : |
| 94 | [attachment:Loins-Skeleton.cpp] |
| 95 | |
| 96 | |
| 97 | == Fonctions membres de la classe Lofig == |
| 98 | |
| 99 | __Le constructeur__ : |
| 100 | * {{{Lofig ( const std::string& );}}} |
| 101 | |
| 102 | Le constructeur est extrèmement simple, il se contente de positionner le |
| 103 | nom de la {{{Lofig}}}, tous les autres attributs sont ''vides''. |
| 104 | |
| 105 | __Le destructeur__ : |
| 106 | * {{{~Lofig ()}}} |
| 107 | |
| 108 | Voir les considération spécifiques sur la destruction de la base de données. |
| 109 | |
| 110 | __Les accesseurs__ : |
| 111 | * {{{unsigned int getMode ();}}} |
| 112 | * {{{const std::string& getName ();}}} |
| 113 | * {{{std::list<Lofig*>& getModels ();}}} |
| 114 | * {{{std::list<Locon*>& getConnectors ();}}} |
| 115 | * {{{std::list<Loins*>& getInstances ();}}} |
| 116 | * {{{std::list<Losig*>& getSignals ();}}} |
| 117 | |
| 118 | __Les modificateurs__ : |
| 119 | * {{{setMode ( unsigned int );}}} |
| 120 | |
| 121 | __Les modificateurs relatifs aux modèles__ : |
| 122 | * Ajoute un nouveau modèle, soit en donnant directement sa {{{Lofig}}}, soit |
| 123 | par nom. On n'ajoutera pas un modèle s'il est déjà présent. |
| 124 | * {{{void addModel ( const std::string& );}}} |
| 125 | * {{{void addModel ( Lofig* );}}} [[br]] |
| 126 | * Retrait d'un modèle de la liste. Mêmes variantes que pour l'ajout. |
| 127 | * {{{void removeModel ( const std::string& );}}} |
| 128 | * {{{void removeModel ( Lofig* );}}} |
| 129 | * Recherche d'un modèle par son nom. S'il n'est pas trouvé, la fonction |
| 130 | renverra {{{NULL}}}. |
| 131 | * {{{Lofig* findModel ( const std::string& );}}} |
| 132 | |
| 133 | |
| 134 | __Les modificateurs relatifs aux connecteurs__ : |
| 135 | * Ajoute un nouveau connecteur à la {{{Losig}}}. On doit fournir son nom, sa |
| 136 | direction ainsi que le signal auquel il est relié. Cela implique que l'on |
| 137 | créé les signaux ''avant'' les connecteurs. |
| 138 | * {{{void addConnector ( const std::string&, unsigned int dir, Losig* ); |
| 139 | * Suppression d'un connecteur, soit directement par un pointeur sur le {{{Locon}}}, |
| 140 | soit par nom. |
| 141 | * {{{void removeConnector ( const std::string& ); |
| 142 | * {{{void removeConnector ( Locon* ); |
| 143 | * Recherche d'un connecteur par son nom. |
| 144 | * {{{Locon* findConnector ( const std::string& ); |
| 145 | * Réalisation d'une connexion. La première version correspond à la (re)connexion |
| 146 | d'un signal sur un {{{Locon}}} du modèle. La seconde version à la connexion |
| 147 | d'un {{{Locon}}} d'une instance (référencé par son nom {{{conName}}}) à un |
| 148 | signal du modèle référencé par son nom {{{sigName}}}. |
| 149 | * {{{bool connect ( const std::string& conName, const std::string& sigName ); |
| 150 | * {{{bool connect ( const std::string& insName, const std::string& conName, const std::string& sigName ); |
| 151 | |
| 152 | |
| 153 | |