public void LoadProject(FileInfo projectFile) { // Detect if project is already in tree and simply select the node and return; foreach (TreeNode rootNod in treProject.Nodes) { if (rootNod.Tag is RaveProject && RaveProject.IsSame((RaveProject)rootNod.Tag, projectFile)) { treProject.SelectedNode = rootNod; rootNod.Expand(); return; } } RaveProject newProject = new RaveProject(projectFile); TreeNode tnProject = newProject.LoadNewProject(treProject, cmsProject); tnProject.Text = GetUniqueProjectName(newProject, tnProject.Text); // Load default project view if (Properties.Settings.Default.LoadDefaultProjectView) { try { // Find the default project view among all the tree nodes List <TreeNode> allNodes = new List <TreeNode>(); foreach (TreeNode node in tnProject.Nodes) { RaveProject.GetAllNodes(allNodes, node); } TreeNode nodDefault = allNodes.FirstOrDefault(x => x.Tag is ProjectTree.ProjectView && ((ProjectTree.ProjectView)x.Tag).IsDefaultView); if (nodDefault is TreeNode) { AddChildrenToMap(nodDefault); } } catch (Exception ex) { // Loading the default project view is optional. Do nothing in production System.Diagnostics.Debug.Assert(false, ex.Message); } } AssignContextMenus(tnProject); }
public void LoadProject(FileInfo projectFile) { // Detect if project is already in tree and simply select the node and return; foreach (TreeNode rootNod in treProject.Nodes) { if (rootNod.Tag is RaveProject && RaveProject.IsSame((RaveProject)rootNod.Tag, projectFile)) { treProject.SelectedNode = rootNod; rootNod.Expand(); return; } } RaveProject newProject = new RaveProject(projectFile); TreeNode tnProject = newProject.LoadNewProject(treProject); AssignContextMenus(tnProject); }