Exemplo n.º 1
0
        public void AddItem(string fileName)
        {
            string             folderName = ResourceService.GetString("ICSharpCode.SharpDevelop.Commands.ProjectBrowser.SolutionItemsNodeText");
            SolutionFolderNode node       = null;

            foreach (TreeNode n in Nodes)
            {
                node = n as SolutionFolderNode;
                if (node != null && node.Folder.Name == folderName)
                {
                    break;
                }
                node = null;
            }
            if (node == null)
            {
                SolutionFolder newSolutionFolder = solution.CreateFolder(folderName);
                solution.AddFolder(newSolutionFolder);
                solution.Save();

                node = new SolutionFolderNode(solution, newSolutionFolder);
                node.AddTo(this);
            }
            node.AddItem(fileName);
        }
Exemplo n.º 2
0
        public override DragDropEffects GetDragDropEffect(IDataObject dataObject, DragDropEffects proposedEffect)
        {
            if (dataObject.GetDataPresent(typeof(SolutionFolderNode)))
            {
                SolutionFolderNode folderNode = (SolutionFolderNode)dataObject.GetData(typeof(SolutionFolderNode));

                if (folderNode.Folder.Parent != this.folder && !folderNode.Container.IsAncestorOf(Folder))
                {
                    return(DragDropEffects.Move);
                }
            }

            if (dataObject.GetDataPresent(typeof(SolutionItemNode)))
            {
                SolutionItemNode solutionItemNode = (SolutionItemNode)dataObject.GetData(typeof(SolutionItemNode));

                if (solutionItemNode.Parent != this)
                {
                    return(DragDropEffects.Move);
                }
            }

            if (dataObject.GetDataPresent(typeof(ProjectNode)))
            {
                ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));

                if (projectNode.Parent != this)
                {
                    return(DragDropEffects.Move);
                }
            }

            return(DragDropEffects.None);
        }
Exemplo n.º 3
0
        public override void DoDragDrop(IDataObject dataObject, DragDropEffects effect)
        {
            AbstractProjectBrowserTreeNode parentNode = null;

            if (dataObject.GetDataPresent(typeof(SolutionFolderNode)))
            {
                SolutionFolderNode folderNode = (SolutionFolderNode)dataObject.GetData(typeof(SolutionFolderNode));
                parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode;

                folderNode.Remove();
                folderNode.InsertSorted(this);

                SolutionFolderNode.MoveItem(folderNode.Folder, this.solution);
            }
            if (dataObject.GetDataPresent(typeof(ProjectNode)))
            {
                ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));
                parentNode = projectNode.Parent as AbstractProjectBrowserTreeNode;

                projectNode.Remove();
                projectNode.InsertSorted(this);
                projectNode.EnsureVisible();
                SolutionFolderNode.MoveItem(projectNode.Project, this.solution);
            }

            if (parentNode != null)
            {
                parentNode.Refresh();
            }


            solution.Save();
        }
Exemplo n.º 4
0
        protected override void Initialize()
        {
            Nodes.Clear();

            foreach (object treeObject in folder.Folders)
            {
                if (treeObject is IProject)
                {
                    NodeBuilders.AddProjectNode(this, (IProject)treeObject);
                }
                else if (treeObject is SolutionFolder)
                {
                    SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject);
                    folderNode.InsertSorted(this);
                }
                else
                {
                    MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject);
                }
            }

            // add solution items (=files) from project sections.
            foreach (SolutionItem item in folder.SolutionItems.Items)
            {
                new SolutionItemNode(Solution, item).InsertSorted(this);
            }
            base.Initialize();
        }
Exemplo n.º 5
0
        protected override void Initialize()
        {
            //Nodes.Clear();
            Items.Clear();

            foreach (var treeObject in folder.Items)
            {
                if (treeObject is IProject)
                {
                    NodeBuilders.AddProjectNode(this, (IProject)treeObject);
                }
                else if (treeObject is ISolutionFolder)
                {
                    SolutionFolderNode folderNode = new SolutionFolderNode((ISolutionFolder)treeObject);
                    folderNode.InsertSorted(this);
                }
                else if (treeObject is ISolutionFileItem)
                {
                    new SolutionItemNode((ISolutionFileItem)treeObject).InsertSorted(this);
                }
                else
                {
                    MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject);
                }
            }

            base.Initialize();
        }
