/// <summary> /// Crée une nouvelle fenêtre fille /// </summary> /// <param name="titre">Titre de la fenêtre</param> /// <param name="typeSchéma">Type de schéma à créer</param> /// <returns></returns> private void NouvelleFenêtre(string titre, TypeSchéma typeSchéma) { #region Création Graphe nouveauDessin = new Graphe(titre, typeSchéma, this); nouveauDessin.FormClosed += nouveauDessin_FormClosed; #endregion #region Ajout d'une référence de la fenêtre if (MdiChildren.Length == 0) { menuFenêtre.DropDownItems.Add(new ToolStripSeparator()); menuFenêtre.DropDownItems[0].Enabled = true; menuFenêtre.DropDownItems[1].Enabled = true; tileButton.Enabled = true; cascadeButton.Enabled = true; } ToolStripMenuItem menuItem = new ToolStripMenuItem(nouveauDessin.ToString()); menuItem.Tag = nouveauDessin; menuItem.Click += menuItem_Click; menuFenêtre.DropDownItems.Add(menuItem); nouveauDessin.Tag = menuItem; nouveauDessin.Show(); panneauAccueil.Hide(); Enable(true); #endregion }
private TypeSchéma type_schéma(string s) { TypeSchéma typeSchéma = TypeSchéma.Graphe; switch (s) { case "Graphe": typeSchéma = TypeSchéma.Graphe; break; case "Relationnel": typeSchéma = TypeSchéma.Relationnel; break; case "EntitéAssociation": typeSchéma = TypeSchéma.EntitéAssociation; break; } return(typeSchéma); }
private void Deserialize(string fileName) { Stream stream = File.Open(fileName, FileMode.Open); BinaryFormatter bformatter = new BinaryFormatter(); try { typeSchéma = (TypeSchéma)bformatter.Deserialize(stream); noeuds = (List<Noeud>)bformatter.Deserialize(stream); traits = (List<Trait>)bformatter.Deserialize(stream); } catch (Exception ex) { string message = ex.Message; throw new IOException(message, ex); } finally { stream.Close(); } foreach (Trait t in traits) { foreach (Noeud n in noeuds) { if (t.Source.ID == n.ID) { t.Source = n; } if (t.Destination.ID == n.ID) { t.Destination = n; } } } Refresh(); }
/// <summary> /// Constructeur de base /// </summary> /// <param name="texte">Nom du schéma</param> /// <param name="parent">Parent Mdi</param> /// <param name="type">Type de schéma</param> public Graphe(string texte, TypeSchéma type, Form parent) { Création(type, parent, texte); if (type == TypeSchéma.SqlReverse) ReverseEngineer(texte); }
private Noeud NoeudParDéfaut(Point point, TypeSchéma typeschéma) { Noeud noeud = null; switch (typeSchéma) { case TypeSchéma.Graphe: noeud = new Noeud(point, option.Taille_Noeud, option.Couleur_Noeud, option.Épaisseur_Noeud); noeuds.Add(noeud); break; case TypeSchéma.Relationnel: noeud = new Relation(point, option.Taille_Noeud, option.Couleur_Noeud, option.Épaisseur_Noeud); AttributRelation pa = new AttributRelation((Relation)noeud); if (pa.ShowDialog() == DialogResult.OK) noeuds.Add(noeud); break; case TypeSchéma.EntitéAssociation: noeud = new Entité(point, option.Taille_Noeud, option.Couleur_Noeud, option.Épaisseur_Noeud); EditionEntité ed = new EditionEntité((Entité)noeud); if (ed.ShowDialog() == DialogResult.OK) noeuds.Add(noeud); break; } return noeud; }
private void Création(TypeSchéma type, Form parent, string texte) { InitializeComponent(); Text = texte; MdiParent = parent; typeSchéma = type; g = new Graph(noeuds, traits); foreach (string lt in System.Enum.GetNames(typeof(GraphLayoutType))) layoutComboBox.Items.Add(lt); option.Type_schéma = type; this.MouseWheel += DessinObjets_MouseWheel; vScroll.Minimum = 000; vScroll.Maximum = 800; vScroll.SmallChange = 4; vScroll.LargeChange = 50; hScroll.MouseWheel += hScroll_MouseWheel; déplacement.Checked = false; option.Origine_Zoom = new Point(this.Width / 2, this.Height / 2); homothétie.Text = "100%"; Option.Type_schéma = type; créeEntitéAssociationButton.Visible = false; créeRelationsBouton.Visible = false; versSQL.Visible = false; applySql.Visible = false; parcoursSQL.Visible = false; switch (option.Type_schéma) { case TypeSchéma.Graphe: separatorRelation.Visible = false; separatorEntité.Visible = false; break; case TypeSchéma.SqlReverse: case TypeSchéma.Relationnel: versSQL.Visible = true; applySql.Visible = true; parcoursSQL.Visible = true; créeEntitéAssociationButton.Visible = true; break; case TypeSchéma.EntitéAssociation: créeRelationsBouton.Visible = true; separatorEntité.Visible = false; break; } InitialisationRessources(); }