void arbolFromProyecto(TreeView tree, Proyecto p) { foreach (ProyectoGrupo pGrupo in p.grupos) { TreeNode tnGrupo = new TreeNode(); tnGrupo.Text = pGrupo.nombre; if (tnGrupo.Text != FONDO) tnGrupo.ContextMenuStrip = cMenuGrupo; tnGrupo.ForeColor = (tnGrupo.Text == FONDO) ? Color.Gray : Color.DarkBlue; foreach (ProyectoItem pItem in pGrupo.items) { TreeNode tnItem = new TreeNode(pItem.nombre); tnItem.Text = pItem.nombre; if (tnItem.Text != FONDO) tnItem.ContextMenuStrip = cMenuItem; tnItem.ForeColor = (tnItem.Text == FONDO) ? Color.Gray : Color.DarkGreen; if (tnItem.Text != FONDO) { TreeNode tnItemImagen = new TreeNode(); tnItemImagen.Text = "Imagen:" + pItem.imagen; tnItemImagen.Tag = pItem.imagen; TreeNode tnItemLink = new TreeNode(); tnItemLink.Text = "Link:" + pItem.link; tnItemLink.Tag = pItem.link; tnItem.Nodes.Add(tnItemLink); tnItem.Nodes.Add(tnItemImagen); } tnGrupo.Nodes.Add(tnItem); } tree.Nodes.Add(tnGrupo); } }
Proyecto proyectoFromArbol(TreeView treeView) { Proyecto proyecto = new Proyecto(); foreach (TreeNode tnGrupo in treeView.Nodes) { ProyectoGrupo pGrupo = new ProyectoGrupo(); pGrupo.nombre = tnGrupo.Text; foreach (TreeNode tnItem in tnGrupo.Nodes) { ProyectoItem pItem = new ProyectoItem(); pItem.nombre = tnItem.Text; foreach (TreeNode linkAttr in tnItem.Nodes) { if (linkAttr.Text.StartsWith("Imagen:")) pItem.imagen = linkAttr.Tag.ToString(); else if (linkAttr.Text.StartsWith("Link:")) pItem.link = linkAttr.Tag.ToString(); ; } pGrupo.items.Add(pItem); } proyecto.grupos.Add(pGrupo); } return proyecto; }