Beispiel #1
0
        public Option <IEnumerable <ModelEntity> > Select(PackageTree entities)
        {
            entityTree.Nodes.Clear();
            entityTree.Nodes.Add(CreateNode(entities));

            var res = ShowDialog();

            if (res == System.Windows.Forms.DialogResult.OK)
            {
                return(Options.Some(SelectedEntities(entityTree.Nodes.Cast <TreeNode>())));
            }
            else
            {
                return(Options.None <IEnumerable <ModelEntity> >());
            }
        }
Beispiel #2
0
        private TreeNode CreateNode(PackageTree entityTree)
        {
            var node = new TreeNode(
                entityTree.Entity.ToString(),
                entityTree.Children.Select(CreateNode).ToArray());

            if (entityTree.Selectable)
            {
                node.ImageIndex         = 0;
                node.SelectedImageIndex = 0;
            }
            else
            {
                node.ForeColor          = SystemColors.GrayText;
                node.ImageIndex         = 2;
                node.SelectedImageIndex = 2;
            }
            node.Tag = entityTree;
            node.Expand();

            return(node);
        }