private void HandleExpandChanging(object sender, JetListViewNodeEventArgs e) { if (!e.Node.Expanded) { _lastExpandingNode = e.Node; } }
public bool FindResourceNode(IResource res) { ArrayList parentStack = new ArrayList(); IResource parent = res; do { parentStack.Insert(0, parent); parent = parent.GetLinkProp(_parentProp); if (parent == null) { return(false); } } while(parent != _rootResource); JetListViewNode node = null; foreach (IResource parentRes in parentStack) { node = _listView.NodeCollection.NodeFromItem(node, parentRes); if (node == null) { break; } if (parentRes == res) { return(true); } node.Expanded = true; } return(false); }
[Test] public void ClickWithNoSelection() { JetListViewNode item = _nodeCollection.Add("Item1"); _model.HandleMouseDown(null, Keys.None); Assert.IsFalse(_model.IsNodeFocused(item)); }
public bool AcceptNode(JetListViewNode node) { IResource res = (IResource)node.Data; if (res.Type == FilterManagerProps.ConditionResName || res.Type == FilterManagerProps.ConditionTemplateResName) { return(UnusedConditions.IndexOf(res.Id) >= 0); } else if (res.Type == FilterManagerProps.ConditionGroupResName) { IResourceList condInGroup = res.GetLinksOfType(FilterManagerProps.ConditionResName, Core.Props.Parent).Union (res.GetLinksOfType(FilterManagerProps.ConditionTemplateResName, Core.Props.Parent)); foreach (IResource cond in condInGroup) { string appResType = cond.GetStringProp(Core.Props.ContentType); if (ResourceTypeHelper.IsResourceTypeActive(appResType) && ResTypesIntersect(appResType, UsedResTypes)) { return(true); } } } return(false); }
[Test] public void RowBounds() { _nodeCollection.Add("Test"); _nodeCollection.Add("Test2"); _groupProvider.SetGroup("Test2", "Test"); IEnumerator enumerator = _groupCollection.GetFullEnumerator(); enumerator.MoveNext(); GroupHeaderNode groupHeaderNode = (GroupHeaderNode)enumerator.Current; enumerator.MoveNext(); JetListViewNode testNode = (JetListViewNode)enumerator.Current; enumerator.MoveNext(); JetListViewNode test2Node = (JetListViewNode)enumerator.Current; int startY, endY; Assert.IsTrue(_rowListRenderer.GetRowBounds(groupHeaderNode, out startY, out endY)); Assert.AreEqual(0, startY); Assert.AreEqual(10, endY); Assert.IsTrue(_rowListRenderer.GetRowBounds(testNode, out startY, out endY)); Assert.AreEqual(10, startY); Assert.AreEqual(30, endY); Assert.IsTrue(_rowListRenderer.GetRowBounds(test2Node, out startY, out endY)); Assert.AreEqual(30, startY); Assert.AreEqual(50, endY); }
[Test] public void TopNodeOverwrite() { _nodeCollection.Add("Test"); _nodeCollection.Add("Test2"); _groupProvider.SetGroup("Test2", "Test"); IEnumerator enumerator = _groupCollection.GetFullEnumerator(); enumerator.MoveNext(); GroupHeaderNode groupHeaderNode = (GroupHeaderNode)enumerator.Current; enumerator.MoveNext(); JetListViewNode testNode = (JetListViewNode)enumerator.Current; enumerator.MoveNext(); JetListViewNode test2Node = (JetListViewNode)enumerator.Current; enumerator = _groupCollection.GetDirectionalEnumerator(test2Node, MoveDirection.Down); // this could overwrite top node of group to test2Node, and subsequent iteration would // return incorrect results enumerator.MoveNext(); enumerator = _groupCollection.GetDirectionalEnumerator(groupHeaderNode, MoveDirection.Down); VerifyGroupHeader(enumerator, "Test", true); VerifyNode(enumerator, "Test"); }
public bool SelectResource(IResource res) { if (res == null) { return(true); } JetListViewNode node = _listView.NodeCollection.NodeFromItem(res); if (node == null) { if (!FindResourceNode(res)) { return(false); } node = _listView.NodeCollection.NodeFromItem(res); } if (node != null && !node.FiltersAccept) { return(false); } if (_listView.Selection.Count == 1 && _listView.Selection [0] == res) { return(true); } _listView.Selection.SelectSingleItem(res); return(true); }
[Test] public void CategoriesInWorkspace() { IResource category1 = CategoryManager.CreateCategory("Category1", Core.CategoryManager.RootCategory); IResource category2 = CategoryManager.CreateCategory("Category2", category1); IResource category3 = CategoryManager.CreateCategory("Category3", Core.CategoryManager.RootCategory); IResource category4 = CategoryManager.CreateCategory("Category4", category3); _workspaceManager.AddResourceToWorkspaceRecursive(_workspace, category1); _workspaceManager.AddResourceToWorkspace(_workspace, category3); _treePane.RootResource = Core.ResourceTreeManager.ResourceTreeRoot; _treePane.Populate(); _treePane.SetActiveWorkspace(_workspace); Assert.AreEqual(1, _treePane.ResourceTree.JetListView.Nodes.Count); JetListViewNode categoriesNode = _treePane.ResourceTree.JetListView.Nodes [0]; Assert.AreEqual("Categories", categoriesNode.Data.ToString()); categoriesNode.Expanded = true; Assert.AreEqual(2, categoriesNode.Nodes.Count); JetListViewNode cat1Node = categoriesNode.Nodes [0]; Assert.AreEqual("Category1", cat1Node.Data.ToString()); cat1Node.Expanded = true; Assert.AreEqual(1, cat1Node.Nodes.Count); JetListViewNode cat3Node = categoriesNode.Nodes [1]; Assert.AreEqual("Category3", cat3Node.Data.ToString()); cat3Node.Expanded = true; Assert.IsFalse(cat3Node.Nodes [0].FiltersAccept); }
[Test] public void TestMouseDown() { JetListViewNode node = _nodeCollection.Add("Test"); _rowRenderer.HandleMouseDown(node, 10, 20, MouseButtons.Left, Keys.None); Assert.AreEqual(new Point(10, 3), _previewColumn.LastMouseDownPoint); }
private static JetListViewNode AddListViewNode(ChildNodeCollection nodes, ConversationNode node) { JetListViewNode lvNode = nodes.Add(node.Resource); node.LvNode = lvNode; return(node.LvNode); }
[Test] public void CompressIndent() // OM-8539 { SetupTreeStructureColumn(); MockJetListViewColumn col = new MockJetListViewColumn(); col.Width = 20; col.FixedSize = true; _columnCollection.Add(col); MockJetListViewColumn col2 = new MockJetListViewColumn(); col2.Width = 30; _columnCollection.Add(col2); MockJetListViewColumn col3 = new MockJetListViewColumn(); col3.Width = 30; _columnCollection.Add(col3); JetListViewNode node = _nodeCollection.Add("Test"); _rowRenderer.DrawRow(null, new Rectangle(0, 0, 100, 20), node, RowState.None); Assert.AreEqual(new Rectangle(20, 0, 20, 20), col.LastDrawItemRect); JetListViewNode child = _nodeCollection.Add("Child", node); _rowRenderer.DrawRow(null, new Rectangle(0, 0, 100, 20), child, RowState.None); Assert.AreEqual(new Rectangle(40, 0, 10, 20), col.LastDrawItemRect); Assert.AreEqual(new Rectangle(50, 0, 30, 20), col3.LastDrawItemRect); }
public void RemoveWrongParent() { JetListViewNode node = _nodeCollection.Add("Item1", null); _nodeCollection.Add("Item11", node); _nodeCollection.Remove("Item11", null); }
[Test] public void VirtualChildren() { JetListViewNode node = _nodeCollection.Add("Item1"); node.HasChildren = true; Assert.AreEqual(CollapseState.Collapsed, node.CollapseState); }
[Test] public void RemoveItem() { JetListViewNode node = _nodeCollection.Add("Item1", null); _nodeCollection.Remove("Item1", null); Assert.AreEqual(0, _nodeCollection.Nodes.Count); }
public override string GetToolTip(JetListViewNode node, Rectangle rc, ref bool needPlace) { IResource res = (IResource)node.Data; string toolTip = null; if (_itemToolTipCallback != null) { toolTip = _itemToolTipCallback(node.Data); } RichText richText = null; if (OwnerControl != null && OwnerControl.AutoToolTips) { richText = GetRichText(res); } if (richText != null && richText.GetSize().Width > rc.Width) { if (toolTip == null || toolTip.Length == 0) { toolTip = richText.Text; } else { toolTip = richText.Text + " (" + toolTip + ")"; } } else { needPlace = false; } return(toolTip); }
[Test] public void LastItem() { JetListViewNode node1 = _nodeCollection.Add("Item1", null); JetListViewNode node3 = _nodeCollection.Add("Item2", null); JetListViewNode node22 = _nodeCollection.Add("Item22", node3); Assert.AreEqual(node22, _nodeCollection.LastNode); }
[Test] public void NodeLevel() { JetListViewNode node = _nodeCollection.Add("Item1"); JetListViewNode node2 = _nodeCollection.Add("Item11", node); Assert.AreEqual(0, node.Level); Assert.AreEqual(1, node2.Level); }
[Test] public void NodeIndexer() { JetListViewNode node1 = _nodeCollection.Add("Item1", null); JetListViewNode node11 = _nodeCollection.Add("Item11", node1); Assert.AreEqual(node1, _nodeCollection.Nodes [0]); Assert.AreEqual(node11, _nodeCollection.Nodes [0].Nodes [0]); }
[Test] public void TestDrawRow() { Rectangle rc = new Rectangle(0, 0, 100, 27); JetListViewNode node = _nodeCollection.Add("Test"); _rowRenderer.DrawRow(null, rc, node, RowState.None); Assert.AreEqual(new Rectangle(0, 17, 100, 10), _previewColumn.LastDrawItemRect); }
public IEnumerator EnumerateItemsBackward(JetListViewNode node) { if (node == null) { node = _jetListView.Nodes[0]; } return(_jetListView.NodeCollection.EnumerateNodesBackward(node)); }
[Test] public void NodeAddedEvent() { _nodeCollection.NodeAdded += new JetListViewNodeEventHandler(HandleNodeEvent); JetListViewNode node = _nodeCollection.Add("Item1", null); Assert.AreEqual(1, _eventNodes.Count); Assert.AreEqual(node, _eventNodes [0]); }
[Test] public void TestDirectionalEnumeratorFromNode() { JetListViewNode testNode = _nodeCollection.Add("Test"); IEnumerator enumerator = _groupCollection.GetDirectionalEnumerator(testNode, MoveDirection.Down); VerifyNode(enumerator, "Test"); Assert.IsFalse(enumerator.MoveNext()); }
[Test] public void HandleMouseDown() { _nodeCollection.Add("Item1", null); JetListViewNode item2 = _nodeCollection.Add("Item2", null); _rowListRenderer.HandleMouseDown(10, 30, MouseButtons.Left, Keys.None); Assert.AreEqual(new Point(10, 13), _rowRenderer.LastMouseDownPoint); Assert.AreEqual(item2, _rowRenderer.LastMouseDownNode); }
[Test] public void InvalidateOnChildCountChange() { JetListViewNode node = _nodeCollection.Add("Parent"); _rowListRenderer.Invalidate += new InvalidateEventHandler(_rowListRenderer_Invalidate); _nodeCollection.Add("Child", node); Assert.AreEqual(1, _rowInvalidates.Count); }
[Test] public void GetRowAt() { JetListViewNode item = _nodeCollection.Add("Item1", null); JetListViewNode item2 = _nodeCollection.Add("Item2", null); Assert.AreEqual(item, _rowListRenderer.GetRowAt(10)); Assert.AreEqual(item2, _rowListRenderer.GetRowAt(20)); Assert.IsNull(_rowListRenderer.GetRowAt(40)); }
private void VerifyNode(IEnumerator enumerator, object data) { Assert.IsTrue(enumerator.MoveNext()); Assert.IsNotNull(enumerator.Current, "Expected node but found null"); JetListViewNode itemNode = enumerator.Current as JetListViewNode; Assert.IsNotNull(itemNode, "Expected JetListViewNode but found " + enumerator.Current.ToString()); Assert.AreEqual(data, itemNode.Data); }
[Test] public void NoSelectionChangeOnKeyUp() { JetListViewNode item1 = _nodeCollection.Add("Item1"); _model.HandleKeyDown(Keys.Down); _model.SelectionStateChanged += new ViewNodeStateChangeEventHandler(OnSelectionStateChanged); _model.HandleKeyDown(Keys.Down); Assert.AreEqual(0, _selectionStateChanges.Count); }
[Test] public void NoSelectionChangeOnClickSelected() { JetListViewNode item = _nodeCollection.Add("Item1", null); _model.HandleMouseDown(item, Keys.None); _model.SelectionStateChanged += new ViewNodeStateChangeEventHandler(OnSelectionStateChanged); _model.HandleMouseDown(item, Keys.None); Assert.AreEqual(0, _selectionStateChanges.Count); }
[Test] public void MouseSelect() { JetListViewNode item = _nodeCollection.Add("Item1", null); Assert.IsFalse(_model.IsNodeSelected(item)); _model.HandleMouseDown(item, Keys.None); Assert.IsTrue(_model.IsNodeSelected(item)); Assert.IsTrue(_model.IsNodeFocused(item)); }
[Test] public void ProcessEndKeyWithNoSelection() { _nodeCollection.Add("Item1"); JetListViewNode item2 = _nodeCollection.Add("Item2"); _model.HandleKeyDown(Keys.End); Assert.IsTrue(_model.IsNodeSelected(item2)); Assert.IsTrue(_model.IsNodeFocused(item2)); }