private void treeFiles_AfterNodeDrop(object sender, TreeDragDropEventArgs e) { TagInfo ti = (TagInfo)e.Node.Tag; OutputFolder oldParentFolder = Project.Instance.FindFolder(((TagInfo)e.OldParentNode.Tag).Id); OutputFolder newParentFolder = Project.Instance.FindFolder(((TagInfo)e.NewParentNode.Tag).Id); Node prevNode = e.Node.PrevNode; if (prevNode != null && ((TagInfo)prevNode.Tag).FileType == TagInfo.FileTypes.Folder) { // The user dropped just below a folder, so meant to add to that folder, so we must make the dragged node a child node, not a sibling. e.Node.PrevNode.Nodes.Add(e.Node); newParentFolder = Project.Instance.FindFolder(((TagInfo)prevNode.Tag).Id); } switch (ti.FileType) { case TagInfo.FileTypes.Folder: OutputFolder folder = Project.Instance.FindFolder(((TagInfo)e.Node.Tag).Id); oldParentFolder.Folders.Remove(folder); newParentFolder.Folders.Add(folder); break; case TagInfo.FileTypes.NormalFile: case TagInfo.FileTypes.ScriptFile: OutputFile normalFile = Project.Instance.FindFile(((TagInfo)e.Node.Tag).Id); oldParentFolder.RemoveFile(normalFile); newParentFolder.Files.Add(normalFile); break; default: throw new NotImplementedException("Not coded yet: " + ti.FileType); } Project.Instance.IsDirty = true; }
private void advTreeSel_AfterNodeDrop(object sender, TreeDragDropEventArgs e) { foreach (Node item in e.Nodes) { SearchItemV3_1 si = item.Tag as SearchItemV3_1; if (si != null) { m_viewModel.AddSelectedItem(si); } } InitTree(advTreeUnSel, m_viewModel.UnSelectedItems); InitTree(advTreeSel, m_viewModel.SelectedItems); labelSelectedCount.Text = "已经选择" + m_viewModel.SelectedItems.Count + "项"; }
private void _decisionTree_BeforeNodeDrop(object sender, TreeDragDropEventArgs e) { if (e.NewParentNode != null) { if (e.NewParentNode.Tag is NaryItemContext context) { if (context.BooleanType == null) { e.Cancel = true; } else { if (typeof(UnaryRuleNode).IsAssignableFrom(context.BooleanType) && e.NewParentNode.HasChildNodes) { e.Cancel = true; } } } else { e.Cancel = true; } } else { if (_decisionTree.Nodes.Count > 0) { e.Cancel = true; } else { _decisionTree.DisplayRootNode = e.Node; } } }
private void advTree1_AfterNodeDrop(object sender, TreeDragDropEventArgs e) { CheckChanged(); }
private void _diagrams_BeforeNodeDrop(object sender, TreeDragDropEventArgs e) { e.Cancel = e.NewParentNode != null; }
private void _decisionTree_AfterNodeDrop(object sender, TreeDragDropEventArgs e) { CompleteNode(e.Node); }