public void ajouterVue(Vue vuePere, Vue vueFils) // dans l'arbre GLOBAL, ajoute la vueFils dans la liste des fils de la vuePere { Arbre aPere = arbreVue(vuePere); Arbre aFils = new Arbre(vueFils); aPere.ajouterArbre(aFils); }
public List <Vue> cheminPageCour() //la liste de vues est classée par ordre "décroissant", çad la pageCourante est en premier et la pagePrincipale en dernier. On remonte l'arborescence en parcourant la liste de l'indice 0 à cheminPageCourante.Lenght-1 { List <Vue> list = new List <Vue>(); Arbre aTemp = this; do { list.Add(aTemp.PageCourante); aTemp = arbrePere(list.ElementAt <Vue>(list.Count)); } while (aTemp != null); return(list); }
//constructeur public Configuration() { Vue pageHome = new Vue("Pièces de la maison"); this.actions = new List <Action>(); this.equipements = new List <Equipement>(); this.pieces = new List <Piece>(); this.modalites = new List <Modalite>(); this.reglagesReseau = new ReglReseau(); this.theme = new Theme(); this.arbre = new Arbre(pageHome); Arbre.PagePrincipale = pageHome; }
public Arbre arbrePere(Vue a) // retourne le sous-arbre père de la Vue a { Arbre aTemp = new Arbre(); foreach (Arbre arb in Fils) { if (arb.racine == a) { return(this); } else { aTemp = arb.arbrePere(a); } } return(aTemp); }
public Arbre arbreVue(Vue v) // retourne le sous-arbre associé à la String v dans l'arbre courant { Arbre aTemp = arbrePere(v); if (v == pagePrincipale) { return(this); } else if (!aTemp.isArbreVide()) { foreach (Arbre a in aTemp.Fils) { if (a.racine == v) { return(a); } } } return(aTemp); }
// méthodes public void ajouterArbre(Arbre a) // dans l'arbre COURANT, ajoute l'arbre 'a' à la liste des fils { Fils.Add(a); }