private void RefreshChildNodes(TreeDataNode node, DataNode dataNode) { Dictionary <DataNode, TreeDataNode> currentNodes = new Dictionary <DataNode, TreeDataNode>(); foreach (TreeDataNode child in node.Nodes) { currentNodes.Add(child.Data, child); } node.Nodes.Clear(); foreach (DataNode child in dataNode.Nodes) { if (!currentNodes.ContainsKey(child)) { node.Nodes.Add(new TreeDataNode(child)); } else { node.Nodes.Add(currentNodes[child]); } } //foreach (TreeDataNode child in node.Nodes) // child.ContextMenuStrip = BuildNodeContextMenu(child.Tag as DataNode); if (node.Nodes.Count == 0 && dataNode.HasUnexpandedChildren) { ExpandNode(node); _mainOutlineView.ExpandItem(node); //node.Expand(); } _mainOutlineView.ReloadItem(node, true); }
private void ExpandNode(TreeDataNode node) { if (node == null || node.IsExpanded) { return; } //Console.WriteLine ("Expand Node: " + node.Data.NodeDisplay); node.IsExpanded = true; node.Nodes.Clear(); DataNode backNode = node.Data; if (!backNode.IsExpanded) { backNode.Expand(); } foreach (DataNode child in backNode.Nodes) { if (child != null) { node.AddNode(new TreeDataNode(child)); } } }
private TreeDataNode FindFrontNode(DataNode node) { Stack <DataNode> hierarchy; TreeDataNode frontNode = GetRootFromDataNodePath(node, out hierarchy); if (frontNode == null) { return(null); } while (hierarchy.Count > 0) { if (!frontNode.IsExpanded) { _mainOutlineView.ExpandItem(frontNode); _mainOutlineView.ReloadItem(frontNode); } DataNode childData = hierarchy.Pop(); foreach (TreeDataNode childFront in frontNode.Nodes) { if (childFront.Data == childData) { frontNode = childFront; break; } } } return(frontNode); }
private void CollapseBelow(DataNode node) { Stack <DataNode> hierarchy; TreeDataNode frontNode = GetRootFromDataNodePath(node, out hierarchy); if (frontNode == null) { return; } while (hierarchy.Count > 0) { if (!frontNode.IsExpanded) { return; } DataNode childData = hierarchy.Pop(); foreach (TreeDataNode childFront in frontNode.Nodes) { if (childFront.Data == childData) { frontNode = childFront; break; } } } if (frontNode.IsExpanded) { _mainOutlineView.CollapseItem(frontNode); frontNode.IsExpanded = false; } }
private void SearchNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanSearchNode) { return; } FindWindowController form = new FindWindowController(); if (RunWindow(form) != ModalResult.OK) { return; } _searchState = new SearchStateMac(this) { RootNode = node.Data, SearchName = form.NameToken, SearchValue = form.ValueToken, DiscoverCallback = SearchDiscoveryCallback, CollapseCallback = SearchCollapseCallback, EndCallback = SearchEndCallback, }; SearchNextNode(); }
public override void ItemDidCollapse(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { _main.CollapseNode(node); } }
public override void ItemDidExpand(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { //Console.WriteLine("Finished Expanding: " + node.Data.NodeDisplay); } }
public override void SelectionDidChange(NSNotification notification) { TreeDataNode node = _main.SelectedNode; if (node != null) { _main.UpdateUI(node.Data); } }
public override void WillDisplayCell(NSOutlineView outlineView, NSObject cell, NSTableColumn tableColumn, NSObject item) { ImageAndTextCell c = cell as ImageAndTextCell; TreeDataNode node = item as TreeDataNode; c.Title = node.CombinedName; c.Image = _main._iconRegistry.Lookup(node.Data.GetType()); //c.StringValue = node.Name; //throw new System.NotImplementedException (); }
public override void ItemWillExpand(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { //Console.WriteLine ("Preparing to expand: " + node.Data.NodeDisplay); _main.ExpandNode(node); } }
public override void ItemWillCollapse(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { //if (node.Data.NodeDisplay == "saves") // The root node //Console.WriteLine ("Uh-oh..."); //Console.WriteLine("Preparing to collapse: " + node.Data.NodeDisplay); } }
private void CopyNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanCopyNode) { return; } node.Data.CopyNode(); }
void OrgUnitTree_NodeDataBound(object sender, RadTreeNodeEventArgs e) { TreeDataNode dataNode = (TreeDataNode)e.Node.DataItem; if (dataNode.Type == TreeDataNodeType.OrgUnit) { e.Node.Attributes["OrgUnitId"] = dataNode.OrgUnitId.ToString(); } else { e.Node.Attributes["ResourceId"] = dataNode.ResourceId.ToString(); } e.Node.Attributes["DataNodeType"] = dataNode.Type.ToString(); }
private void MoveNodeDown(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanMoveNodeDown) { return; } node.Data.ChangeRelativePosition(1); RefreshChildNodes(node.Parent, node.Data.Parent); }
private void SearchDiscoveryCallback(DataNode node) { Console.WriteLine("Discovery: " + node.NodeDisplay); TreeDataNode frontNode = FindFrontNode(node); Console.WriteLine(" Front Node: " + frontNode.Data.NodeDisplay); _mainOutlineView.SelectRow(_mainOutlineView.RowForItem(frontNode), false); _mainOutlineView.ScrollRowToVisible(_mainOutlineView.RowForItem(frontNode)); //_nodeTree.SelectedNode = FindFrontNode(node); if (_searchForm != null) { _searchForm.Accept(); _searchForm = null; } }
private void RenameNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanRenameNode) { return; } if (node.Data.RenameNode()) { //node.Text = dataNode.NodeDisplay; UpdateUI(node.Data); } }
private void EditNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanEditNode) { return; } if (node.Data.EditNode()) { //node.Text = node.Data.NodeDisplay; UpdateUI(node.Data); } }
private void CreateNode(TreeDataNode node, TagType type) { if (node == null) { return; } if (!node.Data.CanCreateTag(type)) { return; } if (node.Data.CreateNode(type)) { //node.Text = dataNode.NodeDisplay; RefreshChildNodes(node, node.Data); UpdateUI(node.Data); } }
private void PasteNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanPasteIntoNode) { return; } if (node.Data.PasteNode()) { //node.Text = dataNode.NodeDisplay; RefreshChildNodes(node, node.Data); UpdateUI(node.Data); } }
private void CutNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanCutNode) { return; } if (node.Data.CutNode()) { TreeDataNode parent = node.Parent; UpdateUI(parent.Data); node.Remove(); _mainOutlineView.ReloadItem(parent, true); } }
private void CollapseNode(TreeDataNode node) { if (node == null || !node.IsExpanded) { return; } //Console.WriteLine("Collapse Node: " + node.Data.NodeDisplay); DataNode backNode = node.Data; if (backNode.IsModified) { return; } backNode.Collapse(); node.IsExpanded = false; node.Nodes.Clear(); }
private TreeDataNode GetRootFromDataNodePath(DataNode node, out Stack <DataNode> hierarchy) { hierarchy = new Stack <DataNode>(); while (node != null) { hierarchy.Push(node); node = node.Parent; } DataNode rootDataNode = hierarchy.Pop(); TreeDataNode frontNode = null; foreach (TreeDataNode child in _dataSource.Nodes) { if (child.Data == rootDataNode) { frontNode = child; } } return(frontNode); }
private void DeleteNode(TreeDataNode node) { if (node == null) { return; } if (!node.Data.CanDeleteNode) { return; } if (node.Data.DeleteNode()) { UpdateUI(node.Parent.Data); //UpdateNodeText(node.Parent); TreeDataNode parent = node.Parent; node.Remove(); _mainOutlineView.ReloadItem(parent, true); } }
private void UpdateUI() { if (_appDelegate == null) { return; } TreeDataNode selected = _mainOutlineView.ItemAtRow(_mainOutlineView.SelectedRow) as TreeDataNode; if (selected != null) { UpdateUI(selected.Data); } else { UpdateUI(new DataNode()); _appDelegate.MenuSave.Enabled = CheckModifications(); _appDelegate.MenuFind.Enabled = false; _appDelegate.MenuFindNext.Enabled = _searchState != null; _toolbarSave.Enabled = _appDelegate.MenuSave.Enabled; } }
private void AddObjectChildren(Type elementType) { ObjectWrapperNode = CreateNode(this, new FieldOrProperty(GetType(), nameof(ObjectWrapper)), elementType); }
private void trvResourceGrouping_NodeDataBound(object sender, RadTreeNodeEventArgs e) { TreeDataNode dataNode = (TreeDataNode)e.Node.DataItem; e.Node.Attributes["OrgUnitId"] = dataNode.OrgUnitId.ToString(); }