private void BW_Menu_ProgressChanged(object sender, ProgressChangedEventArgs e) { string[] workerResult = e.UserState as string[]; int indexSection = this.hasSection(workerResult[0]); if (indexSection != -1) { int indexSysteme = this.listeDesSections[indexSection].hasSysteme(workerResult[1]); if (indexSysteme != -1) { int indexCategorie = this.listeDesSections[indexSection].listeDesSystemes[indexSysteme].hasCategorie(workerResult[2]); if (indexCategorie == -1) { //on ajoute simplement la categorie Categorie aNewCategorie = new Categorie(workerResult[2], int.Parse(workerResult[3]), this.listeDesSections[indexSection].listeDesSystemes[indexSysteme]); this.listeDesSections[indexSection].listeDesSystemes[indexSysteme].GetTreeViewItem().Items.Add(aNewCategorie.GetTreeViewItem()); } } else { //On ajoute systeme et la catégorie Systeme aNewSysteme = new Systeme(workerResult[1], 0, this.listeDesSections[indexSection]); Categorie aNewCategorie = new Categorie(workerResult[2], int.Parse(workerResult[3]), aNewSysteme); this.listeDesSections[indexSection].GetTreeViewItem().Items.Add(aNewSysteme.GetTreeViewItem()); aNewSysteme.GetTreeViewItem().Items.Add(aNewCategorie.GetTreeViewItem()); } } else { //On ajoute tout Section aNewSection = new Section(workerResult[0], 0, this); Systeme aNewSysteme = new Systeme(workerResult[1], 0, aNewSection); Categorie aNewCategorie = new Categorie(workerResult[2], int.Parse(workerResult[3]), aNewSysteme); _UCDoc.AddItemToMenu(aNewSection.GetTreeViewItem()); aNewSection.GetTreeViewItem().Items.Add(aNewSysteme.GetTreeViewItem()); aNewSysteme.GetTreeViewItem().Items.Add(aNewCategorie.GetTreeViewItem()); } }