private void Position1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { if (TimeSpan.TryParse(position1.Text, out TimeSpan r)) { Marqueurs marqueur = new Marqueurs { Disques = disqueCourant, Adresse = r.Ticks, Date = r.ToString() }; MiseAJourObjet ms = new MiseAJourObjet(marqueur /*, md*/, disqueCourant.Trouve(arbreFichiers.Nodes)); if (ms.ShowDialog() == DialogResult.OK) { disqueCourant.AjoutMarqueur(marqueur, arbreFichiers); } } } }
public void AjoutMarqueur(Marqueurs marqueur, TreeView arbre) { Marqueurs.Add(marqueur); int marqueurImage = MainForm.imagesMusiciens.Images.IndexOfKey("a5"); int marque = MainForm.imagesMusiciens.Images.IndexOfKey("a6"); TreeNode tn = Trouve(arbre.Nodes); TreeNode marqueurs = null; foreach (TreeNode tnr in tn.Nodes) { if (tnr.Text == "Airs") { marqueurs = tnr; break; } } if (marqueurs is null) { TreeNode[] nodes = arbre.Nodes.Find(this.ToString(), true); if (nodes.Length == 0) { return; } marqueurs = new TreeNode("Airs", marqueurImage, marqueurImage) { Tag = Marqueurs, Name = "Airs" }; nodes[0].Nodes.Add(marqueurs); } TreeNode tnMarqueur = new TreeNode(marqueur.ToString(), marque, marque) { Tag = marqueur }; MainForm.md.Marqueurs.Add(marqueur); marqueurs.Nodes.Add(tnMarqueur); arbre.SelectedNode.ExpandAll(); MainForm.md.SaveChanges(); }
public void CréeNoeudDisque(TreeNode noeud) { // TreeNode noeud = arbre.SelectedNode; #region Noeud Disque int personne = MainForm.imagesMusiciens.Images.IndexOfKey("a0"); int film = MainForm.imagesMusiciens.Images.IndexOfKey("a1"); int orchestre = MainForm.imagesMusiciens.Images.IndexOfKey("a2"); int youtube = MainForm.imagesMusiciens.Images.IndexOfKey("a3"); int amazon = MainForm.imagesMusiciens.Images.IndexOfKey("a4"); int marque = MainForm.imagesMusiciens.Images.IndexOfKey("a5"); int marq = MainForm.imagesMusiciens.Images.IndexOfKey("a6"); int tv = MainForm.imagesMusiciens.Images.IndexOfKey("a7"); int dvd = MainForm.imagesMusiciens.Images.IndexOfKey("a8"); TreeNode noeudOpéra = new TreeNode(Opéra.Titre + " (" + Opéra.Année?.ToString() + ") " + Opéra.Musicien.Nom_Musicien + " " + Opéra.Musicien.Prénom_Musicien, film, film) { Tag = this, Name = this.ToString() }; if (!String.IsNullOrEmpty(Fichier)) { noeudOpéra.NodeFont = new Font(noeud.TreeView.Font, FontStyle.Italic); } if (Pochette != null) { MetajourPochette(noeud); } else { if (MainForm.imagesMusiciens.Images.ContainsKey("a1")) { noeudOpéra.ImageKey = "a1"; noeudOpéra.SelectedImageKey = noeudOpéra.ImageKey; } } noeudOpéra.Tag = Opéra; noeud.Nodes.Add(noeudOpéra); TreeNode source = new TreeNode(Année?.ToString() + " " + Source + " " + Editeur?.NomEditeur + " :" + Durée?.ToString() + " mn " + Vidéo + ", " + Audio); if (Code_Définition != null) { source.Text += ", " + Définition.Détail; } if (Source == "Téléchargement") { source.ImageIndex = tv; } else { source.ImageIndex = dvd; } noeud.Nodes.Add(source); if (!string.IsNullOrEmpty(ASIN)) { TreeNode asin = new TreeNode(ASIN, amazon, amazon) { Tag = new ASIN { Asin = ASIN } }; noeud.Nodes.Add(asin); } if (LienYouTube.Count > 0) { TreeNode th = new TreeNode("YouTube", youtube, youtube); noeud.Nodes.Add(th); foreach (LienYouTube lien in LienYouTube) { th.Nodes.Add(lien.CréeNoeudLien()); th.Tag = lien; } } if (Diriger.Count == 0) { TreeNode dir = new TreeNode("Inconnu", orchestre, orchestre) { Tag = new Diriger { Disques = this } }; noeud.Nodes.Add(dir); } else { foreach (Diriger dr in Diriger) { #region Orchestre et Direction TreeNode dir = new TreeNode(dr.Orchestres.Nom_Orchestre, orchestre, orchestre) { Tag = dr }; if (dr.Musicien != null) { TreeNode tdir = dr.Musicien.CréeNoeudMusicien(); dir.Nodes.Add(tdir); tdir.Tag = dr.Musicien; } noeud.Nodes.Add(dir); #endregion } } if (MiseEnScene.Count == 0) { TreeNode dir = new TreeNode("Metteur en scène inconnu", personne, personne); MiseEnScene mise = new MiseEnScene(); dir.Tag = mise; noeud.Nodes.Add(dir); } else { foreach (MiseEnScene ms in MiseEnScene) { #region Mise en scène TreeNode mis = ms.Musicien.CréeNoeudMusicien(); mis.Tag = ms; mis.Text = "Mise en scène : " + mis.Text + " " + ms.Salle; noeud.Nodes.Add(mis); #endregion } } foreach (Roles r in Opéra.Roles.OrderBy(rr => rr.Role)) { #region Interprétations TreeNode nn = new TreeNode(r.Role + " (" + r.Voix + ")"); var u = Interprétation.Where(y => y.Roles == r); Interprétation i; if (u.Count() > 0) { i = u.First(); nn.Text += " : " + i.Musicien.Prénom_Musicien + " " + i.Musicien.Nom_Musicien + " (" + i.Musicien.Instrument.Nom_Instrument + ")"; Musicien mus = i.Musicien; if (!MainForm.imagesMusiciens.Images.ContainsKey(mus.Code_Musicien.ToString())) { if (mus.Photo != null) { MemoryStream ms = new MemoryStream(mus.Photo); Image im = Image.FromStream(ms); MainForm.imagesMusiciens.Images.Add(mus.Code_Musicien.ToString(), im); nn.ImageKey = mus.Code_Musicien.ToString(); nn.SelectedImageKey = nn.ImageKey; im.Dispose(); } else { nn.ImageIndex = personne; nn.SelectedImageKey = nn.ImageKey; } } else { nn.ImageKey = mus.Code_Musicien.ToString(); nn.SelectedImageKey = nn.ImageKey; } } else { i = new Interprétation { Roles = r, Disques = this }; nn.Text += " : Inconnu"; nn.ImageIndex = personne; } nn.Tag = i; noeud.Nodes.Add(nn); #endregion } if (Marqueurs.Count > 0) { TreeNode marqueurs = new TreeNode("Airs", marque, marque) { Tag = "Airs" }; foreach (Marqueurs mar in Marqueurs.OrderBy(c => c.Adresse)) { TimeSpan time = TimeSpan.FromTicks((long)mar.Adresse); TreeNode marqueur = new TreeNode(mar.ToString(), marq, marq) { Tag = mar }; marqueurs.Nodes.Add(marqueur); } noeud.Nodes.Add(marqueurs); } noeudOpéra.ExpandAll(); #endregion }