private void fl_CanSelectItemNeeded(object sender, FastTreeNS.BoolItemEventArgs e) { switch (e.ItemIndex % 20) { case 15: e.Result = false; break; } }
private void fl_ItemBackColorNeeded(object sender, FastTreeNS.ColorItemEventArgs e) { if (e.ItemIndex == 10) e.Result = Color.SteelBlue; if (e.ItemIndex == 8) e.Result = DateTime.Now.Millisecond > 500 ? Color.Transparent : Color.Tomato; }
private void fl_ItemForeColorNeeded(object sender, FastTreeNS.ColorItemEventArgs e) { if (e.ItemIndex == 1) e.Result = Color.Red; if (e.ItemIndex == 10) e.Result = Color.White; }
private void fl_ItemTextNeeded(object sender, FastTreeNS.StringItemEventArgs e) { if (e.ItemIndex == 0) e.Result = "Time " + DateTime.Now.TimeOfDay; else e.Result = "Item " + e.ItemIndex; }
private void fl_PaintItem(object sender, FastTreeNS.PaintItemContentEventArgs e) { if (e.Info.ItemIndex > 12 && e.Info.ItemIndex < 16) { //draw default background fl.DrawItemBackgound(e.Graphics, e.Info); //draw default selection if (fl.SelectedItemIndexes.Contains(e.Info.ItemIndex)) fl.DrawSelection(e.Graphics, e.Info); //draw icon fl.DrawItemIcons(e.Graphics, e.Info); //draw custom bold text using (var font = new Font(Font, FontStyle.Bold)) e.Graphics.DrawString(e.Info.Text, font, Brushes.Black, e.Info.TextRect); } else if (e.Info.ItemIndex == 18) { //draw whole item fl.DrawItemWhole(e.Graphics, e.Info); //draw border e.Graphics.DrawRectangle(Pens.Gray, e.Info.TextAndIconRect); } else if (e.Info.ItemIndex == 3) { //draw whole item fl.DrawItemWhole(e.Graphics, e.Info); //draw second icon e.Graphics.DrawImage(imageList1.Images[1], new Point(e.Info.X - 16, e.Info.Rect.Top)); } else //default drawing fl.DrawItemWhole(e.Graphics, e.Info); }
private void ft_NodeChildrenNeeded(object sender, FastTreeNS.NodeChildrenNeededEventArgs e) { var path = e.Node as string; //root ? if (path == null) { //return driver's list e.Children = DriveInfo.GetDrives().Select(d => d.RootDirectory.FullName).ToList(); return; } //path is not dir ? if (!Directory.Exists(path)) return; //get subdirs and files string[] dirs, files; try { dirs = Directory.GetDirectories(path); files = Directory.GetFiles(path); } catch { return;//UnauthorizedAccessException } e.Children = dirs.Concat(files); }
private void ft_NodeTextNeeded(object sender, FastTreeNS.StringNodeEventArgs e) { var path = e.Node as string; e.Result = Path.GetFileName(path); if (string.IsNullOrEmpty(e.Result)) e.Result = path; }
private void fl_ItemForeColorNeeded(object sender, FastTreeNS.ColorItemEventArgs e) { switch (e.ItemIndex % 20) { case 5: e.Result = Color.Red; break; case 15: e.Result = Color.Silver; break; } }
private void fl_ItemTextNeeded(object sender, FastTreeNS.StringItemEventArgs e) { switch(e.ItemIndex % 20) { case 5: e.Result = "Readonly item " + e.ItemIndex + ". You can not check/uncheck this item."; break; case 15: e.Result = "Disabled item " + e.ItemIndex + ". You can not select this item."; break; default: e.Result = "Regular item " + e.ItemIndex; break; } }
private void ft_DropOverNode(object sender, FastTreeNS.DragOverItemEventArgs e) { var draggedNodes = (e.Data.GetData(typeof(HashSet<object>)) as HashSet<object>).ToList().Cast<Node>(); var targetNode = e.Tag as Node; // switch(e.InsertEffect) { case FastTreeNS.InsertEffect.AddAsChild: AddChild(draggedNodes, targetNode); break; case FastTreeNS.InsertEffect.InsertBefore: InsertBefore(draggedNodes, targetNode); break; case FastTreeNS.InsertEffect.InsertAfter: InsertAfter(draggedNodes, targetNode); break; } ft.Build(root); }
private void ft_DragOverNode(object sender, FastTreeNS.DragOverItemEventArgs e) { var draggedNodes = (e.Data.GetData(typeof(HashSet<object>)) as HashSet<object>).ToList().Cast<Node>(); var targetNode = e.Tag as Node; //check if targetNode is child of draggedNodes foreach(var n in draggedNodes) if (targetNode.IsChildOf(n) || n == targetNode) return; // e.Effect = e.AllowedEffect; if(e.X > e.TextRect.Left + 50) e.InsertEffect = FastTreeNS.InsertEffect.AddAsChild; else if(e.Y < e.TextRect.Top + 10) e.InsertEffect = FastTreeNS.InsertEffect.InsertBefore; else e.InsertEffect = FastTreeNS.InsertEffect.InsertAfter; }
private void fl_ItemIndentNeeded(object sender, FastTreeNS.IntItemEventArgs e) { if (e.ItemIndex == 5) e.Result = 30; }
private void fl_ItemIconNeeded(object sender, FastTreeNS.ImageItemEventArgs e) { if (e.ItemIndex == 1) e.Result = DateTime.Now.Millisecond > 500 ? null : imageList1.Images[0]; }
private void fl_ItemTextNeeded(object sender, FastTreeNS.StringItemEventArgs e) { e.Result = list[e.ItemIndex].Name; }
private void fl_ItemCheckedStateChanged(object sender, FastTreeNS.ItemCheckedStateChangedEventArgs e) { list[e.ItemIndex].Checked = e.Checked; }
private void fl_ItemDrag(object sender, FastTreeNS.ItemDragEventArgs e) { fl.DoDragDrop(e.ItemIndex, DragDropEffects.Copy); }
private void ft_NodeIconNeeded(object sender, FastTreeNS.ImageNodeEventArgs e) { var path = e.Node as string; e.Result = File.Exists(path) ? Resources.default_icon : Resources.folder; }
private void fl_ItemExpandedStateChanged(object sender, FastTreeNS.ItemExpandedStateChangedEventArgs e) { expandedItemIndex = e.Expanded ? e.ItemIndex : -1; fl.BuildNeeded(); }
private void fl_ItemCheckStateNeeded(object sender, FastTreeNS.BoolItemEventArgs e) { e.Result = list[e.ItemIndex].Checked; }
private void fl_ItemHeightNeeded(object sender, FastTreeNS.IntItemEventArgs e) { if (e.ItemIndex == 10) e.Result = 40; }
private void fl_ItemTextNeeded(object sender, FastTreeNS.StringItemEventArgs e) { e.Result = "Item " + e.ItemIndex; }
private void ft_NodeChildrenNeeded(object sender, FastTreeNS.NodeChildrenNeededEventArgs e) { e.Children = GenerateNodes(e.Node as string, 100000); }