/// <summary>
        ///		Cambia el nombre de un archivo
        /// </summary>
        internal bool Rename(FileModel file, string newFileName, string title)
        {
            IPluginSourceEditor plugin = Search(file);

            // Ejecuta la acción con el plugin localizado
            if (plugin != null)
            {
                return(plugin.Rename(file, newFileName, title));
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        ///		Ejecuta una acción sobre un plugin
        /// </summary>
        internal bool ExecuteAction(ProjectDefinitionModel definition, FileModel file, MenuModel menu)
        {
            IPluginSourceEditor plugin = Search(definition.Extension);

            // Ejecuta la acción con el plugin localizado
            if (plugin != null)
            {
                return(plugin.ExecuteAction(file, menu));
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        ///		Llama a un plugin para abrir un archivo
        /// </summary>
        internal bool OpenFile(ProjectDefinitionModel definition, FileModel file, bool isNew)
        {
            IPluginSourceEditor plugin = Search(definition.Extension);

            // Abre el archivo con el plugin localizado
            if (plugin != null)
            {
                return(plugin.OpenFile(file, isNew));
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        ///		Carga los hijos de un nodo
        /// </summary>
        internal OwnerChildModelCollection LoadOwnerChilds(FileModel file, OwnerChildModel parent)
        {
            IPluginSourceEditor plugin = Search(file);

            // Ejecuta la acción con el plugin localizado
            if (plugin != null)
            {
                return(plugin.LoadOwnerChilds(file, parent));
            }
            else
            {
                return(new OwnerChildModelCollection());
            }
        }
 /// <summary>
 ///		Añade un plugin al diccionario
 /// </summary>
 internal void Add(string project, IPluginSourceEditor plugin)
 {
     _dctPlugins.Add(ComputeKey(project), plugin);
     _isDirty = true;
 }