void OnSolutionLoaded(object sender, WorkspaceItemEventArgs e)
 {
     if (e.Item is Solution)
     {
         AddSolution((Solution)e.Item);
     }
 }
Exemplo n.º 2
0
		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);
		}
Exemplo n.º 3
0
 protected override void OnCloseWorkspace(object sender, WorkspaceItemEventArgs e)
 {
     base.OnCloseWorkspace(sender, e);
     IdeApp.ProjectOperations.CurrentSelectedSolutionItem  = null;
     IdeApp.ProjectOperations.CurrentSelectedWorkspaceItem = null;
     IdeApp.ProjectOperations.CurrentSelectedItem          = null;
 }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 7
0
		void NotifyDescendantItemRemoved (object s, WorkspaceItemEventArgs args)
		{
			foreach (WorkspaceItem item in args.Item.GetAllItems<WorkspaceItem> ()) {
				OnItemUnloaded (item);
				if (item is Solution)
					UnsubscribeSolution ((Solution)item);
			}
		}
Exemplo n.º 8
0
 void HandleWorkspaceItemLoaded(object sender, WorkspaceItemEventArgs e)
 {
     if (ownerProjects != null)
     {
         return;
     }
     UpdateOwnerProjects(e.Item.GetAllItems <DotNetProject> ());
 }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 11
0
        void OnWorkspaceItemUnloaded(object sender, WorkspaceItemEventArgs e)
        {
            comments.RemoveItemTasks(e.Item, true);

            if (e.Item is Solution solution)
            {
                loadedSlns.Remove(solution);
            }
        }
Exemplo n.º 12
0
        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);
         }
     }
 }
Exemplo n.º 14
0
        void OnEntryAdded(object sender, WorkspaceItemEventArgs e)
        {
            ITreeBuilder tb = Context.GetTreeBuilder(e.Item.ParentWorkspace);

            if (tb != null)
            {
                tb.AddChild(e.Item, true);
                tb.Expanded = true;
            }
        }
Exemplo n.º 15
0
 void OnWorkspaceItemLoaded(object sender, WorkspaceItemEventArgs e)
 {
     comments.BeginTaskUpdates();
     try {
         LoadWorkspaceItemContents(e.Item);
     }
     finally {
         comments.EndTaskUpdates();
     }
 }
Exemplo n.º 16
0
 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);
 }
Exemplo n.º 17
0
 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);
     }
 }
Exemplo n.º 18
0
		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);
			}
		}
Exemplo n.º 19
0
		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();
             }
         }
     }
 }
Exemplo n.º 21
0
        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);
                }
            }
        }
Exemplo n.º 22
0
 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);
     }
 }
Exemplo n.º 23
0
		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);
		}
Exemplo n.º 24
0
 static void OnWorkspaceItemRemoved(object s, WorkspaceItemEventArgs args)
 {
     Unload(args.Item);
 }
Exemplo n.º 25
0
 void OnOpenCombine(object sender, WorkspaceItemEventArgs e)
 {
     treeView.LoadTree(e.Item);
 }
Exemplo n.º 26
0
 void HandleSolutionSaved(object sender, WorkspaceItemEventArgs e)
 {
     UpdateCombos();
 }
Exemplo n.º 27
0
 void OnCloseCombine(object sender, WorkspaceItemEventArgs e)
 {
     treeView.Clear();
 }
Exemplo n.º 28
0
 protected virtual void OnOpenWorkspace(object sender, WorkspaceItemEventArgs e)
 {
     treeView.AddChild(e.Item);
 }
Exemplo n.º 29
0
 protected virtual void OnCloseWorkspace(object sender, WorkspaceItemEventArgs e)
 {
     treeView.RemoveChild(e.Item);
 }
Exemplo n.º 30
0
 void OnEntryChanged(object sender, WorkspaceItemEventArgs e)
 {
     UpdateTests();
 }