public ProjectNode(IProject project) { sortOrder = 1; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ProjectNode"; this.project = project; Text = project.Name; autoClearNodes = false; if (project is MissingProject) { OpenedImage = ClosedImage = "ProjectBrowser.MissingProject"; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/MissingProjectNode"; } else if (project is UnknownProject) { OpenedImage = ClosedImage = "ProjectBrowser.ProjectWarning"; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/UnknownProjectNode"; } else { OpenedImage = ClosedImage = IconService.GetImageForProjectType(project.Language); } Tag = project; if (project.ParentSolution != null) { project.ParentSolution.Preferences.StartupProjectChanged += OnStartupProjectChanged; OnStartupProjectChanged(null, null); } }
public ProjectNode(IProject project) : base(project) { sortOrder = 0; Text = Project.Name; SetIcon(IconService.GetImageForProjectType(Project.Language)); Nodes.Add(new TreeNode(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Pads.ClassScout.LoadingNode}"))); }
private void PopulateCombo() { IconService service = (IconService)ServiceManager.GetService(typeof(IconService)); Combine cmb = IdeApp.ProjectOperations.CurrentOpenCombine; if (cmb != null) { CombineEntry selected = IdeApp.ProjectOperations.CurrentSelectedCombineEntry; TreeIter activeIter = TreeIter.Zero; foreach (Project proj in cmb.Entries) { Gdk.Pixbuf pixbuf = null; if (proj is DotNetProject && (proj as DotNetProject).LanguageBinding == null) { pixbuf = MonoDevelop.Core.Gui.Services.Resources.GetIcon(Stock.DialogError); } else { string icon = service.GetImageForProjectType(proj.ProjectType); pixbuf = MonoDevelop.Core.Gui.Services.Resources.GetIcon(icon); } TreeIter iter = store.AppendValues(pixbuf, "<b>" + proj.Name + "</b>", proj, null); foreach (ProjectFile file in proj.ProjectFiles) { if (file.Subtype != Subtype.Directory) { continue; } pixbuf = MonoDevelop.Core.Gui.Services.Resources.GetIcon(Stock.Directory); store.AppendValues(iter, pixbuf, file.Name, proj, file); } if (proj == selected) { activeIter = iter; } } if (activeIter.Equals(TreeIter.Zero)) { if (store.GetIterFirst(out activeIter)) { this.SetActiveIter(activeIter); } } else { this.SetActiveIter(activeIter); } } }
public ProjectNode(IProject project) { if (project == null) { throw new ArgumentNullException("project"); } sortOrder = 1; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ProjectNode"; this.project = project; Text = project.Name; autoClearNodes = false; if (project is MissingProject) { OpenedImage = ClosedImage = "ProjectBrowser.MissingProject"; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/MissingProjectNode"; Text += StringParser.Parse(" (${res:Global.ErrorText})"); } else if (project is ErrorProject) { OpenedImage = ClosedImage = "ProjectBrowser.ProjectWarning"; this.ContextmenuAddinTreePath = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/UnknownProjectNode"; Text += StringParser.Parse(" (${res:Global.ErrorText})"); } else { OpenedImage = ClosedImage = IconService.GetImageForProjectType(project.Language); if (project.IsReadOnly) { Text += StringParser.Parse(" (${res:Global.ReadOnly})"); } } Tag = project; if (project.ParentSolution != null) { project.ParentSolution.StartupProjectChanged += OnStartupProjectChanged; OnStartupProjectChanged(null, null); } }
/// <summary> /// Scans the solution and creates a hierarchy of /// support objects for each project and file /// within each project. /// </summary> private void ScanSolution() { if (m_summaryList == null) { m_summaryList = new List <LineCountSummary>(); } m_summaryList.Clear(); Solution solution = ProjectService.OpenSolution; if (solution != null) // OpenSolution is null when no solution is opened { FileInfo fiSolution = new FileInfo(solution.FileName); LineCountSummary summary = new LineCountSummary("All Projects", m_projIconMappings["{00000000-0000-0000-0000-000000000000}"]); m_summaryList.Add(summary); // Configure progress bars tsprgTotal.Minimum = 0; tsprgTotal.Step = 1; tsprgTask.Minimum = 0; tsprgTask.Step = 1; List <IProject> projects = new List <IProject>(solution.Projects); tsprgTotal.Maximum = projects.Count; tsprgTask.Value = 0; foreach (IProject fiProject in projects) { tsprgTotal.PerformStep(); string projName, lang; if (fiProject.FileName.IndexOf("://") != -1) { projName = fiProject.FileName; // this is a web project lang = "{00000001-0000-0000-0000-000000000000}"; } else { projName = fiProject.Name; lang = fiProject.TypeGuid; } int iconIndex; #if IMPR1 iconIndex = projectImageListHelper.GetIndex(IconService.GetImageForProjectType(fiProject.Language ?? "defaultLanguageName")); #else m_projIconMappings.TryGetValue(lang, out iconIndex); // default icon 0 #endif summary = new LineCountSummary(projName, iconIndex); m_summaryList.Add(summary); tsprgTask.Maximum = 0; tsprgTotal.Value = 0; ScanProjectItems(fiProject.Items, summary); } tsprgTask.Value = tsprgTask.Maximum; tsprgTotal.Value = tsprgTotal.Maximum; } else { MessageBox.Show("There is no solution open in SharpDevelop.", "Line Counter"); } }
void ProjectTreeScanningBackgroundWorkerRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (this.IsDisposed || this.projectResourcesTreeView.IsDisposed) { // This can happen when the dialog is closed before // the scan has finished if (!e.Cancelled && e.Error == null) { TreeScanResult r = e.Result as TreeScanResult; if (r != null) { DisposeNodeImages(r.Root); } } return; } this.projectResourcesTreeView.Nodes.Clear(); if (e.Cancelled) { return; } if (e.Error != null) { MessageService.ShowError(e.Error, "Error in project tree scanning thread"); } TreeScanResult result = e.Result as TreeScanResult; if (result == null) { return; } this.projectResourcesTreeView.BeginUpdate(); ImageList imageList = new ImageList(); imageList.ColorDepth = ColorDepth.Depth32Bit; imageList.Images.Add(IconService.GetBitmap(IconService.GetImageForProjectType(this.project.Language))); imageList.Images.Add(WinFormsResourceService.GetBitmap("ProjectBrowser.Folder.Closed")); imageList.Images.Add(IconService.GetBitmap(IconService.GetImageForFile("a.resx"))); imageList.Images.Add(WinFormsResourceService.GetBitmap("Icons.16x16.Field")); imageList.Images.Add(WinFormsResourceService.GetBitmap("Icons.16x16.Error")); this.projectResourcesTreeView.ImageList = imageList; this.projectResourcesTreeView.Nodes.Add(result.Root); if (result.PreSelection != null) { result.PreSelection.EnsureVisible(); this.projectResourcesTreeView.SelectedNode = result.PreSelection; result.PreSelection.Expand(); } else { result.Root.Expand(); } this.projectResourcesTreeView.EndUpdate(); if (result.PreSelection != null) { this.projectResourcesTreeView.Focus(); } }