Exemplo n.º 6
0
        public override void DoDragDrop(IDataObject dataObject, DragDropEffects effect)
        {
            if (!isInitialized)
            {
                Initialize();
                isInitialized = true;
            }

            if (dataObject.GetDataPresent(typeof(SolutionFolderNode)))
            {
                SolutionFolderNode             folderNode = (SolutionFolderNode)dataObject.GetData(typeof(SolutionFolderNode));
                AbstractProjectBrowserTreeNode parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode;

                folderNode.Remove();
                folderNode.InsertSorted(this);
                folderNode.EnsureVisible();
                this.folder.AddFolder(folderNode.Folder);
                if (parentNode != null)
                {
                    parentNode.Refresh();
                }
            }

            if (dataObject.GetDataPresent(typeof(SolutionItemNode)))
            {
                SolutionItemNode solutionItemNode = (SolutionItemNode)dataObject.GetData(typeof(SolutionItemNode));

                ISolutionFolderNode folderNode = (ISolutionFolderNode)solutionItemNode.Parent;
                folderNode.Container.SolutionItems.Items.Remove(solutionItemNode.SolutionItem);
                Container.SolutionItems.Items.Add(solutionItemNode.SolutionItem);

                solutionItemNode.Remove();
                solutionItemNode.InsertSorted(this);
                solutionItemNode.EnsureVisible();
                if (solutionItemNode.Parent != null)
                {
                    ((ExtTreeNode)solutionItemNode.Parent).Refresh();
                }
            }

            if (dataObject.GetDataPresent(typeof(ProjectNode)))
            {
                ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));

                projectNode.Remove();
                projectNode.InsertSorted(this);
                projectNode.EnsureVisible();
                this.folder.AddFolder(projectNode.Project);

                if (projectNode.Parent != null)
                {
                    ((ExtTreeNode)projectNode.Parent).Refresh();
                }
            }

            solution.Save();
        }
Exemplo n.º 7
0
        //public override void DoDragDrop(IDataObject dataObject, DragDropEffects effect)
        public virtual void DoDragDrop(IDataObject dataObject, DragDropEffects effect)
        {
            if (!IsInitialized)
            {
                Initialize();
                //isInitialized = true;
            }

            if (dataObject.GetDataPresent(typeof(SolutionFolderNode)))
            {
                SolutionFolderNode             folderNode = (SolutionFolderNode)dataObject.GetData(typeof(SolutionFolderNode));
                AbstractProjectBrowserTreeNode parentNode = folderNode.Parent as AbstractProjectBrowserTreeNode;

                folderNode.Remove();
                folderNode.InsertSorted(this);
                folderNode.EnsureVisible();
                MoveItem(folderNode.Folder, this.folder);

                if (parentNode != null)
                {
                    parentNode.Refresh();
                }
            }

            if (dataObject.GetDataPresent(typeof(SolutionItemNode)))
            {
                SolutionItemNode solutionItemNode = (SolutionItemNode)dataObject.GetData(typeof(SolutionItemNode));

                MoveItem(solutionItemNode.SolutionItem, this.folder);

                solutionItemNode.Remove();
                solutionItemNode.InsertSorted(this);
                solutionItemNode.EnsureVisible();
                if (solutionItemNode.Parent != null)
                {
                    ((ExtTreeNode)solutionItemNode.Parent).Refresh();
                }
            }

            if (dataObject.GetDataPresent(typeof(ProjectNode)))
            {
                ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));

                projectNode.Remove();
                projectNode.InsertSorted(this);
                projectNode.EnsureVisible();
                MoveItem(projectNode.Project, this.folder);

                if (projectNode.Parent != null)
                {
                    ((ExtTreeNode)projectNode.Parent).Refresh();
                }
            }

            solution.Save();
        }
		public override object Visit(SolutionFolderNode solutionFolderNode, object data)
		{
			if (folder == solutionFolderNode.Folder) {
				ExtTreeNode parent = solutionFolderNode.Parent as ExtTreeNode;
				solutionFolderNode.Remove();
				if (parent != null) {
					parent.Refresh();
				}
			} else {
				solutionFolderNode.AcceptChildren(this, data);
			}
			return data;
		}
Exemplo n.º 9
0
 public override object Visit(SolutionFolderNode solutionFolderNode, object data)
 {
     if (folder == solutionFolderNode.Folder)
     {
         ExtTreeNode parent = solutionFolderNode.Parent as ExtTreeNode;
         solutionFolderNode.Remove();
         if (parent != null)
         {
             parent.Refresh();
         }
     }
     else
     {
         solutionFolderNode.AcceptChildren(this, data);
     }
     return(data);
 }
