/// <summary> /// Constructor /// </summary> public FolderExplorerComponentControl(FolderExplorerComponent component) { InitializeComponent(); _component = component; _folderTreeView.Tree = _component.FolderTree; _folderTreeView.DataBindings.Add("Selection", _component, "SelectedFolderTreeNode", true, DataSourceUpdateMode.OnPropertyChanged); _folderTreeView.MenuModel = _component.FoldersContextMenuModel; _component.SelectedFolderChanged += _component_SelectedFolderChanged; }
public void SetComponent(IApplicationComponent component) { _component = (FolderExplorerComponent)component; }
/// <summary> /// Constructor. /// </summary> /// <param name="explorer"></param> public FolderTreeRoot(FolderExplorerComponent explorer) : base(explorer, null, new Path("", null)) { }
/// <summary> /// Constructs a tree item binding. /// </summary> /// <param name="explorer"></param> /// <returns></returns> private static TreeItemBinding<FolderTreeNode> GetBinding(FolderExplorerComponent explorer) { var binding = new TreeItemBinding<FolderTreeNode> { NodeTextProvider = node => node.Folder.Text, IconSetProvider = node => node.Folder.IconSet, TooltipTextProvider = node => node.Folder.Tooltip, ResourceResolverProvider = node => node.Folder.ResourceResolver, CanAcceptDropHandler = explorer.CanFolderAcceptDrop, AcceptDropHandler = explorer.FolderAcceptDrop, CanHaveSubTreeHandler = node => node.CanHaveSubTree, IsExpandedGetter = node => node.Expanded, IsExpandedSetter = (node, expanded) => node.Expanded = expanded, SubTreeProvider = node => node.GetSubTree() }; return binding; }
/// <summary> /// Constructor. /// </summary> /// <param name="explorer"></param> /// <param name="parent"></param> /// <param name="path"></param> public FolderTreeNode(FolderExplorerComponent explorer, FolderTreeNode parent, Path path) { _explorer = explorer; _parent = parent; _subTree = new Tree<FolderTreeNode>(GetBinding(_explorer)); // always start with container folder SetFolder(new ContainerFolder(path, true)); }