private void m_setAsMain_Click(object sender, EventArgs e) { if (m_codeTabs.SelectedIndex == -1) { m_projectTree.RefreshTree(); return; } if (m_project.ContainsFile(m_pageInfos[m_codeTabs.SelectedIndex].SourceFile)) { m_project.SetMainfile(m_pageInfos[m_codeTabs.SelectedIndex].SourceFile); m_projectTree.RefreshTree(); SetStatusMessage("Le fichier '" + m_project.MainFile + "' est désormais le fichier principal."); } else { MessageBox.Show("Le fichier " + m_pageInfos[m_codeTabs.SelectedIndex].SourceFile + " n'existe pas dans le projet !", "Opération invalide"); } }
/// <summary> /// Se produit lorsque l'utilisateur clique sur un noued avec la souris. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnNodeClicked(object sender, TreeNodeMouseClickEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { SelectedNode = e.Node; if (e.Node is ProjectTreeNode) { ProjectTreeNode node = ((ProjectTreeNode)e.Node); // Noeud de fichier. // Affiche le menu ContextMenuStrip menu = new ContextMenuStrip(); // Ajouter un fichier existant. ToolStripItem removeFile = new ToolStripMenuItem("Supprimer..."); removeFile.Click += (object s, EventArgs ev) => { // Tentative de suppression du main. if (node.File == m_projectNode.MainFile) { MessageBox.Show("Impossible de supprimer le fichier principal du projet.", "Opération impossible", MessageBoxButtons.OK); return; } m_projectNode.SourceFiles.Remove(node.File); Nodes["project"].Nodes[node.Name].Remove(); }; menu.Items.Add(removeFile); // Separateur menu.Items.Add(new ToolStripSeparator()); // Propriétés ToolStripItem compilationTarget = new ToolStripMenuItem("Définir comme cible de compilation."); compilationTarget.Click += (object s, EventArgs ev) => { string old = System.IO.Path.GetFileName(m_projectNode.MainFile); if (old != null) { if (Nodes["project"].Nodes[old] != null) { Nodes["project"].Nodes[old].Text = Nodes["project"].Nodes[old].Name; } } ; m_projectNode.SetMainfile(node.File); node.Text = node.Name + " (main)"; }; menu.Items.Add(compilationTarget); menu.Show(this, e.X, e.Y); } else // Noeud principal. { // Affiche le menu ContextMenuStrip menu = new ContextMenuStrip(); // Ajouter un nouveau fichier ToolStripItem addNew = new ToolStripMenuItem("Ajouter un nouveau fichier..."); addNew.Click += AddNewFile; menu.Items.Add(addNew); // Ajouter un fichier existant. ToolStripItem addExisting = new ToolStripMenuItem("Ajouter un fichier existant..."); addExisting.Click += AddExistingFile; menu.Items.Add(addExisting); // Separateur menu.Items.Add(new ToolStripSeparator()); // Propriétés ToolStripItem item = new ToolStripMenuItem("Propriétés..."); item.Click += OpenPropertiesWindow; menu.Items.Add(item); menu.Show(this, e.X, e.Y); } } }