private ITreeNode CreateTreeNode(object o, TreeNodeDesigner des, TreeNodeDesigner parentDes) { var node = tree.CreateNode(); node.Tag = des; node.Expand(); des.Services = Services; des.Host = this; des.TreeNode = node; des.Component = o; des.Parent = parentDes; des.Initialize(o); return node; }
private TreeNodeDesigner CreateDesigner(object o) { if (o == null) return null; TreeNodeDesigner des = o as TreeNodeDesigner; if (des != null) { if (des.Component != null) { o = des.Component; } } if (des == null) { var attr = o.GetType().GetCustomAttributes(typeof(DesignerAttribute), true); if (attr.Length > 0) { var desType = Type.GetType( ((DesignerAttribute) attr[0]).DesignerTypeName, true); des = (TreeNodeDesigner) Activator.CreateInstance(desType); } else { des = new TreeNodeDesigner(); } } mpitemToDesigner[o] = des; return des; }