예제 #1
0
        public override void DeleteItem()
        {
            SolutionFolder folder = CurrentNode.DataItem as SolutionFolder;
            SolutionFolder parent = folder.ParentFolder;

            if (parent == null)
            {
                return;
            }

            bool yes = MessageService.Confirm(GettextCatalog.GetString("Do you really want to remove the folder '{0}' from '{1}'?", folder.Name, parent.Name), AlertButton.Remove);

            if (yes)
            {
                Solution sol = folder.ParentSolution;
                parent.Items.Remove(folder);
                folder.Dispose();
                IdeApp.ProjectOperations.Save(sol);
            }
        }
예제 #2
0
        public void SolutionBoundUnbound()
        {
            Solution sol = new Solution ();

            var e = new SomeItem ();
            Assert.AreEqual (0, e.BoundEvents);
            Assert.AreEqual (0, e.UnboundEvents);

            sol.RootFolder.AddItem (e);
            Assert.AreEqual (1, e.BoundEvents);
            Assert.AreEqual (0, e.UnboundEvents);
            Assert.AreEqual (1, e.InternalItem.BoundEvents);
            Assert.AreEqual (0, e.InternalItem.UnboundEvents);

            e.Reset ();
            sol.RootFolder.Items.Remove (e);
            Assert.AreEqual (0, e.BoundEvents);
            Assert.AreEqual (1, e.UnboundEvents);
            Assert.AreEqual (0, e.InternalItem.BoundEvents);
            Assert.AreEqual (1, e.InternalItem.UnboundEvents);

            e.Reset ();
            sol.RootFolder.AddItem (e);
            Assert.AreEqual (1, e.BoundEvents);
            Assert.AreEqual (0, e.UnboundEvents);
            Assert.AreEqual (1, e.InternalItem.BoundEvents);
            Assert.AreEqual (0, e.InternalItem.UnboundEvents);

            e.Reset ();
            sol.RootFolder.Items.Remove (e);
            Assert.AreEqual (0, e.BoundEvents);
            Assert.AreEqual (1, e.UnboundEvents);
            Assert.AreEqual (0, e.InternalItem.BoundEvents);
            Assert.AreEqual (1, e.InternalItem.UnboundEvents);

            e.Reset ();
            var f = new SolutionFolder ();
            f.AddItem (e);
            Assert.AreEqual (0, e.BoundEvents);
            Assert.AreEqual (0, e.UnboundEvents);
            Assert.AreEqual (0, e.InternalItem.BoundEvents);
            Assert.AreEqual (0, e.InternalItem.UnboundEvents);

            sol.RootFolder.AddItem (f);
            Assert.AreEqual (1, e.BoundEvents);
            Assert.AreEqual (0, e.UnboundEvents);
            Assert.AreEqual (1, e.InternalItem.BoundEvents);
            Assert.AreEqual (0, e.InternalItem.UnboundEvents);

            e.Reset ();
            sol.RootFolder.Items.Remove (f);
            Assert.AreEqual (0, e.BoundEvents);
            Assert.AreEqual (1, e.UnboundEvents);
            Assert.AreEqual (0, e.InternalItem.BoundEvents);
            Assert.AreEqual (1, e.InternalItem.UnboundEvents);

            f.Dispose ();
            sol.Dispose ();
        }