2 // C++ : Gestion des noeuds
4 #include "HexEltBase.hxx"
5 #include "HexDocument.hxx"
8 // =================================================== Constructeur
9 EltBase::EltBase (Document* doc, EnumElt type)
13 el_id = el_root->doc_nbr_elt [type];
20 el_root->doc_nbr_elt [type] ++;
21 el_root->doc_last_elt [type] -> el_next = this;
22 el_root->doc_last_elt [type] = this;
23 el_root->setDeprecated (1);
25 // =================================================== Destructeur
28 // printf (" delete ");
31 // =================================================== Constructeur Bis
32 // Utilise uniquement dans le constructeur de Document
33 // Creation d'un premier element fictif pour accelerer les chainages
34 EltBase::EltBase (EnumElt type)
44 // =================================================== remove
45 void EltBase::remove ()
47 if (el_type == EL_REMOVED)
50 el_root->setDeprecated (2);
52 int nbp = el_parent.size();
53 for (int nro=0 ; nro<nbp ; nro++)
55 EltBase* elt = el_parent[nro];
56 if (elt != NULL && elt->isHere())
60 // =================================================== suppress
61 void EltBase::suppress ()
63 if (el_type == EL_REMOVED)
66 el_root->setDeprecated (2);