private static void DeleteChildren(FolderManagerInputInfo inputInfo, FolderTreeElement element) { if (element.HasChildren) { foreach (var treeElement in element.Children) { var el = treeElement as FolderTreeElement; inputInfo.FolderTreeState.Cache.FolderTree.RemoveElement(el); DeleteChildren(inputInfo, el); } } else { inputInfo.FolderTreeState.Cache.FolderTree.RemoveElement(element); } FolderManagerCallbacks.IssueOnDeleteElement(element); }
private static void CreateContextCallback(object userData) { var inputInfo = userData as FolderManagerInputInfo; if (inputInfo != null) { var sortedList = inputInfo.FolderTreeState.Cache.FolderTree.TreeElements; sortedList.Sort((e1, e2) => e1.Id.CompareTo(e2.Id)); var lastID = sortedList[sortedList.Count - 1].Id + 1; var element = new FolderTreeElement("Folder Name", 0, lastID); inputInfo.FolderTreeState.Cache.FolderTree.AddElement(element); FolderManagerCallbacks.IssueOnAddElement(element); } FolderManager.RepaintClients(); }