void OnSolutionLoaded(object sender, WorkspaceItemEventArgs e) { if (e.Item is Solution) { AddSolution((Solution)e.Item); } }
internal void NotifyItemRemovedGui (WorkspaceItem item, bool reloading) { Workspace ws = item as Workspace; if (ws != null) { ws.DescendantItemAdded -= NotifyDescendantItemAdded; ws.DescendantItemRemoved -= NotifyDescendantItemRemoved; } item.ConfigurationsChanged -= NotifyConfigurationsChanged; WorkspaceItemEventArgs args = new WorkspaceItemEventArgs (item); NotifyConfigurationsChanged (null, args); if (WorkspaceItemClosed != null) WorkspaceItemClosed (this, args); bool lastWorkspaceItemClosing = Items.Count == 0 && !reloading; if (lastWorkspaceItemClosing) { if (LastWorkspaceItemClosed != null) LastWorkspaceItemClosed (this, EventArgs.Empty); } MonoDevelop.Ide.TypeSystem.TypeSystemService.Unload (item); if (lastWorkspaceItemClosing) MonoDevelop.Ide.TypeSystem.MetadataReferenceCache.Clear (); NotifyDescendantItemRemoved (this, args); }
protected override void OnCloseWorkspace(object sender, WorkspaceItemEventArgs e) { base.OnCloseWorkspace(sender, e); IdeApp.ProjectOperations.CurrentSelectedSolutionItem = null; IdeApp.ProjectOperations.CurrentSelectedWorkspaceItem = null; IdeApp.ProjectOperations.CurrentSelectedItem = null; }
static void OnWorkspaceItemLoaded(object sender, WorkspaceItemEventArgs e) { string fileToLoad = GetUserTasksFilename(e.Item); userTasks.BeginTaskUpdates(); try { // Load User Tasks from xml file if (File.Exists(fileToLoad)) { XmlDataSerializer serializer = new XmlDataSerializer(new DataContext()); List <Task> ts = (List <Task>)serializer.Deserialize(fileToLoad, typeof(List <Task>)); foreach (Task t in ts) { t.WorkspaceObject = e.Item; userTasks.Add(t); } } } catch (Exception ex) { LoggingService.LogWarning("Could not load user tasks: " + fileToLoad, ex); } finally { userTasks.EndTaskUpdates(); } }
protected virtual void OnOpenWorkspace(object sender, WorkspaceItemEventArgs e) { if (treeView.GetNodeAtObject(e.Item) == null) { treeView.AddChild(e.Item); } }
void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { foreach (var sln in e.Item.GetAllSolutions()) { loadedSlns.Remove(sln); } comments.RemoveItemTasks(e.Item, true); }
void NotifyDescendantItemRemoved (object s, WorkspaceItemEventArgs args) { foreach (WorkspaceItem item in args.Item.GetAllItems<WorkspaceItem> ()) { OnItemUnloaded (item); if (item is Solution) UnsubscribeSolution ((Solution)item); } }
void HandleWorkspaceItemLoaded(object sender, WorkspaceItemEventArgs e) { if (ownerProjects != null) { return; } UpdateOwnerProjects(e.Item.GetAllItems <DotNetProject> ()); }
void OnEntryRemoved(object sender, WorkspaceItemEventArgs e) { ITreeBuilder tb = Context.GetTreeBuilder(e.Item); if (tb != null) { tb.Remove(); } }
static void WorkspaceItemOpened(object sender, WorkspaceItemEventArgs e) { var workspace = e.Item as Workspace; if (workspace != null && workspace.IsFolder()) { DesktopService.RecentFiles.UpdateDisplayNameForFolder(workspace.FileName); } }
void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { comments.RemoveItemTasks(e.Item, true); if (e.Item is Solution solution) { loadedSlns.Remove(solution); } }
static void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { // Save UserTasks to xml file SaveUserTasks(e.Item); // Remove solution tasks errors.RemoveItemTasks(e.Item, true); userTasks.RemoveItemTasks(e.Item, true); }
static void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { if (e.Item is Solution solution) { foreach (var proj in solution.GetAllProjects()) { projectTags.Remove(proj); } } }
void OnEntryAdded(object sender, WorkspaceItemEventArgs e) { ITreeBuilder tb = Context.GetTreeBuilder(e.Item.ParentWorkspace); if (tb != null) { tb.AddChild(e.Item, true); tb.Expanded = true; } }
void OnWorkspaceItemLoaded(object sender, WorkspaceItemEventArgs e) { comments.BeginTaskUpdates(); try { LoadWorkspaceItemContents(e.Item); } finally { comments.EndTaskUpdates(); } }
void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { foreach (var sln in e.Item.GetAllSolutions()) { if (loadedSlns.Remove(sln)) { sln.SolutionItemAdded -= HandleSolutionItemAdded; } } comments.RemoveItemTasks(e.Item, true); }
void OnCombineOpened(object sender, WorkspaceItemEventArgs args) { try { Solution sol = args.Item as Solution; if (sol != null && sol.StartupItem != null) { fb.CurrentDir = sol.StartupItem.BaseDirectory; } } catch { fb.CurrentDir = Environment.GetFolderPath(Environment.SpecialFolder.Personal); } }
void NotifyDescendantItemAdded (object s, WorkspaceItemEventArgs args) { // If a top level item has been moved to a child item, remove it from // the top if (s != this && Items.Contains (args.Item)) Items.Remove (args.Item); foreach (WorkspaceItem item in args.Item.GetAllItems<WorkspaceItem> ()) { if (item is Solution) SubscribeSolution ((Solution)item); OnItemLoaded (item); } }
void OnWorkspaceItemUnloaded (object sender, WorkspaceItemEventArgs e) { comments.RemoveItemTasks (e.Item, true); var solution = e.Item as Solution; if (solution != null) { loadedSlns.Remove (solution); foreach (Project p in solution.GetAllProjects ()) { projectTags.Remove (p); } } }
void OnSolutionUnloaded(object sender, WorkspaceItemEventArgs e) { if (e.Item is Solution) { RegistryInfo reg; if (solutions.TryGetValue((Solution)e.Item, out reg)) { var nav = tree.BuilderContext.GetTreeBuilder(reg); if (nav != null) { nav.Remove(); } } } }
static async void OnWorkspaceItemClosed(object sender, WorkspaceItemEventArgs args) { if (args.Item is MonoDevelop.Projects.Solution sol) { var ws = await TypeSystemService.GetWorkspaceAsync(sol); lock (lockObject) { if (cachedUntilViewCreated == null) { return; } cachedUntilViewCreated = cachedUntilViewCreated.Where(x => x.Value.Workspace != ws).ToDictionary(x => x.Key, x => x.Value); } } }
void HandleWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e) { if (ownerProjects == null) { return; } foreach (var p in e.Item.GetAllItems <DotNetProject> ()) { RemoveOwnerProject(p); } if (ownerProjects.Count == 0) { ownerProjects = null; DocumentContext.AttachToProject(null); } }
void NotifyItemAddedGui (WorkspaceItem item, bool reloading) { Workspace ws = item as Workspace; if (ws != null) { ws.DescendantItemAdded += NotifyDescendantItemAdded; ws.DescendantItemRemoved += NotifyDescendantItemRemoved; } item.ConfigurationsChanged += NotifyConfigurationsChanged; WorkspaceItemEventArgs args = new WorkspaceItemEventArgs (item); NotifyDescendantItemAdded (this, args); NotifyConfigurationsChanged (null, args); if (Items.Count == 1 && !reloading) { IdeApp.Workbench.CurrentLayout = "Solution"; if (FirstWorkspaceItemOpened != null) FirstWorkspaceItemOpened (this, args); } if (WorkspaceItemOpened != null) WorkspaceItemOpened (this, args); }
static void OnWorkspaceItemRemoved(object s, WorkspaceItemEventArgs args) { Unload(args.Item); }
void OnOpenCombine(object sender, WorkspaceItemEventArgs e) { treeView.LoadTree(e.Item); }
void HandleSolutionSaved(object sender, WorkspaceItemEventArgs e) { UpdateCombos(); }
void OnCloseCombine(object sender, WorkspaceItemEventArgs e) { treeView.Clear(); }
protected virtual void OnOpenWorkspace(object sender, WorkspaceItemEventArgs e) { treeView.AddChild(e.Item); }
protected virtual void OnCloseWorkspace(object sender, WorkspaceItemEventArgs e) { treeView.RemoveChild(e.Item); }
void OnEntryChanged(object sender, WorkspaceItemEventArgs e) { UpdateTests(); }