Пример #1
0
        public void Redraw()
        {
            FCategoryList.BeginUpdate();
            FCategoryList.Clear();

            var nodeInfos = NodeBrowser.NodeInfoFactory.NodeInfos.Where(ni => ni.Ignore == false && ni.Type != NodeType.Patch && ni.Type != NodeType.Text);

            foreach (var nodeInfo in nodeInfos)
            {
                Add(nodeInfo);
            }

            FCategoryList.EndUpdate();

            PendingRedraw = false;
        }
Пример #2
0
        public void TestObjectLifetime()
        {
            int createCount  = 0;
            int destroyCount = 0;

            var source = new SortedEditableList <MockObject, int>(mo => mo.Order);
            var target = new EditableCollection <MockObject>();

            Func <MockObject, MockObject> createMo = mo =>
            {
                createCount++;
                return(new MockObject(mo.Order));
            };

            Action <MockObject> destroyMo = mo =>
            {
                destroyCount++;
            };

            target.SyncWith(source, createMo, destroyMo);

            source.Add(new MockObject(0));

            Assert.AreEqual(1, createCount, "Create count");
            Assert.AreEqual(0, destroyCount, "Destroy count");

            var mock = new MockObject(-1);

            source.Add(mock);
            source.Add(new MockObject(-2));
            source.Add(new MockObject(10));

            Assert.AreEqual(4, createCount, "Create count");
            Assert.AreEqual(0, destroyCount, "Destroy count");

            source.Remove(mock);

            Assert.AreEqual(4, createCount, "Create count");
            Assert.AreEqual(1, destroyCount, "Destroy count");

            Assert.AreEqual(source.Count, target.Count);

            source.Clear();

            Assert.AreEqual(source.Count, target.Count);
            Assert.AreEqual(createCount, destroyCount, "Create count doesn't match destroy count after source.Clear()");
        }
Пример #3
0
        public void Redraw()
        {
            FCategoryTreeViewer.SuspendLayout();
            FCategoryList.BeginUpdate();
            FCategoryList.Clear();

            var nodeInfos = NodeBrowser.NodeInfoFactory.NodeInfos.Where(ni => ni.Ignore == false && ni.Type != NodeType.Patch && ni.Type != NodeType.Text && NodeBrowser.CategoryFilter.CategoryVisible(ni.Category));

            foreach (var nodeInfo in nodeInfos)
            {
                Add(nodeInfo);
            }

            FCategoryList.EndUpdate();
            FCategoryTreeViewer.ResumeLayout();

            PendingRedraw = false;
        }