public virtual bool SupprimerUnFils(IDocElementAMenuItems fils) { bool retour = false; for (int c = _enfants.Count; c > 0; c--) { DocMenuItem child = _enfants[c - 1]; if (child.Equals(fils)) { for (int i = _enfants.Count; i > 0; i--) { DocMenuItem autrefils = _enfants[i - 1]; if (autrefils.Position < fils.Position) { MonterFils(autrefils); } } _enfants.Remove(child); OrganiserFils(); retour = true; break; } else if (child.SupprimerUnFils(fils)) { retour = true; break; } } return(retour); }
public virtual bool MonterFilsOuPetitFils(DocMenuItem fils) { IDocElementAMenuItems pere = GetFatherOf(fils); if (pere == null) { return(false); } pere.MonterFils(fils); return(true); }
/// <summary> /// Retourne le conteneur d'un fils ou null /// </summary> /// <param name="fils"></param> /// <returns></returns> public virtual IDocElementAMenuItems GetFatherOf(IDocElementAMenuItems fils) { IDocElementAMenuItems elem = null; foreach (DocMenuItem itm in _enfants) { if (itm.Equals(fils)) { return(this); } else { elem = itm.GetFatherOf(fils); if (elem != null) { return(elem); } } } return(elem); }