Exemplo n.º 10
0
		protected override void Initialize()
		{
			Nodes.Clear();
			
			foreach (var treeObject in folder.Items) {
				if (treeObject is IProject) {
					NodeBuilders.AddProjectNode(this, (IProject)treeObject);
				} else if (treeObject is ISolutionFolder) {
					SolutionFolderNode folderNode = new SolutionFolderNode((ISolutionFolder)treeObject);
					folderNode.InsertSorted(this);
				} else if (treeObject is ISolutionFileItem) {
					new SolutionItemNode((ISolutionFileItem)treeObject).InsertSorted(this);
				} else {
					MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject);
				}
			}
			
			base.Initialize();
		}
Exemplo n.º 11
0
		public void AddItem(string fileName)
		{
			string folderName = ResourceService.GetString("ICSharpCode.SharpDevelop.Commands.ProjectBrowser.SolutionItemsNodeText");
			SolutionFolderNode node = null;
			foreach (TreeNode n in Nodes) {
				node = n as SolutionFolderNode;
				if (node != null && node.Folder.Name == folderName) {
					break;
				}
				node = null;
			}
			if (node == null) {
				ISolutionFolder newSolutionFolder = solution.CreateFolder(folderName);
				solution.Save();
				
				node = new SolutionFolderNode(newSolutionFolder);
				node.InsertSorted(this);
			}
			node.AddItem(fileName);
		}
Exemplo n.º 12
0
        public void ViewSolution(ISolution solution)
        {
            AbstractProjectBrowserTreeNode solutionNode = new SolutionNode(solution);

            treeView.Clear();
            solutionNode.AddTo(treeView);

            foreach (var treeObject in solution.Items)
            {
                if (treeObject is IProject)
                {
                    NodeBuilders.AddProjectNode(solutionNode, (IProject)treeObject);
                }
                else
                {
                    SolutionFolderNode folderNode = new SolutionFolderNode((ISolutionFolder)treeObject);
                    folderNode.InsertSorted(solutionNode);
                }
            }

            solutionNode.Expand();
        }
Exemplo n.º 13
0
        public override DragDropEffects GetDragDropEffect(IDataObject dataObject, DragDropEffects proposedEffect)
        {
            if (dataObject.GetDataPresent(typeof(SolutionFolderNode)))
            {
                SolutionFolderNode folderNode = (SolutionFolderNode)dataObject.GetData(typeof(SolutionFolderNode));

                if (folderNode.Folder.ParentFolder != solution)
                {
                    return(DragDropEffects.All);
                }
            }

            if (dataObject.GetDataPresent(typeof(ProjectNode)))
            {
                ProjectNode projectNode = (ProjectNode)dataObject.GetData(typeof(ProjectNode));

                if (projectNode.Parent != this)
                {
                    return(DragDropEffects.Move);
                }
            }
            return(DragDropEffects.None);
        }
Exemplo n.º 14
0
 public override void Paste()
 {
     SolutionFolderNode.DoPaste(this);
 }
		public virtual object Visit(SolutionFolderNode solutionFolderNode, object data)
		{
			solutionFolderNode.AcceptChildren(this, data);
			return data;
		}
Exemplo n.º 16
0
 public virtual object Visit(SolutionFolderNode solutionFolderNode, object data)
 {
     solutionFolderNode.AcceptChildren(this, data);
     return(data);
 }
Exemplo n.º 17
0
		protected override void Initialize()
		{
			Nodes.Clear();
			
			foreach (object treeObject in folder.Folders) {
				if (treeObject is IProject) {
					NodeBuilders.AddProjectNode(this, (IProject)treeObject);
				} else if (treeObject is SolutionFolder) {
					SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject);
					folderNode.AddTo(this);
				} else {
					MessageService.ShowWarning("SolutionFolderNode.Initialize(): unknown tree object : " + treeObject);
				}
			}
			
			// add solution items (=files) from project sections.
			foreach (SolutionItem item in folder.SolutionItems.Items) {
				new SolutionItemNode(Solution, item).AddTo(this);
			}
			base.Initialize();
		}
		public void ViewSolution(Solution solution)
		{
			AbstractProjectBrowserTreeNode solutionNode = new SolutionNode(solution);
			treeView.Clear();
			solutionNode.AddTo(treeView);
			
			foreach (object treeObject in solution.Folders) {
				if (treeObject is IProject) {
					NodeBuilders.AddProjectNode(solutionNode, (IProject)treeObject);
				} else {
					SolutionFolderNode folderNode = new SolutionFolderNode(solution, (SolutionFolder)treeObject);
					folderNode.InsertSorted(solutionNode);
				}
			}
			
			solutionNode.Expand();
		}