private void majPropriete(Forme_simple forme) {//Affiche les propriétes de la forme dans la partie DROITE de l'application if (forme != null) { textBox_nom.Text = forme.Nom; //Nom panel_couleur.BackColor = Color.FromArgb(forme.Couleur); //Couleur //Groupe listBoxGroupesLiés.Items.Clear(); listBoxGroupesLiés.Items.Add("Aucun"); listBoxGroupesLiés.SetSelected(listBoxGroupesLiés.Items.IndexOf("Aucun"), true); //Groupe lié à la forme_active Forme_composee GroupeLiéDirectement = this.ListGroupes.Find(groupe => groupe.Id == this.forme_active.IdGroupe); if (GroupeLiéDirectement != null) { //Recherche de tous les sous groupes liés directement ou indirectement au groupe forme_active.IdGroupe et les affiche dans listBoxGroupesLiés this.chercheSousGroupes(GroupeLiéDirectement); //Selectionne le groupe lié directement listBoxGroupesLiés.SetSelected(listBoxGroupesLiés.Items.IndexOf(GroupeLiéDirectement.Nom), true); } //if (forme.IdGroupe == -1)//Groupe //{ // listBoxGroupesLiés.Items.Clear(); // listBoxGroupesLiés.Items.Add("Aucun"); // listBoxGroupesLiés.SetSelected(listBoxGroupesLiés.Items.IndexOf("Aucun"), true); //} //else //{ // listBoxGroupesLiés.Items.Add(this.ListGroupes.Find(item => item.Id == forme.IdGroupe).Nom); // listBoxGroupesLiés.SetSelected(listBoxGroupesLiés.Items.IndexOf(this.ListGroupes.Find(item => item.Id == forme.IdGroupe).Nom), true); //} } }
private void chercheSousGroupes(Forme_composee GroupeBase) { //Les groupes liés directement List <Forme_composee> ListeSousGroupes = this.ListGroupes.FindAll(g => g.IdGroupe == GroupeBase.Id); foreach (Forme_composee groupe in ListeSousGroupes) { chercheSousGroupes(groupe); } listBoxGroupesLiés.Items.Add(GroupeBase.Nom); }
private void importerToolStripMenuItem_Click(object sender, EventArgs e) { try { this.ListFormes.Clear(); this.ListGroupes.Clear(); this.clearTouteLappli(); //PARTIE DONNEES //Formes Composees if (Fc.find() != null) //gère cas où la BDD n'est pas disponible { this.ListGroupes.AddRange(Fc.find()); } //Formes Simples if (Fs1.find() != null) //gère cas où la BDD n'est pas disponible { this.ListFormes.AddRange(Fs1.find()); //Rectangle } if (Fs2.find() != null) //gère cas où la BDD n'est pas disponible { this.ListFormes.AddRange(Fs2.find()); //Segment } if (Fs3.find() != null) //gère cas où la BDD n'est pas disponible { this.ListFormes.AddRange(Fs3.find()); //Ellipse } if (Fs4.find() != null) //gère cas où la BDD n'est pas disponible { this.ListFormes.AddRange(Fs4.find()); //Triangle } if (Fs5.find() != null) //gère cas où la BDD n'est pas disponible { this.ListFormes.AddRange(Fs5.find()); //Polygone } foreach (Forme_simple f in ListFormes) { //si le groupe dont appartient à la fomre existe if (this.ListGroupes.Any(item => item.Id == f.IdGroupe)) { //alors on l'ajoute dans ListForme du groupe this.ListGroupes.Find(item => item.Id == f.IdGroupe).Liste_formes.Add(f); } } //Groupe de Groupe foreach (Forme_composee g in ListGroupes) { //idGroupe de notre groupe int IDG = g.IdGroupe; //tant qu'un groupe est lié à un autre groupe existant while (this.ListGroupes.Any(item => item.Id == IDG)) { Forme_composee supergroupe = this.ListGroupes.Find(item => item.Id == IDG); foreach (Forme_simple f in g.Liste_formes) {//On ajoute toutes les formes non encore existant //si la forme simple n'existe pas dans la liste_formes du super groupe, on l'ajoute if (!supergroupe.Liste_formes.Any(item => item.Id == f.Id)) { supergroupe.Liste_formes.Add(f); } } //récupère l'idGroupe pour la prochaine boucle: le groupe père est il lié? IDG = this.ListGroupes.Find(item => item.Id == IDG).IdGroupe; } } //PARTIE VISUELLE majListeSupprGroupes(); majListeAjoutGroupes(); refreshPanel(); this.id = this.ListGroupes.Count + this.ListFormes.Count + 1; } catch (InvalidOperationException) { Console.WriteLine("\nPour importer, la connexion doit être ouverte, ce n'est pas le cas.\n"); } }
private void majPropriete(Forme_composee forme) {//Affiche les propriétes du groupe dans la partie DROITE de l'application textBox_nom.Text = "GROUPE " + forme.Nom; //labelNomGroupeActif.Text = forme.Nom; }
static void test() { DAOFormeSimple Fs1 = new DAORectangle(); DAOFormeSimple Fs2 = new DAOSegment(); DAOFormeSimple Fs3 = new DAOEllipse(); DAOFormeSimple Fs4 = new DAOTriangle(); DAOFormeSimple Fs5 = new DAOPolygone(); Fs1.SetSuccessor(Fs2); Fs2.SetSuccessor(Fs3); Fs3.SetSuccessor(Fs4); Fs4.SetSuccessor(Fs5); //test ellipse string nom_ellipse = "elipse1"; int couleur_ellipse = 55555; Point point1 = new Point(12, 13); int longueur_ell = 12; int largeur_ell = 10; Forme_simple ellipse1 = new Ellipse(0, nom_ellipse, couleur_ellipse, point1, longueur_ell, largeur_ell, -1); //test polygone string nom_polygone = "polygone1"; int couleur_polygone = 15464; Point point3 = new Point(16, 17); Point point4 = new Point(18, 19); Point point5 = new Point(20, 21); Point []tableau_points = new Point[3]{point3, point4, point5}; Polygone polygone1 = new Polygone(1, nom_polygone, couleur_polygone, tableau_points, -1); //test triangle string nom_triangle = "triangle1"; int couleur_triangle = 15464; Point point7 = new Point(16, 17); Point point8 = new Point(18, 19); Point point9 = new Point(20, 21); Point[] tableau_points2 = new Point[3] { point3, point4, point5 }; Triangle triangle1 = new Triangle(3, nom_triangle, couleur_triangle, tableau_points2, -1); //test rectangle string nom_rectangle = "rectangle1"; int couleur_rectangle = 4646; Point point6 = new Point(22, 23); int longueur_rect = 12; int largeur_rect = 10; Rectangle rectangle1 = new Rectangle(2, nom_rectangle, couleur_rectangle, point6, longueur_rect, largeur_rect, -1); //test segment string nom_segment = "segment1"; int couleur_segment = 4646; Point point10 = new Point(22, 23); Point point11 = new Point(24, 25); Segment segment1 = new Segment(4, nom_segment, couleur_segment, point10, point11, -1); //test groupe string nom_groupe = "groupe1"; List<Forme_simple> liste_formes2 = new List<Forme_simple>(); List<Forme> liste_formes = new List<Forme>(); liste_formes.Add(ellipse1); liste_formes.Add(polygone1); liste_formes.Add(rectangle1); liste_formes.Add(segment1); liste_formes.Add(triangle1); Forme_composee groupe1 = new Forme_composee(5, nom_groupe, -1, liste_formes); foreach (Forme_simple list1 in liste_formes) { Fs1.create(list1); } //foreach(Forme_simple list in liste_formes) //{ // forme = Fs1.find(); // forme.Write(); // //liste_formes2.Add(forme); //} /*foreach (Forme_simple list2 in liste_formes2) { Console.WriteLine(list2.Id); }*/ Console.ReadLine(); }
private void majPropriete(Forme_composee forme) { //Affiche les propriétes du groupe dans la partie DROITE de l'application textBox_nom.Text = "GROUPE " + forme.Nom; //labelNomGroupeActif.Text = forme.Nom; }
private void chercheSousGroupes(Forme_composee GroupeBase) { //Les groupes liés directement List<Forme_composee> ListeSousGroupes = this.ListGroupes.FindAll(g => g.IdGroupe == GroupeBase.Id); foreach (Forme_composee groupe in ListeSousGroupes) { chercheSousGroupes(groupe); } listBoxGroupesLiés.Items.Add(GroupeBase.Nom); }
static void test() { DAOFormeSimple Fs1 = new DAORectangle(); DAOFormeSimple Fs2 = new DAOSegment(); DAOFormeSimple Fs3 = new DAOEllipse(); DAOFormeSimple Fs4 = new DAOTriangle(); DAOFormeSimple Fs5 = new DAOPolygone(); Fs1.SetSuccessor(Fs2); Fs2.SetSuccessor(Fs3); Fs3.SetSuccessor(Fs4); Fs4.SetSuccessor(Fs5); //test ellipse string nom_ellipse = "elipse1"; int couleur_ellipse = 55555; Point point1 = new Point(12, 13); int longueur_ell = 12; int largeur_ell = 10; Forme_simple ellipse1 = new Ellipse(0, nom_ellipse, couleur_ellipse, point1, longueur_ell, largeur_ell, -1); //test polygone string nom_polygone = "polygone1"; int couleur_polygone = 15464; Point point3 = new Point(16, 17); Point point4 = new Point(18, 19); Point point5 = new Point(20, 21); Point [] tableau_points = new Point[3] { point3, point4, point5 }; Polygone polygone1 = new Polygone(1, nom_polygone, couleur_polygone, tableau_points, -1); //test triangle string nom_triangle = "triangle1"; int couleur_triangle = 15464; Point point7 = new Point(16, 17); Point point8 = new Point(18, 19); Point point9 = new Point(20, 21); Point[] tableau_points2 = new Point[3] { point3, point4, point5 }; Triangle triangle1 = new Triangle(3, nom_triangle, couleur_triangle, tableau_points2, -1); //test rectangle string nom_rectangle = "rectangle1"; int couleur_rectangle = 4646; Point point6 = new Point(22, 23); int longueur_rect = 12; int largeur_rect = 10; Rectangle rectangle1 = new Rectangle(2, nom_rectangle, couleur_rectangle, point6, longueur_rect, largeur_rect, -1); //test segment string nom_segment = "segment1"; int couleur_segment = 4646; Point point10 = new Point(22, 23); Point point11 = new Point(24, 25); Segment segment1 = new Segment(4, nom_segment, couleur_segment, point10, point11, -1); //test groupe string nom_groupe = "groupe1"; List <Forme_simple> liste_formes2 = new List <Forme_simple>(); List <Forme> liste_formes = new List <Forme>(); liste_formes.Add(ellipse1); liste_formes.Add(polygone1); liste_formes.Add(rectangle1); liste_formes.Add(segment1); liste_formes.Add(triangle1); Forme_composee groupe1 = new Forme_composee(5, nom_groupe, -1, liste_formes); foreach (Forme_simple list1 in liste_formes) { Fs1.create(list1); } //foreach(Forme_simple list in liste_formes) //{ // forme = Fs1.find(); // forme.Write(); // //liste_formes2.Add(forme); //} /*foreach (Forme_simple list2 in liste_formes2) * { * Console.WriteLine(list2.Id); * }*/ Console.ReadLine(); }