示例#1
0
        public void TestBeginUpdateOnlyCalledIfNecessary()
        {
            PutInNavigationMode(NavigationPane.NavigationMode.Objects);
            ClearTreeSelections();

            MW(delegate
            {
                MainWindowTreeBuilder builder = new MainWindowTreeBuilder(MainWindowWrapper.TreeView);
                VirtualTreeNode newRoot       = builder.CreateNewRootNode(TreeSearch.DefaultTreeSearch, NavigationPane.NavigationMode.Objects);
                MainWindowWrapper.TreeView.UpdateRootNodes(new [] { newRoot });  // update once to set all the node names properly
                MainWindowWrapper.TreeView.EndUpdate();

                short updateCount = GetTreeUpdateCount();

                MainWindowWrapper.TreeView.UpdateRootNodes(new[] { newRoot });  // update again: nothing should change this time

                short updateCount2 = GetTreeUpdateCount();

                Assert.AreEqual(updateCount, updateCount2, "BeginUpdate shouldn't have been called.");

                // this time there is a different node, so an update should occur
                newRoot = builder.CreateNewRootNode(TreeSearch.DefaultTreeSearch, NavigationPane.NavigationMode.Objects);
                newRoot.Nodes[0].Text = "bla";

                MainWindowWrapper.TreeView.UpdateRootNodes(new[] { newRoot });

                short updateCount3 = GetTreeUpdateCount();

                Assert.AreEqual(updateCount2 + 1, updateCount3, "BeginUpdate should have been called exactly once");

                MainWindowWrapper.TreeView.EndUpdate();

                Assert.AreEqual(0, GetTreeUpdateCount(), "FlickFreeTreeView didn't pass EndUpdate down to TreeView.");
            });
        }
 public void TestState1CorrectlyPopulatedInOrgView()
 {
     MW(() =>
     {
         MainWindowTreeBuilder _treeBuilder = new MainWindowTreeBuilder(MainWindowWrapper.TreeView);
         VirtualTreeNode newRoot            = _treeBuilder.CreateNewRootNode(new NavigationPane().Search, NavigationPane.NavigationMode.Objects);
         MainWindowWrapper.TreeView.UpdateRootNodes(new[] { newRoot });
         MainWindowWrapper.TreeView.EndUpdate();
         AssertTreeViewsSame(DeserializeTreeView("state1.treeview.orgview.xml").Nodes, MainWindowWrapper.TreeView.Nodes);
     });
 }
示例#3
0
 public void TestState1CorrectlyPopulatedInServerView()
 {
     MW(() =>
     {
         MainWindowTreeBuilder _treeBuilder = new MainWindowTreeBuilder(MainWindowWrapper.TreeView);
         VirtualTreeNode newRoot            = _treeBuilder.CreateNewRootNode(new TreeSearchBox().Search, TreeSearchBox.Mode.Infrastructure);
         MainWindowWrapper.TreeView.UpdateRootNodes(new[] { newRoot });
         MainWindowWrapper.TreeView.EndUpdate();
         AssertTreeViewsSame(DeserializeTreeView("state1.treeview.serverview.xml").Nodes, MainWindowWrapper.TreeView.Nodes);
     });
 }
示例#4
0
        public NavigationView()
        {
            InitializeComponent();

            panel1.BackColor = Program.TitleBarBorderColor;

            treeView.ImageList = Images.ImageList16;
            if (treeView.ItemHeight < 18)
            {
                treeView.ItemHeight = 18;
            }
            //otherwise it's too close together on XP and the icons crash into each other

            VirtualTreeNode n = new VirtualTreeNode(Messages.XENCENTER);

            treeView.Nodes.Add(n);
            treeView.SelectedNode = treeView.Nodes[0];

            treeBuilder = new MainWindowTreeBuilder(treeView);
            treeViewUpdateManager.Update += treeViewUpdateManager_Update;
        }
示例#5
0
        public NavigationView()
        {
            InitializeComponent();

            panel1.BackColor = Program.TitleBarBorderColor;

            treeView.ImageList = Images.ImageList16;
            if (treeView.ItemHeight < 18)
            {
                treeView.ItemHeight = 18;
            }
            //otherwise it's too close together on XP and the icons crash into each other

            if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
            {
                return;
            }

            treeBuilder                   = new MainWindowTreeBuilder(treeView);
            treeViewUpdateManager         = new UpdateManager(30 * 1000);
            treeViewUpdateManager.Update += treeViewUpdateManager_Update;
            selectionManager              = new SelectionManager();
        }
示例#6
0
        public NavigationView()
        {
            InitializeComponent();

            panel1.BackColor = Program.TitleBarBorderColor;

            treeView.ImageList = Images.ImageList16;
            if (treeView.ItemHeight < 18)
                treeView.ItemHeight = 18;
            //otherwise it's too close together on XP and the icons crash into each other

            VirtualTreeNode n = new VirtualTreeNode(Messages.XENCENTER);
            n.NodeFont = Program.DefaultFont;
            treeView.Nodes.Add(n);
            treeView.SelectedNode = treeView.Nodes[0];

            treeBuilder = new MainWindowTreeBuilder(treeView);
            treeViewUpdateManager.Update += treeViewUpdateManager_Update;
        }