Ejemplo n.º 1
0
        } // onClose

        /// <summary>
        ///     Método que se invoca siempre que se selecciona un nuevo nodo
        ///     en el árbol de directorios que se muestra en el formulario.
        ///     El método recupera el nodo recuperado y lo añade al control
        ///     encargada de visualizar la información sobre el elemento
        ///     actualmente seleccionado.
        /// </summary>
        /// <param name="sender">
        ///     Este parámetro se incluye por conformidad con el
        ///     perfil de la operación a implementar, de acuerdo con las
        ///     especificaciones de la plataforma. No se utilizada para
        ///     nada en este caso concreto.
        /// </param>
        /// <param name="e">
        ///     Objeto que contiene diversa información acerca del nodo
        ///     seleccionado. En este caso se utiliza para recuperar el
        ///     nodo seleccionado.
        /// </param>
        /// <pre>(e != null) && (e.Node != null)</pre>
        private void onElementSelected(object sender, TreeViewEventArgs e)
        {
            // Este casting indeseable es causa de una mala implementación
            // del control TreeView. Creando una clase genérica TreeView<T>
            // se podría haber evitado. Dicha clase pertenece a la biblioteca
            // de controles para aplicaciones de escritorio de .NET
            SparrowNode selected = (SparrowNode)e.Node;

            this.spv_ElementViewer.SparrowElement = selected.ReferencedElement;
        } // onElementSelected
Ejemplo n.º 2
0
        } // onElementSelected

        #endregion

        #region Métodos privados de soporte

        /// <summary>
        ///     Genera un árbol de nodos con la visualización del
        ///     sistema de archivos.
        /// </summary>
        /// <param name="fs">
        ///     El sistema de archivos que debe ser pasado a un árbol
        ///     de nodos.
        /// </param>
        /// <returns>
        ///     Un árbol de nodos correspondiente al sistema de archivos
        ///     pasado como parámetro.
        /// </returns>
        /// <pre>(fs != null)</pre>
        protected TreeNode SistemaArchivo2Node(ElementoSistema fs)
        {
            // Creamos el nodo raíz
            TreeNode result = new SparrowNode(fs);

            // Añadimos los hijos al nodo raíz
            // Para ello iteramos sobre los hijos del raíz
            foreach (ElementoSistema s in fs.Archivos)
            {
                // Construimos el árbol correspondiente al hijo actual
                TreeNode newChild = SistemaArchivo2Node(s);
                // Añadimos ese hijo a la colección de hijos del nodo
                // raíz
                result.Nodes.Add(newChild);
            } // foreach

            return(result);
        } // SistemaArchivo2Node