Ignore:
Timestamp:
06/04/10 10:17:44 (14 years ago)
Author:
hozdoba
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/field_group.hpp

    r91 r94  
    2727         virtual const char* getName(void) const {return ("FieldGroup"); }   
    2828          
    29          void parse (XMLNode& _node, bool isFieldDef = false) 
     29         void parse (XMLNode& _node) 
    3030         { 
    3131            string name = _node.getElementName();             
     
    3939                
    4040            /// PARSING POUR GESION DES ENFANTS 
    41             // A compléter. 
    42                 
     41            if (!(_node.goToChildElement())) 
     42               WARNING("Le groupe de champ ne contient pas d'enfant !"); 
     43            else 
     44            { 
     45               ////////////////////////////////////// 
     46               do { // Parcours des contexts pour traitement.  
     47                             
     48                  string name = _node.getElementName(); 
     49                  attributes.clear(); 
     50                  _node.getAttributes(attributes);   
     51                                  
     52                  if (name.compare("field_group") == 0) 
     53                  { // Parsing pour les groupes de champs 
     54                         
     55                     if (attributes.end() != attributes.find("id")) 
     56                     {// Si l'identifiant est défini. 
     57                        if (FieldGroup::HasObject(attributes["id"])) 
     58                           WARNING("Dans le context actuel, un groupe de champ du même nom existe déjà, le second fera référence au premier par défaut !"); // TODO TODO 
     59                        FieldGroup* fgroup =(FieldGroup*)&createGroup(attributes["id"]); 
     60                        fgroup->parse(_node); 
     61                     } 
     62                     /*else 
     63                        this->createGroup();*/ 
     64 
     65                         
     66                     continue; 
     67                         
     68                  } 
     69                  else if (name.compare("field") == 0) 
     70                  { // Parsing pour les champs 
     71                   
     72                     if (attributes.end() != attributes.find("id")) 
     73                        if (Field::HasObject(attributes["id"])) 
     74                           WARNING("Dans le context actuel, un champ du même nom existe déjà, le second fera référence au premier par défaut !");  // TODO TODO                 
     75                  }  
     76                  else 
     77                     WARNING("Un groupe de champs ne peut contenir qu'un champ ou un autre groupe de champs !"); 
     78                      
     79               } while (_node.goToNextElement()); 
     80               ////////////////////////////////////// 
     81               _node.goToParentElement(); // Retour au parent   
     82            } 
     83                                        
    4384            return; 
    4485         } 
Note: See TracChangeset for help on using the changeset viewer.